Since 26.x a model texture can be an object {"sprite": ..., "force_translucent": ...}
instead of a string. The block-model DTO only accepted strings, so those
models failed to load and rendered as the grey fallback cube: redstone
wire and every glass block and pane (110 models). Accept both forms in
ModelResolver (shared with ItemGeometry).
Edge-case test plugin: redstone/glass scene.
Blockstate "y" rotations turned the geometry counter-clockwise while the
faces were re-assigned clockwise (vanilla). Every east/west variant of an
asymmetric block ended up mirrored on the wrong side of its cell: shelf
mushrooms and ladders floated away from their support, stairs faced
backwards. Rotate clockwise like vanilla, adjust element-rotation axes,
and turn up/down face textures with the model unless uvlock is set.
Edge-case test plugin: shelf mushroom (side + top view) and rotated-block
scenes.
- dump entity models straight from the unobfuscated client jar
(tools/VanillaModelDump.java, tools/update-vanilla-models.sh): models posed
by vanilla setupAnim, baby/variant/layer models, renderer transforms,
default textures, pose variants (sitting, holding items, illager arms)
and all layer definitions; the old CEM template is only a fallback now
- fix adult zombies captured as babies, zero-thickness planes (wings,
fins) and back faces in the entity intersector
- held items, head items (pumpkins, skulls), shields, elytra, saddles and
body equipment for every mount, armor following the pose
- block/item/text display entities, dropped items, falling blocks, primed
TNT, minecart contents, block entities inside displays, leash ropes
- item models resolved from the 26.x item definitions with display
transforms; generated items extruded like vanilla
- bundle the vanilla font definitions as fallback so sign/text rendering
works with packs that lack font/*.json
- one failing entity no longer aborts the whole photo
- edge-case test plugin (tools/edgecase-plugin) and offline harnesses