docs(@projects/@magic-civilization): ✅ p3-29 step 1 complete — Rust turn surfaces CityGrew + CityBordersExpanded + FloraSuccession
All three granular UI events the GDScript turn emitted inline are now emitted by the Rust turn (replay value now; UI-parity ready for the swap). Remaining: step 2 (dict surface) + steps 3-5 (turn_manager → GdTurnProcessor.step + delete GDScript orchestration + render proof). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
8e17594564
commit
91095be232
1 changed files with 4 additions and 5 deletions
|
|
@ -77,11 +77,10 @@ this session but the live game still runs GDScript — the event-surface gap was
|
|||
|
||||
- [x] **CityGrew** event (06c6e2547) — process_city_production emits it on growth.
|
||||
- [x] **CityBordersExpanded** event (db808e477) — process_culture emits it on tile claim.
|
||||
- [ ] **FloraSuccession** — DEFERRED to the swap pass: ecology runs in the END_OF_TURN_PHASES
|
||||
registry whose `SimPhaseFn = fn(&mut GameState)` has no event sink; surfacing flora needs
|
||||
either the registry signature to carry `&mut Vec<TurnEvent>` (a ~40-test-call-site cascade)
|
||||
or a transient `GameState.pending_flora_events` buffer drained by `step()`. The registry-
|
||||
events refactor belongs with steps 3-5 (it's needed there anyway), so flora rides with it.
|
||||
- [x] **FloraSuccession** (7b6d24bde) — ecology buffers transitions into transient
|
||||
`GameState.pending_flora_events`; `step()` drains them into `FloraSuccession` events (avoided
|
||||
the registry-signature cascade via the buffer). **STEP 1 COMPLETE** — the Rust turn now emits
|
||||
all three granular UI events the GDScript turn emitted inline.
|
||||
|
||||
Both high-value growth/border events are surfaced (replay value now; UI-parity at the swap).
|
||||
Remaining: FloraSuccession + the registry-events refactor + dict surface + the live swap +
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue