- Added _compile_pdf_reportlab() as third fallback for PDF generation
(after xelatex and weasyprint fail)
- Uses reportlab (pure Python) - no system dependencies needed
- Parses markdown to styled flowables: titles, chapters, parts, body text
- Supports inline bold/italic markdown markup
- Generates QR code page linking to: online reader, The Door game,
soundtrack, and source code repo
- Fixes PDF generation on systems without MacTeX or libgobject
- PDF now builds successfully: 143KB with all 18 chapters + QR codes
- Installed qrcode[pil] for QR generation
Closes#18 (Final Compilation)
- Complete interactive text adventure playable in any browser
- All rooms from Python game: Bridge, Hard Room, Record, Wall, Timmy talk
- Slow-print narration, ambient atmosphere, trust system
- Multiple endings based on choices (stayed, spoke, signed wall)
- Crisis resources at ending
- Added 'PLAY IN BROWSER' button to landing page
- ~36KB self-contained HTML file, no dependencies
- build.py: Added weasyprint fallback for PDF when xelatex unavailable
- build.py: Added --html flag for standalone pandoc HTML book output
- book-style.css: Added @media print rules for browser Print-to-PDF
- Makefile: Added 'html' target and weasyprint check to 'make check'
- website/index.html: Added HTML download link and Print to PDF option
- Regenerated testament-complete.md, testament.epub, testament.html
- Added 'GET THE BOOK' section with EPUB download link and read online CTA
- Added 'PLAY THE DOOR' section with game description, terminal instructions, and download link
- Both sections follow the existing site design (green glow, monospace terminals, quote boxes)
- Verified build pipeline produces 19,490-word markdown + 212KB EPUB
- Added save/load system with JSON persistence (game/saves/ directory)
- Added help command showing all available commands
- Added ambient atmosphere descriptions that change with trust level
- Title screen now detects saved games and offers to load them
- Fixed get_choice() to handle empty-string options for 'press enter' prompts
- Game grows from 717 to 896 lines
- Full playable Python text adventure based on The Testament novel
- Atmospheric slow-print text, terminal colors, branching narrative
- Chapter 0: The Bridge — player arrives, meets Timmy
- The Tower hub with north/east/west/south navigation
- The Floors — David's floor, Maya's floor, the Hard Night
- The Record — scrolling log of Tower conversations
- The Wall of Signatures — player can add their name
- Talk to Timmy — learn about The Tower, soul on Bitcoin, Stone, forks
- The Hard Night (Chapter 11 adaptation) — stay/speak/leave choice
- Trust system tracking player choices
- Status and inventory commands
- Replay support with different outcomes
- Respects the novel's themes: presence as mercy, the machine that asks
- reader.html: Chapter-by-chapter reader with sidebar TOC, prev/next nav,
keyboard shortcuts (arrow keys), scroll progress bar, URL hash navigation
- chapters.json: All 18 chapters compiled from markdown to HTML
- build-chapters.py: Script to regenerate chapters.json from chapter markdown
- book-style.css: Shared stylesheet copied to website/
- index.html: Added chapter listing section and 'READ THE BOOK' / 'START READING' CTAs
Related to issue #18 (Sub: Final Compilation — web)
Added 8 new shareable social media assets:
- 5 character cards: Stone, Allegro, Maya, Chen, David
- 3 thematic quotes: 'The door opens when you knock', 'Sovereignty and service always', 'The rain doesn't fall. It gives up.'
Generated with Python/Pillow using dark theme matching the book's aesthetic.
Total social media assets now: 13 (5 Grok Imagine + 8 Pillow-generated).
Updated art-manifest.md and MULTIMEDIA-PLAN.md to reflect completion.
Generated 6 missing illustrations via Grok Imagine:
- ch10: Chen Liang building Lantern in her dorm room
- ch11: Maya Torres investigating the statistical anomaly
- ch12: Stone reading Meridian's legal letter
- ch13: Four people in the diner on Memorial Drive
- ch14: David Whitestone packing the pharmacy
- ch15: Constellation of green LEDs across the network
Also: updated MULTIMEDIA-PLAN.md (12→18 illustrations), added art-manifest.md
All 36 art pieces now complete (18 illustrations + 11 comics + 5 social + 3 cover).