Add The Frontier, a second setting, and a picker to choose between them

Cold Fork is a freight yard: 29 events across two stages, a four-day cycle, and
its own relationship and skill vocabulary. src/engine/ was not touched. Adding it
needed three changes outside the engine: one save slot per pack, app.js holding
the current pack, and turn.js no longer naming the mailroom (DECISIONS #34).
build.js now handles imports wrapped across lines. A conformance suite runs over
every registered pack. DECISIONS #35 records three calls on open questions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RxdJFbLq1rBKsUeticGV1g
This commit is contained in:
JesseMarkowitz
2026-09-12 21:03:50 -04:00
co-authored by Claude Opus 5
parent 4957c24e31
commit 7f20be83e8
25 changed files with 3015 additions and 300 deletions
+23
View File
@@ -0,0 +1,23 @@
// The packs this build ships with.
//
// A setting is a content pack, and this is the only list of them. Adding one
// is an import and an entry — no engine change, no interface change, and
// nothing anywhere else that names it. `packs[0]` is what a first-time player
// starts in.
//
// The bundler follows static imports from the entry module, so appearing in
// this file is also what gets a pack into `dist/theladder.html`.
import { corporateLadder } from './corporateladder/index.js';
import { frontier } from './frontier/index.js';
export const packs = [corporateLadder, frontier];
/** A pack by id, or undefined. Used to resume into whatever was last played. */
export function packById(id) {
return packs.find((pack) => pack.id === id);
}
export const defaultPack = packs[0];
export default packs;