worldbox-observer-mod/README.md
DazedAnon 739cc6492c feat(spectator): make narrative threads own camera direction
- Route confirmed life events into evidence-based threads, consequences, and Legacy chapters
- Schedule episode shots with critical interrupts, replay guards, and a combat budget
- Admit emerging main characters through story momentum instead of spectacle
- Remove causal heat, hard-arc memory writes, and synthetic epilogue continuity
- Expand narrative harness coverage, soak auditing, and product documentation
2026-07-23 12:17:18 -05:00

38 lines
1.6 KiB
Markdown

# IdleSpectator
WorldBox NeoModLoader mod: AFK Idle Spectator camera director.
## Controls
- **I** - toggle Idle Spectator on/off
- **F9** - toggle Character Chronicle side panel (non-modal; works with focus)
- Dragging the camera while Spectator is on turns it off (after a short grace period)
## What it follows
The camera follows the developing lives and relationships of a small emerging cast. A story
scheduler chooses developments that advance an active character thread, yields to critical world
events, and returns only when the story has new evidence. `EventStrength` still models urgency and
visual value, but it no longer owns continuity. Bounded character/world fill runs when no episode
has a usable development.
While watching, a **character beat caption** shows who they are (Identity), an orange **event sentence** (Beat), and muted Context (story spine or open stake).
Main characters get `Name · Title` when they have a real role; tips may gain a self-explanatory relation clause.
See [`docs/life-saga.md`](docs/life-saga.md) and [`docs/event-reason.md`](docs/event-reason.md).
Lingering on someone writes a **Chronicle** line; F9 lists them and click jumps the camera.
## Layout
- `IdleSpectator/` - mod source (`mod.json` + C#), loaded/compiled by NML
- `scripts/verify-nml.sh` - load verification helper
- `docs/event-reason.md` - evidence, orange-reason, and camera-alignment contract
## Deploy
```bash
ln -sfn "$(pwd)/IdleSpectator" \
"$HOME/.local/share/Steam/steamapps/common/worldbox/Mods/IdleSpectator"
```
Requires NeoModLoader in `worldbox_Data/StreamingAssets/mods/` and **Experimental Mode** enabled.