- The Trestle intro comm now fires on the first discovered world (the
starter quest's own witness, `discoveredWorldCount`) instead of the
first planet in a foreign system, so the comm and the quest can never
drift; delayMs drops to 0 so it lands at the moment of discovery.
- The scene's `busy()` contract is now comm-type-aware: audio-only comms
(voice, no box, no pause) ride over in-progress actions like mining or
a scan sweep, while ack/visual comms still wait; modal windows and a
jump in flight block every type.
- Add the `comms-mine` dev harness that walks the type-aware busy
contract (free scene → real mining → audio comm mid-mining → jump) and
update the trestle dev scripts/tests to the new trigger and witness.
- Arm the pair on scene-create for loaded saves that already hold
discovered worlds, and widen the cdp-shot ready dump.
- Add ice-shop art/video assets.
- Introduce the `firstForeignPlanet` trigger: when the player discovers a planet in a non-home system, Trestle (new out-of-system mentor character) delivers a two-part ack comm pair (meetup + quest claim), with dedicated video and speech assets.
- Make audio cache keys folder-scoped so characters with identically-named clips (e.g. both having `intro-01.mp3`) don't collide in the loader.
- Add an amber pulsing attention cue (halo + staggered sonar rings) on the ACKNOWLEDGE button for ack comms, driven per-frame from CommsBox.update().
- Put the ActionBar deck into a standby state while an ack comm holds: slots go inert (no hover/press), dimmed visually; re-arms when the comm ends. GameScene wires this via `actionBar.setEnabled()` each frame based on `comms.paused`.
- Extend MenuButton to accept a custom border color so the ACK button can wear the box's amber against the cyan UI.
- Add dev self-check harnesses (`comms-trestle.mjs`, `comms-trestle-hold.mjs`) and update existing tests to cover the new pair, folder-scoped keys, deck standby behavior, and pulse animation.
- Disable browser module caching in CDP probe/shot scripts to avoid stale ES modules shadowing on-disk changes during dev testing.