Apply the ship/vessel and terminology rename mappings throughout the
live app (index.html, css/style.css, js/*.js) and reference docs, per
Ship_IP_Changes.md and Theme_Terminology_IP_Changes.md, including:
- Ship/theme names and generic terminology (Starfleet, LCARS, Warp
Core, TARDIS, etc.) in both code strings and visible UI text, while
leaving internal code identifiers (theme keys, CSS classes, preset
IDs) untouched.
- Made "Species 8675309" canonical and fixed the dotted T.A.R.D.I.X.
acronym on the Whataverse theme.
- Replaced the per-preset era/pulseShape franchise tag in the preset
list with the existing safe universe category name, since those
codes are also used functionally by the audio and observation
engines and weren't covered by either mapping document.
Also rewrite README.md to lead with end-user ambience usage (how to
run it, universe/vessel overview, mixer channels, sleep timer,
observation mode, hotkeys) with the developer/build notes moved into
a collapsed section.
Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Jt872nc9Fi2WMaJhAKGyDq
TelemetrySynth.gainNode was only ever created inside start(), which is
only called from the main ENGAGE/FULL STOP flow. Every telemetry-driven
soundboard one-shot (LCARS Single/Double Chirp, Ack Sequence, Sensor
Sweep, the TOS/NX/Cardassian era sounds, Door Chime, and the Phase 3
who/bioship/belter era generators) guarded on `!this.gainNode` with no
fallback, so clicking any of them before the ambient bed had been
engaged once did nothing at all: no sound, no console error, and
nothing for the spectrum analyzer to react to.
ExpandedSciFiAudioSynth and WhoniverseAudioSynth already self-heal this
way via their own init() (called at the top of every public synth
method) - that's why buttons like Comm Badge work standalone. Add the
same init() to TelemetrySynth and call it from every method reachable
from the soundboard, so the whole class follows the same convention.
start() is left untouched: it still unconditionally rebuilds the node
on every engage so a newly-selected preset's volume takes effect
immediately.
Verified with a small headless harness driving TelemetrySynth directly
(no prior start()): all 13 affected methods now create gainNode and
fire real oscillators on first call, where they previously did nothing.
Confirmed against the pre-fix code that the same harness reproduces the
original silent failure. Regenerated dist/SciFiAmbientDisplay_v4.html
to match (tools/package.ps1 requires PowerShell, unavailable in this
shell, so the inlining was replicated in Python matching its exact
output convention; diff against the previous build is exactly the 31
added lines, nothing else).
Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01582UUCEBExzp3oK3Spz1Xx
Phase 3 shipped bespoke who/bioship/belter telemetry eras, the transporter/
flak/breech/docking/tape-spooler/teletype one-shots, and the zocalo/teletype/
heterodyne continuous beds, but the two reference docs still described those
as outstanding gaps or "Phase 3 scope". Add Phase 3 additions sections per
universe and correct the now-stale preset/era tables.
Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01582UUCEBExzp3oK3Spz1Xx
- Add sound_reference.md (937 lines): Real-world production reference covering Star Trek (TOS–ENT), Doctor Who/Whoniverse, Bioships (six ships across five franchises), and Space Stations (six stations across five sources).
- Add agents.md: Project architecture guide (file ownership, load order, conventions).
- Add telemetry_elements.md: Catalog of 10 telemetry elements with per-era selection weights and preset-by-preset routing.
- Add visual_elements.md: Canvas/SVG split architecture, layer declarations, per-theme casts.
- Fix duplicate soundboard mapping: Separate 'AIR HANDLER THUD' from 'DOCKING CLAMP LATCH'. Create ExpandedSciFiAudioSynth.synthesizeAirHandlerThud() (dull triangle-wave thump + sub-octave + slow airflow whoosh) distinct from synthesizeDockingClamp() (bright square-wave impact + pneumatic hiss). Update js/app.js to wire btn-air-handler to the new method.
Key findings:
* All 70 presets across 10 universes use Star Trek telemetry eras only — cross-universe borrowing is structural, not accidental.
* Doctor Who TARDIS demat correctly implements Brian Hodgson's 1963 technique (piano strings + tape feedback).
* Sevastopol Station's production sound design (Jeff van Dyck, Pinewood foley) is the best-documented non-Trek entry.
* The Expanse's "jury-rigged" Belter signature (Nelson Ferreira) is the single most actionable production detail found.
Co-Authored-By: Claude Haiku 4.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01NbMozG2xjcgLBia8vrzTrr