Commit Graph
23 Commits
Author SHA1 Message Date
Tim Evans 984f60c633 Event 95: add GM app — A Question of Singularity 2026-05-17 22:39:13 +01:00
timevans666 276dbe4470 GM apps: embed Midjourney art into Event 91 and Event 92 apps
Event 92 — Last Train to Coney Island:
- Header background: 92-ART-01-cover.png
- All 15 scene img: paths updated from 'images/' to 'assets/'
- Scene-to-art mapping:
  intro → van-cortlandt-murder | a1_cemetery → black-conductor
  a1_witness → creed-portrait | a1_butchers → platform-sprint
  a1_sweep → reflection-vision | a1_train → subway-car-interior
  a2_96th → platform-sprint | a2_wards/broadcast/unionsquare → third-rail-sigil
  a2_darkride/freeze → reflection-vision | a3_brooklyn → subway-car-interior
  a3_strike → vale-portrait | a3_terminal → stillwell-terminal

Event 91 — The Night Crawler:
- Act hero images at top of each act panel (200px banner):
  intro → 91-ART-01-cover | act1 → 91-ART-02-the-slab
  act2 → 91-ART-04-the-junction | act3 → 91-ART-06-primary-node
- Location-level artwork in detail panes:
  Room 4 (Reth's squat) → 91-ART-03-reth-squat (160px header)
  Feed Corridor (bodies) → 91-ART-05-three-bodies (160px header)
2026-05-17 19:05:25 +00:00
timevans666 2120334937 Event 91: Scene art batch (6 images) — Night Crawler now fully illustrated
Scene art added:
  91-ART-01 Cover: aerial Neo-Ashford, arcology towers / Undertow neon
  91-ART-02 The Slab: dystopian market, child and the note
  91-ART-03 Reth's squat: wall of notes, corkboard, the photograph
  91-ART-04 The Junction: filament hub, six figures tiny below
  91-ART-05 Three bodies: Feed Corridor, ribcages opened like flowers
  91-ART-06 Primary node: through gallery glass, entity spreading

Combined with existing 5 NPC portraits — scenario now has complete art coverage
2026-05-17 19:00:28 +00:00
timevans666 a3409cb331 Event 92: Full Midjourney art batch (11 images) + master prompts doc
- scenarios/art/event-92/ — all 11 images, named and indexed in README
- apps/event-92-last-train/assets/ — same set, ready for app embedding
- scenarios/midjourney-prompts-master.md — master prompts for all 8 scenarios

Art covers:
  01 Cover (tunnel run / Conductor)
  02 Van Cortlandt murder
  03 Platform sprint
  04 Reflection vision
  05 Lester Creed portrait
  06 The Black Conductor (entity)
  07 Third Rail Choir sigil
  08 Sister Marion Vale portrait
  09 Stillwell Avenue terminal
  10 Brass token (prop/handout)
  11 Subway car interior (bonus)
2026-05-17 18:50:50 +00:00
ChaosiumCon Prep 3a3c2d6170 Event 96: embed all 8 Midjourney art assets — cover, market, Serenthis, Ghresh-Ka, vault, storm, choice, woven band 2026-05-17 16:58:33 +00:00
slaguru666andClaude Sonnet 4.6 dd88c00c9a Add Storm of Kelen's Pact GM app (Stormbringer)
Single-file HTML GM tool for the Thursday 2pm ChaosiumCon UK 2026 session.
Covers timer, act pacing, NPC cards, clue tracker, handouts, player stat tracker (HP/POW/PP), reference tables, and pinboard.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 16:52:08 +01:00
ChaosiumCon Prep 8d7d83a83a Event 96: GM companion app (1743 lines) + Midjourney art prompts (8 assets) 2026-05-17 15:03:44 +00:00
slaguru666andClaude Sonnet 4.6 2247286a72 Add .gitignore — exclude portable self-contained HTML builds
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 13:06:33 +01:00
timevans666 f2d9cf793f Event 93: Add all 13 artwork images — NPCs, scenes, props in GM app and scenario markdown 2026-05-15 15:01:52 +00:00
timevans666 af5626e65e Event 93: Fix contrast — all text elements now ≥4.5:1 WCAG AA on dark backgrounds 2026-05-15 14:37:59 +00:00
timevans666 a82bae1b8a Event 93: Complete GM app — Watcher stats, H5 incantation, failure states, player names, clock fix 2026-05-15 13:47:26 +00:00
timevans666 628a8589d4 Event 93: Fresh-eyes review — add failure state (midnight) + Codex destruction contingencies 2026-05-15 13:31:43 +00:00
timevans666 b2966e2c20 Event 93: Not Another Telegram — full scenario doc + GM app
- Complete scenario markdown with full stat blocks for all 6 pre-gen investigators
- Full GM companion HTML app (standalone, offline-ready)
- Manifestation meter (5-pip tracker) replacing entity presence
- Tone management guide (comedy-to-horror transition per act)
- Henderson's arc preserved as central tragic beat
- Midnight deadline clock mechanic
- All handouts embedded (H1-H4) with period-appropriate styling
- Clue tracker, SAN tracker, full NPC roster with secrets
- 11 Midjourney prompts in established style
2026-05-15 13:27:33 +00:00
timevans666 17d066a466 Event 159: Add real artwork assets + update app
Artwork (9 images — reportage ink sketch style):
- 159-ART-01: Aerial view, South Bank, figures fleeing, smoke
- 159-ART-02: Bus crash crowd scene, Southwark Street
- 159-ART-03: Market stall closing shutters, crowd panic
- 159-ART-04: Lone figure standing in river — the wrong stillness
- 159-ART-05: Narrow Bermondsey Street, survivors moving south
- 159-ART-06: Blue Anchor pub interior, crowded survivors
- 159-ART-07: Tower Bridge approach, Pete and the Bridge Group
- 159-ART-08: Bankside Pier RIB, night, fire reflections
- 159-ART-09: Character portraits sheet, 8 figures, ink sketch

App updates (index.html):
- SVG placeholder portraits replaced with real image sheet crops
  (CSS overflow:hidden + absolute positioning, 4-col×2-row grid)
- Portrait enlarged view uses same crop system at 3× scale
- Act I locations: bus crash, market, river figure images embedded
- Act II locations: Bermondsey Street, Blue Anchor images embedded
- Act III routes: Tower Bridge, Bankside Pier images embedded
- Home screen: portrait sheet as cover/hero image
- New Art Gallery screen (🖼 nav item) — all 9 images in labelled grid
- showArtwork() fullscreen viewer from any image in the app
- closeHO() resets inner panel styles correctly

Assets stored in:
  apps/event-159-day-one/assets/
  scenarios/art/event-159/
2026-05-14 23:03:28 +00:00
slaguru666 7894e56bdf Event 92: Last Train to Coney Island — full scenario doc + GM app 2026-05-14 23:02:11 +01:00
timevans666 bbeac491aa Event 159: Day One — GM companion app
- Emergency red / signal amber palette (vs Night Crawler's cyberpunk cyan)
- NHS Emergency Alert full-screen simulation (📱 ALERT button)
- Reportage ink-sketch SVG portraits for all 6 major NPCs
- Live session timer with hard deadline alerts at 1:15, 2:15, 2:30, 3:05
- 12-clue tracker with essential/optional tagging and fallback notes
- 10 handouts with act-tagged cards and ⛶ Show to Players mode
- 6 PC stat trackers: HP/SAN/MP adjusters, Bitten/Injured/Insane/Dead flags
- Acts screen: tabbed Intro/I/II/III/Epilogue with all beats, social media feeds, fast-tracks
- SAN quick-reference modal from any screen
- GM-only truth panel (Meridian Biosciences/COBR backstory)
- LocalStorage persistence for all session state
- Touch-optimised, 48px targets, responsive sidebar/bottom-nav
2026-05-14 20:07:44 +00:00
timevans666 9296bdd467 Event 91: fix all JS errors - missing functions, duplicate declarations, malformed structure
Issues fixed:
1. buildNPCs (and 23 other functions) were missing — lost when the ACT_DATA
   block replacement accidentally deleted the switchAct→renderRefContent section
2. Duplicate const REF_DATA declaration (old literal + new JSON.parse version)
3. Stray </body></html> embedded inside the script content from prior botched edit
4. Final unescaped apostrophe: 'don\'t' in renderActContent

All 40 functions confirmed present. Node --check: ZERO SYNTAX ERRORS.
2026-05-14 19:11:57 +00:00
timevans666 84fdbfa614 Event 91 Night Crawler: fix all JavaScript syntax errors
Root cause: ACT_DATA and REF_DATA objects were built using Python
string escaping that left unescaped apostrophes in single-quoted JS
strings (Reth's, entity's, don't, it's, Jed's, Sable's etc.) and
at least one unclosed template literal causing downstream parse failures.

Fix: ACT_DATA and REF_DATA are now stored as proper JSON in
<script type='application/json'> tags and loaded via JSON.parse().
All text content uses HTML entities for apostrophes and special chars.
Zero escaping ambiguity possible.

Node.js --check confirms: NO SYNTAX ERRORS.
Backtick count now 28 (even = all template literals properly closed).
2026-05-14 15:44:09 +00:00
timevans666 8034555b37 Event 91 Night Crawler: full app rebuild v3
Complete rebuild addressing all feedback:

LAYOUT
- Two-column layout for 13" laptop/tablet (200px sidebar + content)
- Sidebar collapses to bottom nav on narrow screens (<800px)
- CSS grid with proper areas, no overflow hidden tricks
- All touch targets min 48px, adj buttons 42×42px

READABILITY
- --text: #eeeefc, --text-sub: #b8b8d8, --text-muted: #7878a0 (captions only)
- Base 15px, card body p 15px, headings 16-18px
- No dark text on dark background anywhere
- Goal boxes, callouts, pacing notes all use --text
- Stat blocks use --text-sub (not dim)
- Generous line-height 1.55-1.75 throughout

FULLSCREEN OVERLAYS (portraits + handouts)
- ALWAYS has visible '← Back' button at top-left of screen
- Back button is cyan bordered, large (min 48px), obvious
- Portrait overlay: image fills available height, centered
- Handout overlay: scrollable text, readable 17px serif
- Both have 'Mark Shown to Players' action button
- Shown state persists and shows on card

STATE TRACKING (new)
- Locations: tap to mark visited (green dot + strikethrough)
- Clues: tap cycles pending → found → missed with color
- NPCs: 'Mark Introduced' button, shows ✓ badge
- Handouts: 'Mark Shown' on card and in overlay
- Portraits: 'Mark Shown' button in overlay
- Clue progress badge on nav: X/7 essential found
- All state persists in localStorage

PINNING SYSTEM (new)
- Pin any NPC to home screen quick-access bar
- Pinned items appear as large amber buttons at top of Home
- One-tap access to most-needed items mid-session
- Unpin with ✕ button

SESSION NOTES
- Textarea per act for GM notes during session
- Persists in localStorage

ACTS
- Location items are tappable with 'Details' button
- Details panel expands inline below location
- Visited locations get checkmark + strikethrough
- Notes field at bottom of each act
2026-05-14 15:27:28 +00:00
timevans666 137a7a9d57 Event 91 Night Crawler: UI pass — readability, touch targets, portrait fullscreen
Text / colour improvements:
- --text-dim: #7070a0 → #9898bc (much more readable on dark bg)
- --text: #d0d0e0 → #e2e2f0 (brighter base text)
- --text-bright: #f0f0ff → #f5f5ff
- body font-size 14px → 15px
- goal-box text now --text (was --text-dim = near-invisible)
- stat-block-row text now --text (was --text-dim)
- san-note text: #ff4444 red raised to #ff7070 (readable on dark bg)
- All card body p: 14px, line-height 1.6
- mechanic/san-note/pacing-note: 12px → 13px
- ref-table: 12px → 13px, th colour --text-dim → --text
- handout terminal colour raised: #00bb88 → #00cc88
- handout content base colour raised: #c8c0a8 → #d4cbb0
- card-subtitle: 11px → 12px
- value: 13px → 14px

Touch target improvements:
- Nav buttons: min-height 52px → 64px, icon 18px → 22px
- Card headers: padding 12px → 16px, min-height 58px added
- Timer buttons: padding 12px → 16px, font 12px → 14px, min-height 54px
- Dashboard buttons: padding 14px → 18px, icon 22px → 28px, min-height 82px
- Clue items: padding 12px → 16px, check 24px → 32px, min-height 60px
- Stat ctrl buttons: 28×28px → 38×38px, font 14px → 18px
- Status tags: font 9px → 11px, padding 2px → 5px 10px, min-height 30px
- Act tabs: padding 6px → 10px 18px, min-height 42px
- Handout headers: padding 12px → 16px, min-height 62px
- Overlay close buttons: min-height 50px+

NPC portrait tap-to-fullscreen:
- Tap any NPC portrait to open full-screen image view
- Portrait overlay fills screen, image fills height
- Name shown in footer bar with large close button
- For showing artwork to players at the table
- portrait::after shows 'TAP TO SHOW' hint on press
2026-05-14 15:07:14 +00:00
timevans666 ea9b51a74f Event 91 Night Crawler: real NPC portrait artwork embedded
Five Midjourney-generated NPC portraits in dystopian noir illustration style
replacing previous placeholder SVG artwork.

Characters and artwork:
- Sable Morn: dramatic black/white ink wash portrait, high collar coat,
  looking past viewer, extreme chiaroscuro from above
- Damos Reth: gaunt figure in data vest, glowing eyes, underground tunnel,
  haunted expression
- Jed Osler: behind the bar, amber light, mechanical prosthetic arm on
  counter, watchful presence
- Dr Yava Chen: reading glasses, hands clasped, laboratory setting,
  analytical intensity with unsettling quality
- Scratch: young woman, glowing amber cybernetic eye, rainy dystopian
  cityscape, street fighter stance

Assets:
- Embedded as base64 JPEG data URIs in app (280x373, 14-25 KB each)
- Full-resolution versions in scenarios/art/event-91/npc-*.jpg (600px wide)
- All artwork generated with Midjourney per art direction in scenario doc

App now 225 KB total, fully self-contained.
2026-05-14 14:56:55 +00:00
timevans666 19e67919a5 Event 91 Night Crawler: NPC portraits added to app and art assets
- 5 ink sketch portrait SVGs embedded directly in app (no external files)
  - Sable Morn: silver hair, eyes looking past viewer, cyan jaw comms ridge
  - Damos Reth: sunken eyes, stubble, filament tracery on hands
  - Jed Osler: broad shoulders, chunky hydraulic prosthetic arm
  - Dr Yava Chen: reading glasses, filament bg, faint cyan iris tint
  - Scratch: amber optical replacement eye, reflex tap wrist interface
- Portrait CSS added to app: npc-portrait + npc-card-inner layout
- buildNPCs() updated to render portrait in card header
- Standalone art asset: scenarios/art/event-91/npc-portrait-gallery.svg
  per 91-ART-07 in artwork assets table
- App now 100KB, fully self-contained, no internet required
2026-05-14 14:28:35 +00:00
timevans666 188e0b0893 Event 91 Night Crawler: standalone GM companion app (HTML)
Single-file GM app per app-template spec. All data embedded, no internet required.

Screens:
- Home: session dashboard, timer, checkpoint table, player roster
- Acts: tabbed panels (Intro / Act I / Act II / Act III / Epilogue) with all
  locations, key mechanics, pacing notes, moral choice breakdown
- NPCs: all 7 NPCs with physical description, motivation, what they know,
  stat blocks, disposition colour coding (friendly/neutral/hostile/compromised)
- Clues: tap-to-cycle tracker (none/found/missed) for all 7 essential + 6
  optional clues, with fallback triggers
- Handouts: all 5 handouts with fullscreen player-facing display mode;
  styled per type (normal / handwritten / terminal)
- Players: HP/SAN/PP tracker with +/- controls and status tags for all 6 PCs
- Reference: SAN table, skill rolls, BRP quick-reference, entity mechanics

Features:
- Live session timer with hard deadline alerts at 2:15 and 3:05
- Progress bar with act labels
- SAN quick-reference modal from any screen
- LocalStorage persistence for PC stats and clue tracking
- Dark noir theme: black bg, cyan/amber neon accents
- Touch-optimised, 48px tap targets, one-hand operable
2026-05-14 13:53:11 +00:00