docs(@projects/@magic-civilization): 🐟 p3-27 — marine ecology core confirmed live (ticks via process_step)

Per-tile fish/reef/mangrove dynamics already run inside EcologyEngine::process_step (headless
ecology phase); ocean_dead_fraction via climate; no live MarineHarvestScript remains. Global
ocean-collapse (tick_ocean_state) is the one unwired refinement (needs a populated
BiomeTagRegistry).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Natalie 2026-06-26 19:12:24 -04:00
parent 05b550232b
commit 00a349a388

View file

@ -23,8 +23,7 @@ interact with.
- [x] **Ecology population tick** ✅ (eb38e8678 + cba0ea8ec) — `process_ecology_phase` drives `EcologyEngine` per turn in `apply_end_turn` (relocated from mc-turn to dodge the mc-turn→mc-ecology→mc-mapgen cycle); seeds genesis on tick 1, persists via continuation-JSON on GameState; FFI `set_ecology_species_json` + harness `_apply_ecology_species`. mc-player-api 138/0.
- [~] **Flora succession**`EcologyEngine::process_step` already returns + applies `FloraTransition`s (subsumed in the ecology tick above). Confirm whether a separate `mc-flora::FloraEngine` pass is still needed or if process_step covers it.
- [ ] **Marine ecology** — port `marine_harvest.gd` (372 lines: fish-stock depletion/
recovery, coral-reef bleaching, `ocean_dead_fraction` → climate) into Rust + tick it.
- [x] **Marine ecology (core)** ✅ — per-tile fish-stock + coral-reef + mangrove→fish feedback already tick inside `EcologyEngine::process_step` (engine.rs:416/424), which runs in the headless ecology phase; `ocean_dead_fraction` updates via the climate phase (physics.rs:800). No live `MarineHarvestScript` remains — fully Rust. **Refinement:** the global catastrophic ocean-collapse `mc_ecology::ocean::tick_ocean_state` is unwired (only called in its own tests) — needs a populated BiomeTagRegistry (boot config) or an API switch to the built-in `has_tag` before it can tick headless.
- [~] **Bio-targeting events** — fauna disease applier DONE (5890b1c15): EcologyEngine::apply_disease_events drives plague/pandemic/ecological mortality + canopy/tier loss from the boot-loaded events_config, struck in the ecology phase. Remaining: marine (fish/reef) + lair_kill_chance + o2_delta atmospheric pass.
- [~] Deterministic from seed ✅ (cargo green, determinism test); headless e2e boot pending dylib rebuild + GUT boot proof.