16 Commits
Author SHA1 Message Date
Claude a723f465e2 Checkpoint ambient display, generative experience, and MIDI work 2026-09-10 10:52:36 -07:00
ClaudeandClaude Sonnet 5 977d348c4f Rename in-app IP references and rewrite README for end users
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
2026-09-04 21:16:11 +00:00
ClaudeandClaude Sonnet 5 9dc48e94d9 Fix silent telemetry soundboard buttons before first engage
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
2026-09-04 20:06:50 +00:00
ClaudeandClaude Sonnet 5 b3407812a1 Ignore .env
Keeps local Gitea credentials out of the tracked tree going forward.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01582UUCEBExzp3oK3Spz1Xx
2026-09-04 19:52:31 +00:00
ClaudeandClaude Sonnet 5 292d3cd916 Sync sound_reference.md and telemetry_elements.md with Phase 3 audio work
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
2026-09-04 17:21:53 +00:00
Claude 057b155a61 Regenerate standalone display from current source 2026-09-04 09:43:45 -07:00
Claude 4ff47b3884 Implement Phase 3 audio gaps: continuous beds (zocalo chatter, teletype chatter, heterodyne drone) 2026-09-04 09:43:35 -07:00
Claude 9d1bc7b743 Implement Phase 3 audio gaps: complex multi-stage one-shots (transporter, flak, breech, docking, tape spooler, teletype) 2026-09-04 09:40:23 -07:00
Claude 42d6007445 Implement Phase 3 audio gaps: bespoke telemetry era engines (who/bioship/belter) 2026-09-04 09:38:06 -07:00
Claude 71252ff84f Implement Phase 2 audio gaps: 25 medium-difficulty synthesizers and ambient loops
- 23 new ExpandedSciFiAudioSynth methods + 2 WhoniverseAudioSynth methods
  covering audio_gaps.md rows #21-#45: Cardassian door, turbolift, replicator,
  scanner activation, console type clatter, Vorlon song, neural-bond swell,
  hull regen, Belter jury-rig telemetry, hull strain moan, Icarus beacon,
  void whisper, Beryllium thrum, Omega-13, repulsorlift drone, Bebop chug,
  carousel groan, slipstream surge, O2 regulator, pipe drips, steam vent,
  crash-couch gimbal, HAL respiration, Death Blossom, Cygnus piston chug
- Keyed ambient-loop registry (_scheduleLoop/_stopLoop) replacing ad-hoc
  timer fields; stopAllLoops clears registry plus legacy timers
- Single startPresetAmbience funnel in app.js engages ambience per preset on
  engage/switch and tears down on full stop; whoniverse ambience stopped on
  every preset change
- All 10 universe soundboards rebuilt (6-8 buttons each, span-2 Belter
  telemetry); NEURAL PULSE event now fires the real neural-bond swell
- TelemetrySynth era routing intentionally untouched (Phase 3 scope); docs
  updated in audio_gaps.md and sound_reference.md
2026-09-04 08:49:58 -07:00
Claude f2776885c9 Implement Phase 1 audio gaps: 20 quick-win procedural sounds and ambient loops
- 18 low + 2 low-medium discrete elements (comm badge, door swishes, bosun
  whistle, sickbay ECG, TARDIS lever/door, Sevastopol sparks, commlock tone,
  station ECG, solar roar, cryo sigh, Orion thump, tea dispenser, kettle
  whistle, plaid alarm, cassette transport, grappler servo, radio static,
  mag-boot latch) with soundboard buttons, preset tuning, and automated
  background loops
- bio-wraith misty life-support tuning; sound_reference.md and audio_gaps.md
  implementation tracking
- gitignore audition scratch and local artifacts
2026-09-04 08:32:36 -07:00
Claude 19ff051d58 Regenerate standalone display from current source 2026-09-03 23:56:30 -07:00
Claude 198081706c Add distinct theme core animations and fix retro redraw 2026-09-03 23:54:27 -07:00
ClaudeandClaude Haiku 4.5 97b0faa4a6 Add sound reference documentation and fix air-handler/docking-clamp duplicate
- 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
2026-09-04 05:08:04 +00:00
Labyricorn d04016850c Initial commit 2026-09-03 21:09:32 -07:00
Labyricorn dd5d020635 Initial commit 2026-09-03 21:08:03 -07:00