docs(@projects/@magic-civilization): ✅ p3-26 gap 2 — wildfire+drought events LIVE in the headless sim (verified)
Verification milestone for the natural-events port: - Dylib rebuilt — set_events_config_json FFI confirmed present (strings); boot GUT 750/0 (dylib loads, GdPlayerApi works, no regression). - Full path proven: harness loads event configs (DataLoader.get_ecological_events → set_events_config_json) → mc-turn climate phase runs process_events → wildfire/drought fire + reshape terrain (climate_phase_fires_natural_events deterministic). Gap 2 now: deterministic core + config loader + dispatch + 2 categories (wildfire, drought) live + wired end-to-end. Remaining: the other 10 categories + surfacing fired events in the turn result/view + era-based severity cap. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
60e941caa5
commit
750824fbbb
2 changed files with 6 additions and 6 deletions
|
|
@ -32,7 +32,7 @@ expansion, tech/science, fauna encounters, combat/siege, diplomacy. Verified liv
|
|||
`atmosphere`, `ecology`); only the per-turn ORCHESTRATION is GDScript-only. Wire it onto
|
||||
`state.grid` in `step()`. Effects: weather events + unit HP damage + tile climate shifts
|
||||
in the headless sim.
|
||||
- [~] **Gap 2 — Natural / "apocalyptic" events (M3 milestone).** STARTED 2026-06-26: ported the deterministic core to `mc-climate::events` (`hash_noise`/`roll_severity`/`category_fires`), verified to match the live GDScript game bit-for-bit (`hash_noise(10,0,1000)=0.67791910066535`; the TS web guide's Math.sin diverges on large args — separate concern). NB: `.messy` is gone; the source is the live `ecological_events.gd` + `ecological_event_handlers_a/b.gd` + 12-category JSON in `public/resources/events/`. **Remaining:** event-config loading + dispatch + per-category handlers (wildfire/volcanic/drought/…) + turn wiring. ORIG: Port the `.messy`
|
||||
- [~] **Gap 2 — Natural / "apocalyptic" events (M3 milestone).** STARTED 2026-06-26: ported the deterministic core to `mc-climate::events` (`hash_noise`/`roll_severity`/`category_fires`), verified to match the live GDScript game bit-for-bit (`hash_noise(10,0,1000)=0.67791910066535`; the TS web guide's Math.sin diverges on large args — separate concern). NB: `.messy` is gone; the source is the live `ecological_events.gd` + `ecological_event_handlers_a/b.gd` + 12-category JSON in `public/resources/events/`. **Progress 2026-06-26:** mc-climate::events = deterministic core (GDScript-verified) + config model/loader + dispatch (process_events) + WILDFIRE & DROUGHT categories (effect + dispatch) + wired into mc-turn climate phase + GdPlayerApi.set_events_config_json FFI + headless-harness loading (DataLoader.get_ecological_events). ~10 events tests; mc-turn 338/0; dylib rebuilt (FFI present) + boot GUT 750/0. **Remaining:** the other 10 categories (volcanic/impact/seismic/tsunami/plague/pandemic/marine/solar/glacial/magical-deferred) + surfacing fired events in the turn result/view + era-based max_tier cap. ORIG: Port the `.messy`
|
||||
`ecological_events.gd` (992 lines) → Rust, split per the milestone plan
|
||||
(`.project/tasks/milestones/m3-natural-events/`): geological (volcano/impact/seismic/
|
||||
tsunami), ecological (wildfire/drought/plague/pandemic), marine, weather (already in
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"generated_at": "2026-06-26T14:35:13Z",
|
||||
"generated_at": "2026-06-26T15:09:24Z",
|
||||
"totals": {
|
||||
"stub": 0,
|
||||
"done": 296,
|
||||
"oos": 31,
|
||||
"in_progress": 0,
|
||||
"partial": 3,
|
||||
"stub": 0,
|
||||
"in_progress": 0,
|
||||
"missing": 0,
|
||||
"oos": 31,
|
||||
"done": 296,
|
||||
"total": 330
|
||||
},
|
||||
"objectives": [
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue