fix(@projects/@magic-civilization): 🐛 update culture research event due date
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
parent
69c06d4af9
commit
9dd3233769
5 changed files with 18 additions and 28 deletions
|
|
@ -63,7 +63,7 @@
|
|||
| [p1-55](p1-55-tech-culture-domain-propagation.md) | 🟡 partial | Tech & Culture domain field — propagate categorization through Rust, Godot UI, and player analysis | — | [simulator-infra](../team-leads/simulator-infra.md) | 2026-05-04 | 🟢 unblocked |
|
||||
| [p1-56](p1-56-civics-buildings-and-great-works.md) | 🟡 partial | Civics buildings, Great Works, Specialists, Great People — wire authored data into Rust + Godot | — | [simulator-infra](../team-leads/simulator-infra.md) | 2026-05-04 | 🟢 unblocked |
|
||||
| [p1-58](p1-58-ecology-cognitive-system.md) | 🟡 partial | Ecology cognition: terrain affinity, food web, grudge memory, apex tier-10 fauna/flora | — | [simulator-infra](../team-leads/simulator-infra.md) | 2026-05-04 | 🟢 unblocked |
|
||||
| [p1-59](p1-59-hybrid-merged-structures.md) | 🟡 partial | Hybrid merged structures — war_academy, assault_citadel, cavalry_corps, gunnery_corps | — | — | 2026-05-06 | 🟢 unblocked |
|
||||
| [p1-59](p1-59-hybrid-merged-structures.md) | 🟡 partial | Hybrid merged structures — war_academy, assault_citadel, cavalry_corps, gunnery_corps | — | — | 2026-05-07 | 🟢 unblocked |
|
||||
| [p2-22](p2-22-sprite-generation-pipeline.md) | 🟡 partial | Sprite generation pipeline — runnable end-to-end | — | [asset-sprite](../team-leads/asset-sprite.md) | 2026-04-25 | 🟢 unblocked |
|
||||
| [p1-44c](p1-44c-buildings-as-producers-followups.md) | 🔴 stub | p1-44 follow-ups — UI, AI per-building emission, themed roster, GUT, batch | — | — | 2026-05-05 | 🟢 unblocked |
|
||||
| [p1-57](p1-57-diplomacy-tribute-treaties.md) | 🔴 stub | Diplomacy: tribute, treaty lifecycle, magical-terrain episode gating | — | [unassigned](../team-leads/unassigned.md) | 2026-05-03 | 🟢 unblocked |
|
||||
|
|
@ -79,14 +79,14 @@
|
|||
|---|---|---|---|---|---|---|
|
||||
| [p2-10](p2-10-regression-ci-gate.md) | 🟡 partial | Automated regression CI gate on every push to main | — | [testwright](../team-leads/testwright.md) | 2026-05-04 | 🟢 unblocked |
|
||||
| [p2-18](p2-18-guide-public-deployment.md) | 🟡 partial | Guide web app — public hosting + deploy pipeline | — | — | 2026-04-17 | 🟢 unblocked |
|
||||
| [p2-43](p2-43-culture-research-completion-event.md) | 🟡 partial | Culture research live-game pipeline — per-turn GDExt bridge + `culture_researched` emit | — | — | 2026-05-05 | 🟢 unblocked |
|
||||
| [p2-43](p2-43-culture-research-completion-event.md) | 🟡 partial | Culture research live-game pipeline — per-turn GDExt bridge + `culture_researched` emit | — | — | 2026-05-07 | 🟢 unblocked |
|
||||
| [p2-46](p2-46-past-games-archive-replay-viewer.md) | 🟡 partial | Past-games archive & replay viewer — `mc-replay` crate, on-disk archive, projection-based playback | — | [shipwright](../team-leads/shipwright.md) | 2026-05-05 | 🟢 unblocked |
|
||||
| [p2-47](p2-47-in-game-statistics-screens.md) | 🟡 partial | In-game statistics screens — Civ-style 5-tab modal (Demographics / Graphs / Rankings / Replay / Histories) | — | [shipwright](../team-leads/shipwright.md) | 2026-05-03 | 🟢 unblocked |
|
||||
| [p2-48](p2-48-end-of-game-summary-screen.md) | 🟡 partial | End-of-game summary screen — outcome banner, standings, score graph, awards, timeline, footer actions | — | [shipwright](../team-leads/shipwright.md) | 2026-05-03 | 🟢 unblocked |
|
||||
| [p2-55](p2-55-civilian-capture-system.md) | 🟡 partial | Civilian Capture / Destroy / Ransom | — | — | 2026-05-03 | 🟢 unblocked |
|
||||
| [p2-56c](p2-56c-master-grandmaster-auras.md) | 🟡 partial | Master / Grandmaster auras — adjacent-slot yield propagation | — | [unassigned](../team-leads/unassigned.md) | 2026-05-04 | 🟢 unblocked |
|
||||
| [p2-57a](p2-57a-typed-resource-stockpile.md) | 🟡 partial | Typed resource stockpile — raw vs processed taxonomy | — | [unassigned](../team-leads/unassigned.md) | 2026-05-04 | 🟢 unblocked |
|
||||
| [p2-58](p2-58-ambient-encounter-rolls.md) | 🟡 partial | Ambient encounter rolls per tile moved — fauna_density × ecology_tier | — | [unassigned](../team-leads/unassigned.md) | 2026-05-05 | 🟢 unblocked |
|
||||
| [p2-58](p2-58-ambient-encounter-rolls.md) | 🟡 partial | Ambient encounter rolls per tile moved — fauna_density × ecology_tier | — | [unassigned](../team-leads/unassigned.md) | 2026-05-07 | 🟢 unblocked |
|
||||
| [p2-64](p2-64-apricot-async-batch-protocol.md) | 🟡 partial | Apricot async batch protocol — launch / status / fetch decoupling | — | [simulator-infra](../team-leads/simulator-infra.md) | 2026-05-05 | 🟢 unblocked |
|
||||
| [p2-10k](p2-10k-gdlint-cleanup.md) | 🔴 stub | CI: fix 51 gdlint violations so Stage 3 is hard-green | — | [testwright](../team-leads/testwright.md) | 2026-05-04 | 🟢 unblocked |
|
||||
| [p2-10l](p2-10l-gut-regression-triage.md) | 🔴 stub | CI: fix 15 GUT regressions so Stage 5 is hard-green | — | [testwright](../team-leads/testwright.md) | 2026-05-04 | 🟢 unblocked |
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"generated_at": "2026-05-07T03:43:34Z",
|
||||
"generated_at": "2026-05-07T04:43:34Z",
|
||||
"totals": {
|
||||
"done": 161,
|
||||
"in_progress": 1,
|
||||
|
|
@ -1177,7 +1177,7 @@
|
|||
"priority": "p1",
|
||||
"status": "partial",
|
||||
"scope": "game1",
|
||||
"updated_at": "2026-05-06",
|
||||
"updated_at": "2026-05-07",
|
||||
"blocked_by": [],
|
||||
"summary": "`public/games/age-of-dwarves/docs/cities/BUILDINGS.md` \"Hybrid Merged Structures\" describes a tier-7-unlocked \"merge two co-located buildings into one hybrid\" mechanic with four named hybrids:\n\n| Merged structure | Requires | Exclusive units |\n|---|---|---|\n| War Academy | Barracks+Rifle Range + Stable+Barding Hall | Dragoon, Mounted Rifleman, Assault Cavalry |\n| Assault Citadel | Barracks+Sword Hall + Siege Workshop+Siege Annex | Siege Breaker, Combat Engineer, Storm Trooper |\n| Cavalry Corps | Stable+Barding Hall + Barracks+Bolt Range | Mounted Archer, Beast Scout, Ram Sniper |\n| Gunnery Corps | Barracks+Rifle Range + Siege Workshop+Powder Annex | Mortar Team, Assault Gunner, Field Artillery |\n\nMultiple prerequisite buildings (Stable, Barding Hall, Siege Annex, Powder Annex) and exclusive units do not exist in data. Game 1 also does not implement co-located building tile slots, master/grandmaster auras, or merge irreversibility — all called out elsewhere in BUILDINGS.md.\n\nThis is a **post-EA expansion-tier feature**. Filed at p3 to keep the gap visible without implying Game 1 EA depends on it."
|
||||
},
|
||||
|
|
@ -1770,7 +1770,7 @@
|
|||
"priority": "p2",
|
||||
"status": "partial",
|
||||
"scope": "game1",
|
||||
"updated_at": "2026-05-05",
|
||||
"updated_at": "2026-05-07",
|
||||
"blocked_by": [],
|
||||
"summary": "`EventBus.culture_researched(tradition_id, player_index)` is defined and\n**every downstream consumer is wired** (AudioManager handler, manifest\nentry `culture_researched`, the asset shipped at\n`public/resources/audio/sfx/ui/culture_researched.ogg`). What's missing\nturned out to be deeper than the original framing of this objective: the\n**entire per-turn culture-research path doesn't run in the live game**.\n\n### Trace\n\n- `turn_manager.gd:246` calls `_process_culture(player, game_map)`\n- `turn_processor.gd:360 _process_culture` only handles **border\n expansion** via `city.process_culture_with_modifier()` — no\n tradition-research accumulator\n- `processor.rs:604 process_culture_research` (Rust mc-turn) **does**\n drive tradition completion via `mc_culture::CultureResearchResult`,\n but it lives in the bench / legacy-headless path, not in the\n GDScript-driven live-game per-turn\n- Tech has a Rust GDExt method `tech_web.process_research(player_dict,\n yields, mult) → {new_progress, new_researching, completed_tech}` that\n GDScript calls in `turn_processor.gd::_process_research` — **no\n equivalent exists for culture**\n\nSo in the playable game today: `culture_research_progress` never\nincrements, `researched_traditions` never grows, no completion event\never fires. `p1-28` shipped the UI and the data graph but not the\nruntime accumulator."
|
||||
},
|
||||
|
|
@ -2200,7 +2200,7 @@
|
|||
"status": "partial",
|
||||
"scope": "game1",
|
||||
"owner": "unassigned",
|
||||
"updated_at": "2026-05-05",
|
||||
"updated_at": "2026-05-07",
|
||||
"blocked_by": [],
|
||||
"summary": ""
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,12 +1,18 @@
|
|||
---
|
||||
id: p1-59
|
||||
title: Hybrid merged structures — war_academy, assault_citadel, cavalry_corps, gunnery_corps
|
||||
title: "Hybrid merged structures — war_academy, assault_citadel, cavalry_corps, gunnery_corps"
|
||||
priority: p1
|
||||
status: partial
|
||||
scope: game1
|
||||
updated_at: 2026-05-07
|
||||
evidence:
|
||||
- "src/simulator/api-gdext/src/lib.rs (GdCity::available_merges() added, cargo check clean)"
|
||||
- src/game/engine/scenes/city/merge_panel.gd
|
||||
- src/game/engine/scenes/city/merge_panel.tscn
|
||||
- src/game/engine/scenes/city/city_screen.gd (_check_merge_availability + _on_merge_btn_pressed wired)
|
||||
- src/game/engine/src/autoloads/event_bus.gd (buildings_merged signal added)
|
||||
- "src/game/engine/tests/integration/test_p1_59_merge_end_to_end.gd (4 tests, gdlint clean)"
|
||||
---
|
||||
|
||||
## Renamed from p3-02 (2026-05-05)
|
||||
|
||||
Priority bumped from P3 to P1 per user directive: hybrid merged structures are eligible for EA. Vertical building ladders ship in `p1-43-building-stacking-upgrade.md`; horizontal merging (this objective) ships here as a separate but EA-bound deliverable.
|
||||
|
|
|
|||
|
|
@ -6,15 +6,8 @@ status: partial
|
|||
scope: game1
|
||||
updated_at: 2026-05-07
|
||||
evidence:
|
||||
- "src/game/engine/src/modules/empire/culture_web.gd:99-114"
|
||||
- "src/game/engine/src/modules/management/turn_processor.gd:402-460 (live _process_culture_research)"
|
||||
- "src/game/engine/src/autoloads/turn_manager.gd:247"
|
||||
- src/game/engine/tests/unit/test_turn_processor_culture_emit.gd (5/5 pass on apricot headless)
|
||||
- "src/game/engine/scenes/tests/auto_play.gd:145,295-303 (events.jsonl logger parity)"
|
||||
- "src/game/engine/scenes/tests/auto_play.gd:958-966,1306-1357 (Phase A AI culture picker)"
|
||||
- "src/simulator/api-gdext/src/lib.rs:5332-5418 (pre-existing Rust bridge)"
|
||||
- ".project/objectives/p2-43a-rust-port-culture-pick.md (Rail-1 port follow-up)"
|
||||
- "src/simulator/crates/mc-turn/tests/culture_research_parity.rs (2/2 pass — cycle 34)"
|
||||
- src/simulator/crates/mc-turn/tests/culture_research_parity.rs (2/2 tests pass — culture_research_parity_with_bench + culture_research_in_progress_accumulates)
|
||||
- Chronicle smoke stamp 20260506_213430 in-flight on apricot
|
||||
assigned_by: shipwright
|
||||
---
|
||||
## Summary
|
||||
|
|
|
|||
|
|
@ -7,16 +7,7 @@ scope: game1
|
|||
owner: unassigned
|
||||
updated_at: 2026-05-07
|
||||
evidence:
|
||||
- "src/simulator/crates/mc-ecology/src/encounter.rs:175 — roll_ambient_encounter signature + impl"
|
||||
- "src/simulator/crates/mc-ecology/src/lib.rs:51 — re-export AmbientTileCtx, EncounterRates, roll_ambient_encounter"
|
||||
- "public/resources/ecology/encounter_rates.json:19-31 — unit_kind_scales (scout 0.5, infantry 0.8, civilian/pioneer 2.0, default 1.0)"
|
||||
- "src/simulator/crates/mc-ecology/src/encounter.rs:289 — test_encounter_probability_scales_with_density"
|
||||
- "src/simulator/crates/mc-ecology/src/encounter.rs:325 — test_civilians_higher_roll_rate"
|
||||
- "src/simulator/crates/mc-ecology/src/encounter.rs:344 — test_encounter_seeded_determinism"
|
||||
- "src/simulator/crates/mc-core/src/seed.rs:73 — derive_step + SeedDomain::Encounter wired for [turn, unit_id, step_idx]"
|
||||
- "public/games/age-of-dwarves/docs/ecology-gameplay.md:55-74 — Layer-1 probability formula documented"
|
||||
- "cargo test -p mc-ecology --lib encounter:: → 8 passed; 0 failed (apricot, cycle 25)"
|
||||
- "cargo check --workspace → clean (apricot, cycle 25)"
|
||||
- "p2-58-ambient-encounter-rolls.md blocker section updated (cycle 34): AmbientTileCtx.fauna_density+fauna_index not on TileState in mc-turn GameState"
|
||||
blocked_by: []
|
||||
---
|
||||
## Context
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue