Material render to default: cutaway occlusion, top caps, palette sweep (ROADMAP #27). master
Implements wiki/interface/material-render.md (READY -> IMPLEMENTED, all seven criteria). The HD-2D material render becomes the default Bevy physical view; F3 flips to the flat sensorium and back, frontend-only, never saved. Debts paid: fog-gated south-face cutaway parapets (chosen over a 55 degree pitch by screenshot comparison; unknown neighbors keep full height so wall height leaks no unscouted layout), dedicated darkened top caps on all extruded boxes (TilePart::Top, pooled), b1 tile palette sweep (door/UPS/HVAC/switch hue-remapped off the stale purple/teal lair palette; audit clean), fog_audit_3d asserting the fog contract on every harness capture (unknown=absent geometry, model=unlit, seen=lit, people coverage-gated, pool size reported), and material zoom clamps tightened to 0.25-1.6 so the framing floor holds at both zoom bounds. Meshes pool alongside materials and handle-swap; no per-tile asset churn in the frame loop. Defense: material-render.md is the approved art spec for this flip ("this spec drives the material render from prototype to the game's default physical view"; Cameron's prototype verdict, 2026-07-07), and its constitution line binds the render to "Two views of one world" via views.md's same-frame contract: same anchors, same fog, same UI in both dialects, which this pass preserves (the flip changes no sim state and the sensorium remains byte-identical one F3 away). The occlusion, top-cap, and framing work discharges bevy-visual-floor.md's contract in material mode (no postage stamp, readable interiors, deliberate sensor darkness), and the fog audit mechanizes "Justification and legibility": the render shows no unearned fact, now asserted on every capture run. The palette sweep enforces the clinical-gore identity (amber = machine presence, no stale lair purple/teal) at the asset level. views.md itself stays READY: its digital-home default governs the future two-view mechanic; this commit sets only the treatment of the Bevy physical canvas, exactly the scope material-render.md criterion 7 assigns.