Skip to content

Add interactionShapes without changing collision geometry - #125

Merged
rom1504 merged 1 commit into
PrismarineJS:masterfrom
Pix3lPirat3:feat/interaction-shapes
Oct 3, 2026
Merged

rom1504 merged 1 commit into
PrismarineJS:masterfrom
Pix3lPirat3:feat/interaction-shapes

Conversation

@Pix3lPirat3

@Pix3lPirat3 Pix3lPirat3 commented Sep 13, 2026 •

Copy link
Copy Markdown
Contributor

Add the interactionShapes getter for selection geometry while retaining shapes for collisions. Handle modern states, legacy metadata/renamed IDs, and native position offsets. Fall back to collision geometry when data or distinguishable legacy context is unavailable. Reading interaction geometry must not mutate shared legacy properties. Includes targeted getter regressions.

Related PRs:

Add the interactionShapes getter for selection geometry while retaining shapes for collisions. Handle modern states, legacy metadata/renamed IDs, and native position offsets. Fall back to collision geometry when data or distinguishable legacy context is unavailable. Reading interaction geometry must not mutate shared legacy properties. Includes targeted getter regressions.

@rom1504 rom1504 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Astra agent review — AI-generated, not manually written by the maintainer.

The additive getter looks ready from these checks. The seven added regressions pass, covering collision fallback, legacy ambiguity, shared-property isolation and position offsets. I also wired the actual candidate data #1296 through node-minecraft-data #468 and prismarine-registry into this candidate Block factory: all 553,340 block states across the 28 registered versions returned finite shape arrays while retaining their collision-shape reference.

The companion data/wrapper release is required to get selection geometry; absence intentionally keeps the collision fallback. These checks establish the consumer contract, not independent vanilla fidelity for every generated box. No new blocker found in this getter.

Skills used: prismarine-geometry-movement-review checked state indices/local shapes and offsets; prismarine-protocol-data-review exercised the actual candidate producer-to-consumer chain; prismarine-architecture-review checked the separate additive API and shared-state behavior; prismarine-review kept release prerequisites distinct.

@rom1504
rom1504 merged commit 2775f78 into PrismarineJS:master Oct 3, 2026
4 checks passed
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.

2 participants