Skip to content

Add standard block shape vocabulary#114

Merged
ogyrec-o merged 1 commit into
mainfrom
feat/issue-113-block-shape-vocabulary
May 19, 2026
Merged

Add standard block shape vocabulary#114
ogyrec-o merged 1 commit into
mainfrom
feat/issue-113-block-shape-vocabulary

Conversation

@ogyrec-o

Copy link
Copy Markdown
Member

Summary

Adds SDK-level public vocabulary for canonical block shape semantics.

This introduces reusable types for:

  • block-local normalized shape boxes;
  • canonical block shape faces;
  • per-side occlusion masks;
  • per-side side-solid/support masks;
  • collision boxes;
  • selection boxes;
  • shape validation errors.

The vocabulary is re-exported through freven_world_guest_sdk alongside the existing block descriptor vocabulary.

Why

freven-engine#321 added the first engine-side canonical shape foundation, but long-term shape/collision/selection semantics should not remain engine-private.

The SDK needs shared vocabulary that can be consumed by engine runtime, game-owned authoring profiles such as freven.vanilla:blocktypes_v1, world/avatar APIs, and mod-facing tooling.

Details

  • Adds BlockShapeFace.
  • Adds BlockShapeBox.
  • Adds BlockShapeSideMask.
  • Adds BlockShapeDescriptor.
  • Adds BlockShapeValidationError.
  • Supports full cube, half block, and multi-box shapes.
  • Keeps render mesh identity separate from collision/selection/query shape data.
  • Keeps renderer/runtime ids out of public shape vocabulary.
  • Re-exports the new vocabulary from freven_world_guest_sdk.

Validation

  • cargo +stable fmt --all -- --check
  • cargo +stable test --locked -p freven_block_sdk_types -p freven_world_guest_sdk
  • cargo +stable clippy --locked -p freven_block_sdk_types -p freven_world_guest_sdk --all-targets -- -D warnings

Closes #113.

@ogyrec-o ogyrec-o self-assigned this May 19, 2026
@ogyrec-o ogyrec-o enabled auto-merge (squash) May 19, 2026 08:24
@ogyrec-o ogyrec-o disabled auto-merge May 19, 2026 08:25
@ogyrec-o ogyrec-o merged commit d676beb into main May 19, 2026
1 check passed
@ogyrec-o ogyrec-o deleted the feat/issue-113-block-shape-vocabulary branch May 19, 2026 08:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Standard block shape collision query vocabulary v1

1 participant