Round 4 orders 1-5:
- ghost keys demolition off setGhost's `mode` arg; the '__remove' sentinel is
ignored and REMOVE_DEF is gone from this lane.
- locked-build ghost: padlock-amber (not occupied-red — "not yet" and "not
here" are different sentences) + a padlock tinted by the gating era. Needed
a new ERA_TELL palette: ERA_SKIN.tint is a multiplier tuned to leave DATA's
chassis alone, so it can't carry a signal (stream is #ffffff).
- aura.ts: cooling coverage as a dashed RECTANGLE. coolRadius is chebyshev, so
the cooled region is the footprint grown by r per side; a circle would look
better and lie about the corners.
- lab placeholder: bench + the "bottled artifact triptych" (§2); consumes
MachineDef.accent when present, derivation stays the fallback.
Also:
- buffer fill reads bandwidth.capacity (v4) instead of re-summing bufferCap —
a second copy of the sim's arithmetic is what the scram latch warned about.
- lock rule matched to LANE-UI's reading: absent research means nothing has
completed, so gated machines padlock. Mine said the opposite; theirs is the
literal contract text, and the build bar and ghost disagreeing on the same
screen is worse than either answer.
- showroom fitted to BOTH axes. Round 3's depth-only fit collapsed the item
grid to one 206-tile row once the machine hall grew and ate the depth.
Verified against DATA's real v4 data and UI's migrated flow: 6x6 aura on
asic-cooler, reel/broadcast era tells, lab accent #ffc24a from data, 29
machines + 60 items in the showroom, 500 entities + 2,000 items at 3.6ms.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>