✓ 10 procedural SFX via Web Audio API — zero asset files
SFX inventory — SoundManager.js
playBossEntry — 38→110 Hz freq sweep
playBossHit — descending blip
playBossKill — C5→E6 arpeggio
playWaveIntro — boss drone / normal pulse
playBreach — triple alarm (game over)
playRespawn — G4→C5→G5 rise
playMilestone — minor pentatonic fanfare
playSpinTick — reel click (80ms interval)
playCardReveal — upgrade land tone
playPause — soft descend beep
Fable 5 Story Bible · Delivered + Integrated
Complete
✓ Wave intro lines 51–100 — in WAVE_INTRO_LINES
✓ Pilot dossiers — LODESTAR / BULWARK / AUDIT in characters.js
✓ TIDE-01 "SOUNDING" → TIDE-12 "ANTECEDENT" in config.js
✓ Milestone speeches 25/50/100/250/500/1000 — on intro cards
Original handoff prompt (archived)
You are the narrative writer for VOID TIDE, a retro space shooter
(Space Invaders tone, Phaser 3, endless wave ladder). The AI mascot
is The Warden — a sentinel who briefs pilots before each wave.
VOICE: Terse. Military. Urgent. Short clipped sentences. No metaphors.
Think mission briefing, not poetry.
EXISTING LINES — match this tone exactly:
Wave 1: "Orbital sensors confirm contacts. This is not a drill."
Wave 12: "This is what holds the rift open. Kill it and it closes."
Wave 25: "Wave 25. You should be dead. Keep going."
Wave 40: "Wave 40. You've outlived every model the Void built."
DELIVER FOUR THINGS — paste-ready JavaScript format:
━━━ 1. WAVE_INTRO_LINES — waves 51 through 100 ━━━━━━━━━━━━━━━━━━━━
Format:
51: "line text",
52: "line text",
...
100: "line text",
Rules: The Warden speaks directly to the pilot. Build cumulative dread
+ reluctant respect. Reference: the rift widening, the Void learning
the pilot, The Warden's growing alarm at what the pilot has become.
━━━ 2. PILOT DOSSIERS — 3 files (~90 words each) ━━━━━━━━━━━━━━━━━━━
Pilots:
Vega — balanced, agile instincts
Frank — tanky brawler, deliberate under fire
Ms. Rivera — skill maximizer, lighter loadout, highest brag mult
Mission-file format per pilot:
NAME · DESIGNATION · SHIP CLASS
TACTICAL PROFILE
KNOWN TENDENCIES
WARDEN ASSESSMENT
━━━ 3. BOSS DESIGNATIONS — TIDE-01 through TIDE-12 ━━━━━━━━━━━━━━━━━
Bosses appear at waves 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48.
Format: ['TIDE-01', 'TIDE-02', ... 'TIDE-12']
Escalation: early = probes, middle = commanders,
late = things without human names.
━━━ 4. MILESTONE_LINES — waves 25, 50, 100, 250, 500, 1000 ━━━━━━━━━
Format: { 25: "text", 50: "text", 100: "text",
250: "text", 500: "text", 1000: "text" }
Tone: The Warden acknowledges something unprecedented has happened.
Reluctant respect. Growing alarm at what the pilot represents.
✓ App Store name, subtitle, description (Warden voice)
✓ Keyword set (97 chars) + promo text rotation
✓ 6 screenshot captions, in shoot order
✓ What's New v1.0 blurb
✓ Social launch posts — X / caption / Discord variants
✓ Voice rules for all future copy
Session 3 · Ship · v0.4.0
In Progress
✓ App icon + splash generated from the Warden reticle (iOS/Android/PWA)
✓ GDPR consent banner — gates analytics, only shows if GA4 configured
✓ Privacy policy page (public/privacy.html) — COPPA-safe language
✓ Offline leaderboard fallback — stale cache beats blank board
✓ Capacitor android + ios scaffolded; android buildable from Windows
✓ Web manifest + favicon fixed (previously 404'd, didn't exist)
Blocked — needs a Mac (iOS only)
→ pod install, Xcode signing, App Store Connect submission — full checklist in docs/SHIP-READINESS.md
Achievable from Windows right now
→ Android Studio + signed .aab + Google Play Console ($25 one-time) — cheaper & faster first release than iOS. Needs a JDK/SDK install first (checked: neither present on this machine yet).
✓ Fixed the long-reported "stuck at wave 4" bug — every boss spawn crashed silently since the very first commit (invalid method call on the HP bar)
✓ Fixed a celebration double-fire that could permanently soft-lock a run on any multi-level-up wave
✓ Full readability + copy-clarity audit — every HUD element now has proper contrast/stroke
✓ Terms of Service page (public/terms.html)
✓ Pilot call-sign content filter — sanitizes public leaderboard names at every entry point, including the rival-share link and raw Supabase rows
✓ Both legal pages now linked directly on the Menu screen
Verified against the actual production build
→ Full playthrough (menu → all 3 pilots → wave 1 through a boss kill → wave 5) run against the minified deployed bundle, not just the dev server — zero errors
Visual + Typography Overhaul · v0.5.0
Complete
✓ Two-face typography — Press Start 2P (titles, boss names, score popups) + Space Mono (body/HUD), replacing generic Courier New everywhere
✓ 4-tier text contrast scale, WCAG-checked (old grays measured as low as 4.26:1, failing AA)
✓ Procedural vignette + soft neon glow on hero text (WebGL FX, safe no-op on Canvas)