auto sync

This commit is contained in:
slaguru666
2026-08-01 05:50:05 +01:00
parent bb7392be2f
commit 36a3fce55c
14 changed files with 263 additions and 744 deletions
-55
View File
@@ -163,61 +163,6 @@ pass.
(6th/7th/8th) plus boss Grit per extra hero and mook multiplier lives ON
the GM cut-out corner of the last hero card page, not buried in the doc.
## 2026-07-27 — Post-Continuum retro: the GM used none of the apps
Actual outcome data from running the con — the strongest signal in this log.
- **The comprehensive scenario apps went unused — "too complex, the story
material too convoluted."** Five device editions were built (v1 tablet, v2
responsive, laptop, e-paper, phone story reader); none were opened while
running games. A faithful, complete render of a scenario is a *prep* artifact,
not a table tool. **Default to NOT building a content app** — a GM mid-game
will not read it.
- **At the table, concision beats completeness, every time.** What was wanted
was one focused surface with only the *live* essentials — where we are on the
clock, the next hard beat, the one secret in play, the "if late, cut this"
note — not everything that is true. Render the table surface as the smallest
useful subset of the prep doc.
- **"All the information in one place" = one surface, not six.** The multi-console,
multi-edition sprawl actively hurt; a single page was the stated preference.
- **The artifact that DID earn its place is the in-play *help* tool** (The
Director: live pacing / Director-Rail, dice rule-packs, NPC + clue safety-net)
— assistance *in the moment*, not reference to read. That is where console
engineering should go; the "a content console per scenario" instinct is
retired (see production.md).
- **Edition proliferation was pure cost.** Each edition = its own build +
container + reverse-proxy route + silent staleness liability, and most were
never used — they accreted one reasonable "make a version for X" at a time.
Before building any such variant, ask whether it will be *opened* at all;
adapt one source for presentation-only deltas, fork only for a genuinely
different content model.
## 2026-07 — RUNDOWN cardless chase system (Blade Runner, house subsystem)
- **Do the expected-value arithmetic before committing to a subsystem.** A
spec self-review pass that actually computed the dice maths caught two dead
mechanics that read fine in prose: a role structure where the pursuers' net
was ~0.00 per round (the chase could literally never end), and a support role
worth +0.24 successes when simply doubling up on the main role was worth
+0.57 — nobody would ever have picked it. Prose hides both. One script found
both in a minute.
- **A role that spends a resource needs a role that refunds it.** Four roles
only became an economy once the support role was recast from "adds successes"
to "buys off the cost the aggressive role generates". Test any new role menu
by asking what each option *trades*, not what it *does* — if two options
trade the same thing, one of them is decoration.
- **Check whether the rules you're replacing already contain the escape
hatch.** The published Blade Runner chase ships a die table as an alternative
to its own obstacle deck, so "make it cardless" was already solved in the
book. The real brief was the other four problems (idle players, no
accumulating state, generic obstacles, lookup load). Always ask what the
request is *actually* for before designing to its literal wording.
- **When a house subsystem gets a digital aid, test the aid headlessly.** A
~60-line stub-DOM harness in Node drove the real console module through every
state transition (clamping, round cap, overtime drift, undo) with no browser
and no dependencies. Worth it: two of the "failures" it surfaced were the
harness lying, which is itself the thing you want to find before a
convention floor.
## 2027-01 prep (2026-07) — continuity searches for returning NPCs
- **Grep the role, not just the name.** A returning NPC brief said "Witchfinder
-28
View File
@@ -59,34 +59,6 @@ set-piece runner (e.g. chase obstacles), PC/NPC dashboards, fullscreen props,
autosaving state. Scenarios plug in as modules — when building a new scenario,
add a module rather than a new app.
**Reality check (Continuum 2026, post-con):** none of the built scenario apps
were used at the table — "too complex, too convoluted." Two hard rules follow:
1. **Keep it lean and single-surface.** The GM reads in 30-second glances; a
console must show only what's needed *live* (clock, next beat, the secret in
play), not a faithful render of the scenario. Concision is the feature. One
surface — resist multi-tab and per-device editions (each is a build +
deploy + staleness liability, and they went unused).
2. **The in-play *help* tool is what earns its keep** — live pacing, dice
rule-packs, an NPC/clue safety-net (assistance in the moment). Put console
effort there, not into content reference the GM won't open mid-game.
### Hosting an offline app (only if one is genuinely wanted)
Deployed the Continuum apps to a VPS behind a Caddy reverse proxy. The gotchas
that cost hours, so they don't again:
- **Service-worker cache staleness** is the #1 time-sink: after any rebuild the
old SW keeps serving the old page, so you debug code that isn't running.
Unregister the SW, clear caches, and do a **full reload** (a hash-nav doesn't
reload) before believing what you see.
- **Never edit a bind-mounted Caddyfile with `mv`/`sed -i`** — it's pinned to an
inode; the container keeps reading the old file. Append in place (`>>`), back
up first, reload via the admin API from stdin.
- Private repos → the VPS has no git creds; **rsync the built `dist/` + deploy
dir**, don't clone. Each subdomain needs its own DNS A record; Caddy issues
TLS once it resolves.
## Print checklist (before the con)
- Character sheets: A4 portrait, 100% scale, one page per PC + table