Changelog
v1.7.1
2026-04-14
- Background ambient music mixed into narration via ElevenLabs Music API + ffmpeg
- New mix-narration.js script with configurable volume, intro/outro delay, fade in/out
- Voice-only narration preserved as backup (*-narration-voice.mp3)
- April 9 narration updated with mixed version (dark medieval ambient track at 30%)
- ElevenLabs client timeout bumped to 120s for longer scripts
v1.7.0
2026-04-14
- Narration recap promoted to first-class UI: Recap tab in session navigation (conditional, like Gallery)
- "Previously, on Mostly Mortals..." featured card on homepage above session listing
- Headphones badge on session cards linking directly to recap page
- Recap page now uses Session layout with full tab navigation (was standalone Base layout)
- Recap page is now discoverable (removed noindex, shareable URL)
- New LatestRecap.astro component auto-selects most recent narrated session
- Session card markup refactored to support independent badge link
v1.6.2
2026-04-10
- Structured image prompt recipe (INPUTS, CHARACTER REFERENCES, CORE COMPOSITION, VISUAL EFFECTS, COLOR SYSTEM, STYLING, LAYOUT DETAILS, CONSTRAINTS, NEGATIVE)
- Recipe documented in docs/mechanics/image-prompt-recipe.md
- generate-images.js updated to parse recipe format (backwards compatible with legacy)
- All 9 session images regenerated with recipe prompts (GPT + NB2)
- Storytelling captions replace technical descriptions in gallery
- /process-session updated to use recipe format and separate captions from prompts
v1.6.1
2026-04-10
- Phased validation in /process-session (3 phases: Combat & Events, Items & Quests, Best Moments & Images)
- Deep banter pass: best moments now explicitly extracted as Quotable Quotes, D&D Highlights, and Table Culture
- Audio pipeline auto-detects garbled Whisper chunks and retries with WhisperX fallback
- Unified audio pipeline script (process-audio.sh) with .audio/ directory structure
- WhisperX venv rebuilt for current project path
v1.6.0
2026-04-06
- Added Session Stats bar to player summary page (crits, fails, kills with Lucide icons)
- Stats extracted from transcript during /process-session with validation pass
- Stats stored as optional frontmatter in player-summary files
- DM stats section shown only when DM rolled crits or fails
- Cleaned up duplicate site/openspec directory and added working directory rules to CLAUDE.md
v1.5.0
2026-03-21
- Every present character now guaranteed inclusion in Player Summary, Session Gallery (8-10 images), and narration recap
- Image prompt count bumped from 6-8 to 8-10 to ensure full party coverage
- Pipeline instructions updated to flag missing characters during validation
v1.4.2
2026-03-16
- Added collapsible "Read the narration" transcript on recap page
- Narration text cleaned of Audio Tags and SFX markers for readable display
v1.4.1
2026-03-16
- Fixed dark mode audio player visibility on recap page (inverted controls for contrast)
v1.4.0
2026-03-16
- Added "Previously on Mostly Mortals..." AI narration via ElevenLabs v3
- Custom "Old Adventurer" voice designed in ElevenLabs Voice Design for v3
- `/narrate` command generates dramatic recap scripts with v3 Audio Tags ([excited], [sarcastic], [curious], [sighs], [whispers], [clears throat])
- Three voices available: Old Adventurer (default), Clint, Oxley via `--voice` flag
- Hidden `/recap` page for sharing narrations with players (noindex, not linked)
- NarrationPlayer component with Grimoire-themed audio player
- Script review and approval step before audio generation
v1.3.2
2026-03-16
- Extended left page edge effect (spine line + gradient) through footer for seamless visual flow
- Updated site URL to custom domain mostly-mortals.bydom.io
v1.3.1
2026-03-15
- Added MM shield logo to site navigation bar
- Added favicon, apple-touch-icon, and PWA icons generated from logo
- Added web manifest for mobile "Add to Home Screen"
- Added OG and Twitter card meta tags using hero image for link previews
v1.3.0
2026-03-15
- Added Quest Log with accordion UI, Lucide icons, status badges, progress fractions
- Added "Current" quest highlighting with gold glow
- Added manual sort order for quests via `sortOrder` field
- Added Hooks & Leads section with CircleHelp icons
- Added section navigation (Party / Quests / Hooks / Sessions) with smooth scrolling
- Added completed quests section at 50% opacity
- Migrated 7 quests from knowledgebase to structured content collection
- Updated `/process-session` with quest extraction, validation, and dual-file updates
v1.1.0
2026-03-15
- Added AI image generation pipeline (`scripts/generate-images.js`)
- Added GPT Image 1.5 (default), Nano Banana 2, and Nano Banana Pro model support
- Added `--compare` flag for side-by-side model testing
- Added Session Gallery page with GLightbox for full-size viewing
- Added GPT Image 1.5 / Nano Banana 2 model toggle on gallery
- Added image prompt extraction with framing types (wide/closeup/extreme) to `/process-session`
- Updated content schema with optional `images` array
- Generated 6 images for March 12 cemetery/Mexos session
v1.0.0
2026-03-14
- Initial release of the Mostly Mortals campaign website
- Astro static site with "The Grimoire" parchment theme (dark/light toggle)
- Homepage with hero banner, party roster, and session list
- Player Summary, Best Moments, and hidden DM Summary pages
- Session Timeline and Detailed DM Timeline sections
- Content collections with Zod schema validation
- Manual deploy to Vercel via CLI