Repository navigation
Add interactionShapes without changing collision geometry - #125
Conversation
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
left a comment
There was a problem hiding this comment.
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.
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: