diff options
| author | Somhairle H. Marisol <[email protected]> | 2026-09-22 16:24:19 +0800 |
|---|---|---|
| committer | Somhairle H. Marisol <[email protected]> | 2026-09-22 16:24:19 +0800 |
| commit | 0539bba17c260f6a4b51d3cefddac0ff448c19bc (patch) | |
| tree | 49fbc9861f79206738a4614d1172535652edb2f4 /opencode.json | |
| parent | 6c2f180cc7c8315e32d88cbe5d44928d495fe473 (diff) | |
| download | living-village-0539bba17c260f6a4b51d3cefddac0ff448c19bc.tar.gz | |
feat(kernel): P31 step2 story stage state machine
- Occupation.Story: three-segment arc per occupation (accept task -> visit
households -> conclude), driven one stage per player dialogue with day
gates derived from the same splitmix pattern as the daily task pool
(start day = hash(seed ^ storySeed, day 0) mod 3 + 2, range [2,4]).
- relationMeanToPlayer: decayed valence mean over acquainted NPCs only
(same decay formula as Sim.relationMatrix); no acquaintances = 0.
- Three endings (warm/plain/distant) chosen by deterministic thresholds
(>=0.3 / >=0.0 / <0); ending text is fixed at the concluding dialogue.
- onDialogue returns (state, summary text option) for the caller to write
into the yearbook; StoryStage itself is unchanged (0..3) and already
roundtrips through the existing v3 occupation segment.
- 14 new kernel tests (101 -> 115); performance digest unchanged.
Diffstat (limited to 'opencode.json')
0 files changed, 0 insertions, 0 deletions
