worldbox-observer-mod/docs/life-saga.md
2026-07-21 23:46:20 -05:00

47 lines
1.6 KiB
Markdown

# Life-saga roster
Long-lived cast of interesting lives (MCs). Owns the dossier rail and soft camera bias.
Chronicle stays a history book and never drives the camera.
Short combat/love/war arcs stay in [`StoryPlanner`](../IdleSpectator/Story/StoryPlanner.cs) as chapter beats.
## Ownership
| Concern | Owner |
|---------|--------|
| Top-10 MCs, diversity, Prefer | `LifeSagaRoster` |
| Hover card | `LifeSagaOverview` |
| Rail glyphs / Prefer click | `LifeSagaRail` |
| Short climax → aftermath → epilogue | `StoryPlanner` (thinned) |
| Spine under tip | `StoryPlanner.FormatSpineLabel` |
| Full history | Chronicle / Lore |
## Camera (soft)
- No rail camera lock. Prefer is a toggle soft-favorite for idle scoring.
- Score ladder: crisis ownership > active short-arc ownership > Prefer soft > MC soft > CausalHeat.
- Near-ties prefer Prefer'd MCs, then any MC.
- Ambient fill prefers roster MCs over random villagers.
## Rail UX
- Up to 10 glyphs (role/species letter).
- Click toggles saga Prefer (does not mutate WorldBox unit favorite).
- Hover: Title (name + optional epithet + role) / Why / Circle / Chapters.
- Chapters are stamped saga beats only - not Chronicle peeks.
- Trait names may appear once as a title epithet; trait descs never appear on the hover.
## Session
- `StoryPlanner.Clear` does not wipe the roster.
- Lore browse / brief idle-off keeps the roster.
- Harness batch end and `interest_saga_clear` wipe the roster.
## Harness
- `saga_roster_diversity`
- `saga_camera_prefers_mc`
- `saga_prefer_soft_bias`
- `saga_overview_has_mc`
- `saga_replace_on_death`
See also: [story-planner.md](story-planner.md).