blob: 4461aa7f87ec5f41f615a563a6afa50236f8b3eb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import type { GameTime } from '@hollowdark/time'
import type { FlowEntryId, PersonId, PlaceId, WorldEventId } from './base'
/**
* A compact snapshot of the context that produced a flow passage. Kept
* alongside the entry so passages can be regenerated deterministically
* if content or voice-modulation changes — no reliance on re-simulating
* the full world to reproduce a specific week's prose.
*/
export interface FlowContextSnapshot {
readonly season: string
readonly placeId: PlaceId
readonly activeWorldEventIds: readonly WorldEventId[]
readonly moodBucket: string
readonly dominantTraitMarkers: readonly string[]
}
export interface FlowEntry {
readonly id: FlowEntryId
readonly personId: PersonId
readonly time: GameTime
readonly passageText: string
readonly passageRef: string
readonly contextSnapshot: FlowContextSnapshot
}
|