GuiBannerResultRenderer's flag model and pattern layers, lit with
Lighting.Entry.ITEMS_FLAT and clipped to the 20x40 rectangle, through the
GUI item pipeline. The block entity render harness gains loom result cases
(the oracle submits vanilla's renderToTexture under the PiP pose): 407/407.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Campfires and brushable blocks resolve their items (empty here) through the
context's ItemModelResolver, which was null. End gateways read the level for
their beam (max y, game time) and visible faces, so they get a stub level
with the case's neighbours, light, build height and game time. New cases
cover gateways spawning, cooling down and settled against neighbours, and
End portals beside the same neighbours.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Move the beam geometry into block_entity_render::beacon_beam so the
block entity render harness can replay it against vanilla submit calls
(positions, UVs and colours of the solid beam and glow per section).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add a differential harness (test_block_entity_render_parity) whose Java
oracle runs each vanilla BlockEntityRenderer on a real block entity and
captures the submitted model vertices, textures, light and text calls.
Horizon now animates shulker lids, bell shakes, active conduits (cage,
wind and the camera-facing eye), skull jaws and ears, pot wobble and
sherd sides; signs wrap lines like StringSplitter and measure spaces
with the font; books use the Mth sine table and player heads the slim
default skin.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>