Add authorable per-level briefing checklist
The case briefing showed a wall of body text. Add a checklist of short, player-tickable steps authored per level: a new `checklist` on the level brief (table osint.level_brief_checklist_items), read/written with the board, cloned on template freeze/instantiate, and carried through the mystery importer and the mystery:pull exporter. Player tick state is guidance-only, persisted locally per level rather than on the shared board. Convert the Barricelli inventor-proof brief from prose into a short intro plus a six-step checklist. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -75,8 +75,8 @@ function serializeLevel(board: TemplateBoardExport, assetFilenames: Map<string,
|
||||
title: state.title,
|
||||
subtitle: state.subtitle || undefined,
|
||||
timelineRange: timeline?.range,
|
||||
brief: state.brief.body || state.brief.concepts.length
|
||||
? { body: state.brief.body, concepts: state.brief.concepts.map(concept => ({ label: concept.label, context: concept.context, expectedPartyKind: concept.expectedPartyKind || 'person' })) }
|
||||
brief: state.brief.body || state.brief.concepts.length || state.brief.checklist?.length
|
||||
? prune({ body: state.brief.body, concepts: state.brief.concepts.map(concept => ({ label: concept.label, context: concept.context, expectedPartyKind: concept.expectedPartyKind || 'person' })), checklist: state.brief.checklist })
|
||||
: undefined,
|
||||
documents: documents.map(document => prune({
|
||||
key: documentKeyById.get(document.id)!, title: document.title, fileType: document.fileType, captureKind: document.captureKind,
|
||||
|
||||
Reference in New Issue
Block a user