The tree fixture world now applies vanilla's edge shape updates for its
obstacles (faceless vines, unsupported short grass), the vanilla fixture
world answers environment attributes with defaults, and features that
need structure templates or the pale moss registry, directly or through
named features, are left to the decoration harnesses. The scene probes
build their scene with World::test_scene since TestWorld was removed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Oracles reference shared helper oracles (heightmap, level shape...) that
javac could not find when only the entry files were listed. Also let
chunkgen_bench list unsupported features (HORIZON_LIST_UNSUPPORTED=1).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Unit tests pin Java HashSet bucket iteration, Fisher-Yates draw order and
the seed-derived End spike layout. The oracle ignores sounds, level
events and entity queries; the Rust fixture accepts end-gateway
configuration; FEATURE_FILTER limits a rerun to matching features.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Adds minecraft:speleothem_cluster (Column scans, pools, merged tips) and
minecraft:large_dripstone (wind offsets, base embedding, height curve).
The differential harness now resolves named features and placed features
lazily on the Java side, logs dungeon loot/spawner block entities, uses
the world seed and survival rules, and exercises every other configured
feature over surface, cave, flooded-cave, ocean and nether worlds.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Decodes every vanilla 26.3 tree, fallen_tree, ore and scattered_ore
configured feature from the authenticated JAR, places each with both
random kinds over layered synthetic worlds backed by native proto-chunk
sections, and compares ordered writes, beehive occupants, post-processing
marks, results, random tails and the final block diff with Rust.
First run: 2783 of 3018 fixtures identical; every ore fixture matches.
The remaining differences are StructureTemplate.updateShapeAtEdge
neighbor shape updates (faceless vines and unsupported plants beside the
tree), which the Rust world hook does not yet implement.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>