31 Commits
Author SHA1 Message Date
timevans666 5527f41241 Directive 19: post-session update — live play discoveries + cinematic rewrite
LIVE PLAY UPDATES (from first session at Voss building)

Voss scene — Act I:
- Bodyguard kills differentiated: Payne = Wren's clean signature,
  Velasco = Sera's messier work — she fought back and got skin under her nails
- NEW CLUE #13: CCTV footage — Charlise retrieved 34 seconds from the
  partially-missed east lobby cam: two women entering 22:40, coordinated,
  neither looks at the camera
- NEW CLUE #14: Skin under Velasco's nails — female, mid-twenties, not on
  record; Sera is carrying that wound right now
- Charlise added as key NPC in the scene: building manager who pulled the
  CCTV and building access logs, calm, professional, cooperative

Judge Ostrow scene — Act I:
- NEW WITNESS: Michelle — sex worker, sedated not killed, found the body,
  still in holding room. She saw the jaw scar. She heard Ostrow say the name.
- NEW CLUE #15: Ostrow said 'Wren' — he recognised his killer before she
  reached him and didn't try to run or call for help
- Ostrow scene updated to include Michelle's presence and testimony

NEW NPCs:
- Charlise: Building Manager, Bradbury Tower. Stats, disposition arc,
  GM note. Uses Marisol image (closest match) — placeholder for real art.
- Michelle: Witness. High Empathy/Insight (she reads people for a living).
  GM note contains the critical detail she holds back: Ostrow said 'Wren.'

NEW HANDOUT: BR19-H00-C — CCTV Stills
  LAPD evidence format, 34-second partial recovery, two subjects described
  frame by frame, analyst note flagging coordinated movement, forensic cross-
  reference to Velasco nail DNA, Subject B favouring left arm on exit

CLUE TRACKER updated:
  - Essential clues now 11 (was 8) — 3 new live-play discoveries added
  - Clues 13, 14, 15 pre-marked as found (state:1) since they were
    discovered in session
  - Clue #4 updated: 'two killers — different techniques' replaces
    'different prints' (more specific to what was found)

CINEMATIC STORY REWRITE:
  All five chapters rewritten for screen-prose quality. Present-tense
  opening. Camera-movement structure. Shorter paragraphs, harder cuts.

  Chapter 1 (The Past): opening paragraph positions the Blackout as
  sensory presence; tighter; cell decision rendered as a single shot.

  Chapter 2 (now 'The Night It Begins'): fully rewritten to include the
  actual play events — Charlise in the lobby, Velasco's wound, Michelle
  in the holding room, Ostrow saying 'Wren.' The key moment is Michelle's
  testimony rendered as the chapter's closing pull-quote.

  Chapter 3 (now 'The Trail Opens'): consolidated trail; Halden rendered
  in a single economic paragraph ('the point of Halden is not what he
  does in this room'); Sera's arm wound visible as continuity detail.

  Chapter 4 (The Tower): tighter, harder, more present-tense rhythm.

  Coda: cut to minimum — the image, the decision, Greer, and Wren walking.
2026-05-22 23:14:37 +00:00
timevans666 015f28f7f8 Directive 19: add player introduction website
Single-file standalone player-facing site — 7.6MB, offline-capable.
Embedded: 9 images + Neon Rain Trough ambient soundscape (base64 MP3).

Sections:
1. HERO — LA 2037 establishing shot fullscreen with animated rain
   overlay, DIRECTIVE / 19 Orbitron title with neon flicker, scenario
   tagline in italic, hero chips (6 players / one night / LA 2037),
   scroll hint
2. THE CITY — Two-column: city prose with amber drop-cap (Blackout,
   Wallace monopoly, Nexus-8 underground, rain, the mayoral race) +
   five detail cards (Blackout 2022, Wallace, Nexus-8s, weather, race)
3. WHO YOU ARE — Rep-Detect division, what a Blade Runner is, the
   human/replicant dynamic, the Retirement mechanic (Promotion Points
   vs Humanity) in a warning box. Noodle bar image with caption.
4. THE CALL — Centred dispatch box styled as LAPD terminal output,
   03:14:22 timestamp, full opening read-aloud without spoilers
5. YOUR TEAM — 3×2 character portrait grid. Each card: portrait photo,
   Human/Nexus-9 badge, name, role, atmospheric description (no hooks,
   no stats, no spoilers), years on the force. Human = amber,
   replicant = magenta.
6. THE SHAPE OF THE NIGHT — salt-flats parallax background, what the
   players know going in, the DIR-019 neon stamp

Design: same CRT scanlines (drift + tear + refresh sweep), Orbitron/
Rajdhani/Share Tech Mono/Noto Sans JP stack, warm amber palette,
kanji decorations, rain animation on hero, scroll-reveal on all key
elements via IntersectionObserver, tonight section parallax scroll,
sound button with fade-in (45% volume, requires user click).
2026-05-22 15:57:13 +00:00
timevans666 908cdc7da6 Directive 19 companion: add lead trail connectors to all Act scenes
All 12 scenes across Acts I, II, and III now have a 'why go here'
lead-trail strip displayed before each scene card.

Each strip has two lines:
- WHY: plain English reason the PCs are here (what drives them)
- LEAD: the specific clue, event, or mechanic that sends them

Act I leads:
  Voss Penthouse    → Duty call — Greer routes the 03:14 alert
  City Morgue       → Second body (Ostrow) found same night, same mark
  Lin Ai's Bar      → Marisol Yu mentions her / DIR-019 graffiti on Fairfax
  Volkov phones     → Lin Ai gives Volkov's address; then he calls first

Act II leads:
  Volkov's Clinic   → His call cut mid-sentence at the end of Act One
  Pham's Marina     → Last living name on Lin Ai's list of nine
  Saltgrove Whouse  → Three paths: Pham's confession / Ostrow's files / Sera
  Sera's Ambush     → She comes to them — GM picks the moment
  Jeopardy Beat     → Not a destination — Halden has been working too

Act III leads:
  Sandoval 88th     → Wren's H02-B note: SANDOVAL. 21:00 — 88.
  Sandoval Roof     → Sera told them about the broadcast (if captured)
                      OR building management terminal flags relay hack
  The Terrace       → Wren moves there; the right PC follows naturally

CSS: .lead-trail (amber left border, gradient bg), .lead-why (body),
.lead-clue (monospace, LEAD: prefix in amber), .lead-none fallback
2026-05-22 15:18:07 +00:00
timevans666 a1bb7677ed Directive 19 companion: add Voss victim profile + personnel file handout
VOSS VICTIM PROFILE (in NPCs section)
- Full victim dossier card with red border and VICTIM — BODY #1 marker
- Three-tab layout: Timeline / Embedded Clues / GM Note
- Timeline: 9 entries from 1991 service start through 21 Mar 2037 death
- Embedded Clues: 6 expandable clue items (Pelican Holdings timing,
  2027 Director's Commendation outside chain of command, retirement
  timing, Payne & Velasco deaths, the unlocked panic room, the phone
  call 40 minutes before time of death)
- GM Note: the moral weight of Voss — he was complicit, but he also
  picked up the phone and left the panic room undisturbed
- 'OPEN PERSONNEL FILE' button links directly to Handout H00-B

NEW HANDOUT: BR19-H00-B — Voss Personnel File
- LAPD personnel file styled in bank/terminal format
- Redacted 2027 Special Operations assignment
- Director's Commendation authorised by Deputy Mayor's Office —
  classification ABOVE TOP SECRET
- Post-service career: Voss Security Consulting → Cortez campaign
- Financial anomalies flagged: Pelican Holdings 2k/month 10 years
- Known associates: Payne & Velasco — both retired Oct 2027, both on
  payroll within 3 weeks, both dead with Voss
- Forensic Accounting examiner notes calling out all four red flags
- H00-B added to handout grid with 'shown' tracking

ACT I WIRE-UP
- Voss Penthouse scene details include two clickable inline buttons:
  '▸ VIEW VOSS VICTIM PROFILE' (navigates to NPCs section) and
  '📄 PULL PERSONNEL FILE BR19-H00-B' (opens handout modal)
2026-05-22 14:24:26 +00:00
timevans666 4e53fc9eb4 Directive 19: add full interactive GM companion app with embedded artwork
Single-file standalone HTML companion app — 6MB, offline-capable,
all 27 images base64-embedded (14 portraits + 13 locations).

Sections:
- Hero/Cover: LA 2037 establishing shot as fullscreen background,
  scenario title with neon flicker, tagline, quick-nav tiles
- Timer: sticky bar with progress segments, act-checkpoint alerts,
  counts to 3:30, hard alerts at 2:45 and 3:15
- Story: 5 illustrated prose chapters (The Past / The Players Arrive /
  The Hunt / The Tower / The Closing Image) with location images
- Acts: three tabbed act views, each with collapsible scene cards,
  scene photography, atmos tags, key details, mechanic callouts,
  pacing notes, session checkpoint table
- Characters: 6 PC cards with portraits (Stats / Biography / Mods
  tabs), full stat blocks with die badges, personal hooks, health/
  resolve boxes, replicant magenta / human cyan visual distinction
- NPCs: 8 NPC cards with portraits (Stats / Notes / Gear / Terrace
  tabs), threat level badges, disposition arcs, GM-warning boxes,
  Wren's terrace lines with the structural-escape reminder
- Locations: illustrated gallery grid (13 locations), tappable full-
  screen lightbox with atmospheric descriptions and scene details
- Clues: tracker (pending → found → missed), essential progress bar,
  optional and fallback sections, localStorage persistence
- Handouts: tile grid with 6 handouts, full-screen modal with
  distinct paper styles (terminal / aged / handwritten / bank /
  broadcast), shown/unshown state tracked
- Reference: 6 tables (ratings, key skills, stress dice, V-K results,
  outcomes matrix, Promotion vs Humanity)
- CRT effects: scanline drift, occasional horizontal tear, rolling
  refresh sweep; Orbitron / Rajdhani / Share Tech Mono fonts;
  kanji/katakana worldbuilding decorations throughout

Portraits: Iris Kovac, Marc Esposito, Saoirse Lin, Dmitri Vance,
  Talia Ostrow, Cole Whitford, Wren, Halden, Mayor Cortez, Sera Park,
  Lt Greer, Lin Ai, Det Hara, Marisol Yu

Locations: LA 2037 establishing, Bradbury interior, Voss penthouse
  top-down, City Morgue, Lin Ai's Noodle Bar, Volkov's Clinic,
  Pham's Marina, Saltgrove Warehouse, Parking Structure, Sandoval
  Fundraiser, Sandoval Roof, The Terrace, Closing Salt Flats
2026-05-22 13:59:41 +00:00
timevans666 251b820a4c Directive 19: add Foundry VTT battlemap prompts (10 maps)
Adds 10 Foundry VTT-spec playable battlemaps (BR19-VTT-01 through 10).
Distinct from the blueprint maps and evidence exhibits — these are the
maps PCs place tokens on during play.

FORMAT SPEC researched against Foundry VTT documentation:
- 100 pixels per grid square (Foundry default)
- Image dimensions clean multiples of grid count (no partial squares)
- Aspect ratios chosen for clean grid divisions (4:3, 7:5, 16:9, 9:5, 3:2, 2:1, 7:4)
- No baked grid lines (Foundry draws its own)
- No baked labels or text (added in Foundry as scene notes)
- No baked dynamic lights for indoors (Foundry's lighting layer handles)

STYLE DIRECTION: top-down orthographic painted floor plan, not blueprint.
Photorealistic-adjacent texture with Blade Runner colour grading. Sodium
amber + cyan + magenta neon noir, wet reflective surfaces, deep shadow
corners, atmospheric haze baked in. Cinematic painterly finish.

MAPS:
- VTT-01 Voss Penthouse (32x24, 3200x2400) — Act I opening crime scene
- VTT-02 Volkov's Clinic (24x18, 2400x1800) — Halden's introduction
- VTT-03 Pham's Marina Safehouse (28x20, 2800x2000) — Wren walks past
- VTT-04 Saltgrove Warehouse 7 (36x20, 3600x2000) — memorial / ledger
- VTT-05 Parking Structure (32x18, 3200x1800) — Sera ambush
- VTT-06 Sandoval 88th Floor (36x24, 3600x2400) — fundraiser
- VTT-07 Sandoval Roof (24x18, 2400x1800) — broadcast relay
- VTT-08 The Terrace (32x16, 3200x1600) — the climax stage
- VTT-09 Lin Ai's Noodle Bar (16x12, 1600x1200) — small conversation
- VTT-10 City Morgue (28x16, 2800x1600) — forensic scene

Shared style suffix locks orthographic projection, banishes grid lines
labels and tokens, sets the cinematic Blade Runner colour grade.

Per-scene Foundry setup notes included: scene config, walls/lights/sound
layer recommendations per location, token sizing, the replicant-magenta
trick (faint dim magenta point light follows Wren through scenes — players
feel her without seeing her), and iteration tips for fighting Midjourney's
tendency to drift toward 3/4 isometric instead of true overhead.

File now 1191 lines, 60 total prompts:
  6 PCs + 8 NPCs + 12 location illustrations + 12 blueprint plans
  + 12 evidence exhibits + 10 Foundry VTT battlemaps
2026-05-22 11:27:41 +00:00
timevans666 5c90b260f5 Directive 19: add evidence-exhibit variant maps to prompt library
Adds 12 new prompts (BR19-EX-01 through BR19-EX-12) — each one the
in-fiction case-file dressing for one of the existing blueprint maps.

Format: tan-paper folder background with the blueprint reproduced at
center, four annotated polaroid photographs paper-clipped at the
corners (each with handwritten red-ink captions on masking-tape labels),
black redaction blocks across portions of the margin text, a chain-of-
custody box at the bottom with three signatures filled in, faint LAPD
REP-DETECT shield watermark, CASE 037-2037-11473 DIR-019 EVIDENCE
EXHIBIT stamp top right, handwritten exhibit-letter tag.

Each prompt names four specific polaroids that ground the exhibit to
the scenario:

- EX-01 (Voss penthouse): mirror DIR-019, kitchen bootprint,
  Voss-in-bathtub, panic-room door
- EX-02 (Morgue): Voss slab, Ostrow tattoo, paralytic ampoule, Ostrow
  effects bag with pocket watch
- EX-03 (Lin Ai's noodle bar): surveillance still, seized notebook,
  Fairfax overpass exterior, Persian Quarter DIR-019 graffito
- EX-04 (Volkov clinic): body on procedure table, the pen at reception,
  humming autoclave, the fake federal credential
- EX-05 (Pham marina): body at kitchen table, handwritten confession,
  wet bootprint size 9, Wren's H02-B note
- EX-06 (Saltgrove warehouse): memorial beam photographs, acid-burn
  floor, ledger page H02-A, approach road mile 22
- EX-07 (Parking structure): sound-grenade residue, Sera profile,
  9mm wall damage, B-negative blood trace
- EX-08 (Sandoval 88th): Cortez podium press photo, green-room badge,
  service-corridor pry damage, guest manifest page
- EX-09 (Sandoval roof): relay terminal, broadcast-file audio fragment,
  ladder access pry marks, HVAC wiring tap
- EX-10 (The terrace): wet stone handhold abrasion, surgical blade
  fragment, oilcloth fibre, BODY NOT RECOVERED notation
- EX-11 (Salt flats regional): estate gate, warehouse 7 exterior,
  approach road mile 14 tracks, 2027 satellite overhead
- EX-12 (Central LA overview): Bradbury at night, Sandoval entry,
  Volkov clinic street view, LAPD precinct fleet

Shared evidence-exhibit style suffix at top of section keeps the
twelve exhibits visually consistent.

Section also includes notes on the Midjourney challenges (text
rendering, redaction blocks, polaroid placement) and a usage guide:
plain blueprint variants for quick scene navigation, exhibit variants
when a PC explicitly pulls a file — e.g. Iris's [BR: Connect] roll to
pull the Voss file should produce EXHIBIT A, not the plain map.

File now 867 lines, 50 total prompts.
2026-05-22 11:18:38 +00:00
timevans666 4f99d12060 Directive 19: full Midjourney prompt library + blueprint scenery maps
Adds scenario-library/blade-runner-rpg/art/midjourney-prompts.md
(570 lines) — complete art generation reference for the scenario.

CHARACTER PORTRAITS (6 PCs)
- BR19-PC-01 Iris Kovac (human senior, vodka flask)
- BR19-PC-02 Marc Esposito (Nexus-9, the photograph)
- BR19-PC-03 Saoirse Lin (forensic, father's photo)
- BR19-PC-04 Dmitri Vance (ex-military, tactical)
- BR19-PC-05 Talia Ostrow (detective, uncle's pocket watch)
- BR19-PC-06 Cole Whitford (Nexus-9 combat, no effects)

NPCs (8 prompts)
- BR19-NPC-01 Wren (jaw scar, oilcloth coat, terrace rain)
- BR19-NPC-02 Halden (charcoal suit, pen, polite menace)
- BR19-NPC-03 Cortez (green dress, hidden tremor)
- BR19-NPC-04 Sera Park (apprentice, mother's signature tattoo)
- BR19-NPC-05 Lt Greer (tired, enamel coffee mug, wedding ring)
- BR19-NPC-06 Lin Ai (peacoat, notebook, noodle bar table)
- BR19-NPC-07 Det Hara (LAPD liaison, leather jacket, pivot)
- BR19-NPC-08 Marisol Yu (morgue clerk, koi tattoo)

LOCATION ILLUSTRATIONS (12 prompts)
- BR19-LOC-01 LA 2037 aerial cover shot
- BR19-LOC-02 Voss penthouse / Bradbury crime scene
- BR19-LOC-03 Lin Ai noodle bar interior
- BR19-LOC-04 City morgue sub-basement
- BR19-LOC-05 Volkov's clinic / Halden's introduction
- BR19-LOC-06 Pham's safehouse / Wren encounter
- BR19-LOC-07 Saltgrove warehouse / sisters' memorial
- BR19-LOC-08 Parking structure / Sera's ambush
- BR19-LOC-09 Sandoval Tower 88th floor fundraiser
- BR19-LOC-10 Sandoval roof / broadcast relay
- BR19-LOC-11 The terrace (the heart of the scenario)
- BR19-LOC-12 Closing image: salt-flats walk

BLUEPRINT SCENERY MAPS (12 floorplans, top-down)
LAPD evidence-archive blueprint style — white and pale cyan lines on
Prussian-blue ground, drafting conventions, dimensions, north arrows,
LAPD REP-DETECT CASE 037-2037-11473 DIR-019 EVIDENCE stamp, red-ink
case annotations, weathered paper texture.
- BR19-MAP-01 Voss penthouse
- BR19-MAP-02 City morgue
- BR19-MAP-03 Lin Ai's noodle bar
- BR19-MAP-04 Volkov's clinic
- BR19-MAP-05 Pham's marina safehouse
- BR19-MAP-06 Saltgrove Warehouse 7
- BR19-MAP-07 Parking structure ambush
- BR19-MAP-08 Sandoval Tower 88th floor
- BR19-MAP-09 Sandoval roof / broadcast
- BR19-MAP-10 The terrace
- BR19-MAP-11 Salt flats regional map
- BR19-MAP-12 Central LA precinct hand-drawn map

All prompts use Midjourney v7 syntax with --style raw. Portraits at
2:3, locations at 16:9 (21:9 for the salt-flats closing), maps at
16:9 (tablet) or 3:2 (printed sheet). Stylize values tuned per
subject. Shared style suffix for blueprints to keep them consistent.

Updated blade-runner-rpg/README.md to link the prompts file.
2026-05-22 08:30:24 +00:00
timevans666 7afae18f57 Directive 19: typography overhaul + kanji/katakana worldbuilding
TYPOGRAPHY — Courier New was the wrong register. Replaced with proper
Blade Runner UI stack matching the rest of the repo:

  Orbitron (500/700/900)      — title, timer, section headers, stats,
                                 NPC/PC names, dashboard tile labels,
                                 progress bar, act tabs, story titles
  Rajdhani (300-700)          — body, nav, card titles, hooks, story
                                 prose. Condensed sans, very 2049.
  Share Tech Mono             — readouts, stat labels, code, clue meta,
                                 handout IDs, role lines. Mono with
                                 attitude vs. Courier's typewriter feel.
  Noto Sans JP (400/500/700)  — kanji/katakana decoration

  All four loaded via Google Fonts CDN with system fallbacks (matches
  pattern used in event-91, event-93, event-95 apps).

KANJI / KATAKANA DECORATION — the LA-2037 worldbuilding signature:

  Header:
    ロサンゼルス・2037     (Los Angeles 2037 in katakana, subtitle)
    指令 第19号             (Directive Number 19, kanji mark beside title)

  Section titles get their own kanji on the right:
    Story            物語  (monogatari, tale)
    NPCs             人物  (jinbutsu, characters)
    Clues            手掛り (tegakari, clue)
    Handouts         資料  (shiryō, materials)
    Players          捜査官 (sōsakan, investigators)
    Reference        参照  (sanshō, reference)

  Act tabs get theatrical numerals:
    Act I · 第一幕  /  Act II · 第二幕  /  Act III · 第三幕

  Story chapters get traditional chapter numerals:
    Chapter One · 第一章 ... Coda · 終章

SIZE BUMPS — slight upticks to make the heavier display fonts breathe:
  title 22 → 26px, timer 30 → 32px, section titles 22 → 22px (font
  weight 700, letter-spacing 5px), NPC names 19 → 20px, PC names 18 →
  19px. Letter-spacing increased across all uppercase headers.

Modal handouts kept in Share Tech Mono (terminal/typewriter feel is
correct for in-fiction documents).
2026-05-21 23:28:56 +00:00
timevans666 430792ecdd Directive 19: CRT distortion — scanline drift, occasional tear, refresh sweep
Three layered CRT motion effects, all subtle, all GPU-cheap:

1. SCANLINE DRIFT — the scanlines slowly migrate downward by 4px over
   9 seconds, looping. Imperceptible at first glance, builds the
   'this screen is alive' sense over a session.

2. CRT TEAR — every 13s the scanline layer briefly shifts horizontally
   by 1-2px at four irregular moments (18.5%, 47.5%, 72.6-73%, 91.5%
   of cycle). The 72.6% tear also dims opacity slightly — a stronger
   'glitch' beat among smaller ones. Cadence designed to feel random,
   not metronomic.

3. REFRESH SWEEP — a 180px-tall faint amber band rolls from top to
   bottom of the viewport every 17 seconds. Mimics the CRT refresh
   pass. Opacity capped at 0.045 — present, not distracting.

All three use prime-ish durations (9, 13, 17) so the layered effects
never sync back into the same pattern within a session.
2026-05-21 23:14:32 +00:00
timevans666 40a1d88f66 Directive 19: deeper Blade Runner aesthetic + Story screen
AESTHETIC PASS
- Warmer sodium-amber dominant palette (bg shifted from cool blue-black
  to warm dark, amber from #ffb84a to #ff9818 for stronger LA-2049 feel)
- Neon glow text-shadow on title, timer, section headers, active nav,
  amber elements throughout
- Title flicker animation (subtle 6s irregular cycle)
- CRT scanline overlay (subtle horizontal lines, mix-blend multiply)
- 2049-style chamfered corner clip-paths on dashboard tiles, NPC cards,
  PC cards, header buttons
- Sodium-glow body background gradient (warm top, cool rain bottom)
- Active progress bar segments get amber under-glow accent line
- All section titles get '▸' leading caret + neon glow + amber border
- Replicant magenta shifted to richer pink-magenta (#ff5fbc) with own glow

NEW STORY SCREEN
- 'The Story' added to sidebar (second position, after Home) with
  📖 icon, and as home dashboard tile
- New screen: full prose narrative read-through in five chapters:
  The Past · The Players Arrive · The Hunt · The Tower · The Closing
- Bookish typography: amber drop-cap first letter of each chapter,
  pulled-quote callouts for key beats, replicant-name highlighting
  in magenta with glow, justified body text, max-width 720px
- Each chapter card uses angular clip-path with amber accent bar at
  top-left and amber-glow chapter number caption
- New STORY data object (5 chapters, ~1600 words total)
- New renderStory() function called in init

Net: +394 lines, -84 lines. File now 2372 lines, 127KB.
2026-05-21 23:10:44 +00:00
timevans666 0e8c13567a Add Blade Runner RPG system to scenario-library with Directive 19
New system folder: scenario-library/blade-runner-rpg/

Scenario: Directive 19 — LA 2037, six Blade Runners, 3.5hr
- Pure-investigation Act One (no combat)
- Action Act Two (Halden, Wren passes through, Sera ambush, salt flats)
- Tower showdown Act Three with structural Wren escape on the terrace
- 8 NPCs with stat blocks: Greer, Lin Ai, Marisol Yu, Halden, Wren, Sera,
  Hara, Cortez
- 6 pre-gens with personal hooks: Iris/Marc/Saoirse/Dmitri/Talia/Cole
  (3 human, 2 Nexus-9 replicant, 1 ambiguous senior)
- Full clue trail (8 essential + 3 optional + 1 special + 6 fallbacks)
- 6 handouts written: crime scene report, Lin Ai's list of nine,
  Voss bank statement, salt-flats ledger, Wren's note, the broadcast
- The Tangent: Marc's stolen memory of Hashem Lin (Saoirse's father),
  Halden surviving for campaign follow-up
- Full GM Notes covering tone, restraint on Halden, the terrace scene

GM HTML app: scenario-library/blade-runner-rpg/apps/directive-19/index.html
- Single-file, offline, tablet-friendly (2062 lines)
- Dark blue-black + amber/cyan/magenta palette
- Sidebar nav: Home / Acts / NPCs / Clues / Handouts / Players / Reference
- Timer with hard-checkpoint alerts at 0:15, 1:00, 1:15, 1:40, 2:00,
  2:20, 2:45, 3:15, 3:30
- Clue tracker (pending/found/missed cycle) with progress bar
- Handout modal with 5 paper styles (terminal/aged/handwritten/bank/broadcast)
- NPC cards with REVEAL GM NOTES classified-eyes-only sections
- PC cards with replicant/human visual distinction
- BR RPG reference: core mechanic, skill mapping, stress dice triggers,
  V-K use, combat quick ref, Promotion vs Humanity table
- localStorage persistence across sessions (clues, classified, timer)

Updated top-level README and scenario-library README to include the
new system folder.
2026-05-21 22:49:27 +00:00
timevans666 0745209619 Event 95: Midjourney art batch (7 images) + GM doc illustrated
New art assets (95-ART-08 through 95-ART-14):
  08 Marr portrait — scientist surrounded by notebooks, exhausted certainty
  09 Crew — Foolish Endeavour crew, Ringworld arc behind
  10 Loop reset — figures scattered mid-gravity-inversion
  11 Ship scale — Foolish Endeavour on surface, tiny figure, Ringworld overhead
  12 Marr notebooks — hundreds of open notebooks, evidence of loops
  13 Core chamber — singularity sphere, concentric arcs, lone figure
  14 Ringworld arc — bonus scene, dramatic overhead arc (spare/handout)

GM companion doc updated:
  Cover: SVG replaced with 95-ART-11-ship-scale.png
  Act One header: 95-ART-10-loop-reset.png
  Marr NPC section: portrait + notebooks side-by-side panel
  Act Two header: 95-ART-09-crew.png
  Act Three header: 95-ART-13-core-chamber.png
2026-05-17 19:09:47 +00: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
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
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 2c53c8488e Event 159: BRP Day One — full scenario expansion
- Complete three-act structure following master template
- Overriding story: Meridian Biosciences / MX-9 / COBR containment decision
- Plot summary (GM's truth), player experience arc
- Introduction with individual character read-alouds and alert delivery
- Act One: Something Is Wrong — bus crash, first infected, market breaks
- Act Two: The Long Walk South — Blue Anchor, pharmacy, reanimation, cordon
- Act Three: Bridge or River — Tower Bridge negotiation or RIB at Bankside Pier
- Epilogue with four outcome states and closing read-aloud
- 5 major NPCs with full stat blocks (Fatima, Callum, Sharif, Marcus, Helen, Pete)
- 6 pre-generated characters with stats, hooks, and motivation
- 12-clue trail with essential/optional split and fallbacks
- 11 handouts listed with format specifications
- Zombie quick reference table
- 9 artwork assets with reportage ink sketch style and generation prompts
- The Tangent: Day Two / Meridian investigation follow-up
- Full GM notes on lethality, pacing, Helen, Marcus, and the cordon moment
2026-05-14 19:42:46 +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
timevans666 f93ae95f24 Event 91 Night Crawler: full scenario build
- Complete three-act structure applied per SCENARIO-TEMPLATE
- GM Pre-Session Checklist added (print list, table setup, pre-read notes)
- World Background expanded with Blade Runner-style texture guide
- Running Neo-Ashford section added: credits context, sensory language by
  location, what technology looks like, how people talk, what things cost
- All six pre-gen characters with hooks, stats, and equipment
- All five handout texts written (H00-A, H00-B, H01-A, H01-B, H02-A)
- All locations fleshed out with atmosphere, mechanics, and clue flags
- Full NPC profiles: Sable Morn, Reth, Jed, Dr Chen, Scratch, Kov, Sera, Entity
- Entity influence mechanic and SAN tables
- Master clue trail with essential/optional/fallback structure
- Three-option Moral Choice with cost and consequence detail
- Full epilogue for all four outcome branches
- GM Quick Reference Card: timing, SAN table, skill rolls, NPC disposition
- GM Notes: tone guidance, Dr Chen technique, pacing advice, six-player management
2026-05-14 13:33:28 +00:00
timevans666 1c39117efd Update BPN player doc: SCL requirement 10+, Hammer-6 revised to SCL 9 2026-05-13 17:44:45 +00:00
timevans666 7a1309b2ce Add GM companion app: Power Failure HTML console
- Single-file HTML GM application for running Power Failure at the table
- Sections: Briefing, Scenes (tracker), NPCs (classified reveals), Clues (tracker),
  Maps (3 embedded SVG floor plans), Handouts (full-screen display), Resolution
- Entity presence tension meter (5 levels, colour-coded)
- Session timer with start/pause/reset
- GM notes panel (collapsible)
- Designed for 13-inch laptop/tablet — dark terminal aesthetic
2026-05-13 13:21:30 +00:00
timevans666 7778bb7b95 Add SLA Industries: Power Failure scenario (first scenario-library entry)
- sla-power-failure.md: full scenario file (premise, BPN brief, 6-scene structure,
  resolution options, clue table, NPC index, GM notes, adaptations)
- sla-power-failure-gm.md: GM companion with full NPC secrets, encounter pacing,
  handout text, entity guidance, and ending philosophy
- 3x SVG floor plans: ground level exterior, sub-level 1 (control/dormitories),
  sub-levels 2-3 (research wing + generator hall + rupture chamber)
- Updated scenario-library/README.md with scenario index
- Updated other-games/README.md with SLA Industries entry

System: SLA Industries 1st edition. No game stats — narrative content only.
2026-05-13 12:51:31 +00:00
timevans666 03c48d4524 Add scenario-library: personal archive structure across all game systems
- New top-level scenario-library/ directory, independent of convention events
- System folders: call-of-cthulhu, brp, ringworld, stormbringer, other-games
- Each with its own README and scenario index table
- SCENARIO-LIBRARY-TEMPLATE.md for filing new scenarios
- Updated master README to reflect dual-purpose repo structure
2026-05-13 11:19:19 +00:00