worldbox-observer-mod/docs/world-event-inventory.md
2026-07-16 19:35:24 -05:00

91 lines
3.9 KiB
Markdown

# World event inventory (full surface)
Source of truth for what IdleSpectator covers across the **whole** game.
Refresh via live libraries + `mutation_discovery` / domain audits under `.harness/`.
Audit date: 2026-07-16.
## Policy
**If it is interesting, it is an interest candidate.**
`CreatesInterest` / Happiness `Signal` registers Layer A.
`EventStrength` + scoring decide who gets the spotlight.
Only true brief FX, cooldowns, civic Aggregates, and god-tool / biome spam stay B-only.
## How to read this
| Layer | Meaning |
|-------|---------|
| **B** | Activity / Life / chronicle prose may fire; no interest candidate |
| **A** | Registers interest; director ranks by points |
| **Gap** | Game fires a lifecycle beat; we have no reliable A path |
## Live libraries (enumerated)
| Library | ~Count | Owner |
|---------|-------:|-------|
| happiness_library | 67 | EventCatalog.Happiness |
| status | 58 | EventCatalog.Status |
| world_log_library | 41 | EventCatalog.WorldLog |
| disasters | 17 | via WorldLog |
| war_types_library | 5 | EventCatalog.WarType |
| traits | 116 | EventCatalog.Trait (all CI; strength ranks) |
| plots_library | 28 | EventCatalog.Plot |
| era_library | 11 | EventCatalog.Era |
| book_types | 12 | EventCatalog.Book (all A) |
| decisions / powers / spells / items | 127 / 339 / 12 / 111 | EventCatalog.Libraries |
| subspecies_traits / genes / phenotypes | 204 / 47 / 52 | Libraries |
| buildings | 618 | patches (consume/destroy A; damage skipped) |
| actor_library | 322 | SpeciesDiscovery / scoring |
| culture/religion/clan/language traits | 78 / 40 / 29 / 26 | **no event catalog yet** |
## Layer A sizes (policy)
| Domain | Authored | Layer A |
|--------|--------:|--------:|
| Happiness | 67 | ~49 Signal (5 Ambient FX; 13 Aggregate civic) |
| Status | 58 | ~42 CreatesInterest (FX/cooldowns + egg gain stay B) |
| WorldLog | 41 | ~40 |
| Relationship | 11 | all interesting discrete (seeker/pack at low strength) |
| Plot / Era / War / Book | 28 / 11 / 5 / 12 | all A |
| Trait | 116 | all CI (no noticeScoreMin hard drop) |
| Spell / Item / Gene / Phenotype / WorldLaw / SubspeciesTrait | live | ambient A at low strength; Signal bumps spectacle |
| Power / Decision / Biome | live | Signal predicate only (tools / idle AI / terrain) |
| Building / Boat | none | destroy/consume/trade/unload; damage/load skipped |
## Wired hooks (major)
Happiness, status (+ egg-loss hatch), WorldLog, wars, plots (new/cancel/join/leave/finish),
meta genesis (culture/religion/language/clan/army/alliance/city/kingdom),
books, traits, deferred libraries, boats (trade/unload), buildings (consume/destroy),
relationship (lover/child/family/baby/alpha), Family.setAlpha, SpeciesDiscovery.
## Known gaps / thin areas
| Gap | Why it matters | Status |
|-----|----------------|--------|
| Culture/religion/clan/language trait gain | Meta drama libraries exist | **Live** (MetaObjectWithTraits.addTrait in pipelines) |
| Building complete / wonder finish | Settlement spectacle | **Open** |
| Alliance/kingdom destroy managers | End beats if WorldLog thin | **Open** |
| Era/earthquake poll (ongoing) | Age change is wired; poll not | **Open** |
## Stay B (true noise)
- Happiness: `got_poked`, `got_caught`, `paid_tax`, `just_ate`, `just_pooped` + all Aggregates
- Status: dash/dodge/shield/recovery_*/spell_*/cough/flicked/just_ate/on_guard/afterglow/slowness + egg gain
- Libraries: Power ambient (god paint tools), Decision ambient (idle AI; interesting decisions are Signal), Biome ambient
- Patches: `building_damage`, `boat_load`
## Scoring notes
`TotalScore = EventStrength + scale + CharacterSignificance * charWeight + visual + novelty`.
CharacterSignificance includes favorite/king/leader/renown/kills/level and species rarity.
## Refresh commands
```bash
./scripts/harness-run.sh --no-launch mutation_discovery
./scripts/harness-run.sh --no-launch domain_event_audit
./scripts/harness-run.sh --no-launch activity_happiness_audit
```