magicciv/.project/objectives/README.md
Natalie 91ee619f25 feat(@projects/@magic-civilization): add hex terrain palette system
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-26 21:08:49 -07:00

25 KiB
Raw Blame History

Objectives — Dashboard

Generated by tools/objectives-report.py — do not hand-edit. Source of truth is per-file YAML frontmatter in this directory.

Legend

done · 🔵 in-progress · 🟡 partial · 🔴 stub · missing · out-of-scope (Game 2 / Game 3)

Totals

By Priority

Priority 🔵 🟡 🔴 Total
P0 43 0 1 0 0 0 44
P1 28 1 4 0 11 1 45
P2 28 0 2 1 2 0 33
P3 (oos) 0 0 1 0 1 19 21
total 99 1 8 1 14 20 143

Left To Do by Lead

Team Lead Remaining
asset-sprite 6
warcouncil 5
shipwright 1
asset-audio 1
testwright 1
envoy 1

P0 — Blockers for "completely playable"

ID Status Title Owner Updated
p0-01 done Wire MCTS into gameplay AI warcouncil 2026-04-26
p0-02 done Five AI clan personalities drive distinct playstyles warcouncil 2026-04-26
p0-03 done PvP combat resolved inside the authoritative turn processor 2026-04-17
p0-04 done World wonder tracking in PlayerState and score victory 2026-04-17
p0-05 done Culture generation and border expansion shipwright 2026-04-17
p0-06 done Fold gold income / upkeep / improvement yields into turn loop 2026-04-17
p0-07 done Tech research costs and science pool pacing 2026-04-17
p0-08 done Domination victory path in mc-turn::victory warcouncil 2026-04-18
p0-09 done City-screen UI completeness (citizen assign, queue controls, promotion picker) 2026-04-16
p0-10 done Game-completion stability — ≥7/10 seeds declare a winner 2026-04-17
p0-11 done Author the four T8T10 mystery item drops 2026-04-16
p0-12 done Save / load + autosave on quit shipwright 2026-04-17
p0-13 done Fog of war and exploration / scout loop 2026-04-17
p0-14 done Map generation, resource placement, and balanced fair starts shipwright 2026-04-16
p0-15 done Happiness pool and Golden Age mechanics end-to-end shipwright 2026-04-17
p0-16 done Worker / tile-improvement build loop shipwright 2026-04-17
p0-17 done Wild creature and lair clearing loop shipwright 2026-04-17
p0-18 done Strategic resources gate unit production (empire ledger) 2026-04-17
p0-19 done Biome-driven collectibles → tile yields → happiness end-to-end 2026-04-16
p0-21 done Audio system capability — manifest + autoload + EventBus wiring shipwright 2026-04-17
p0-22 done "Ultimate AI stress test — 5 clans, huge map, deep lookahead" warcouncil 2026-04-25
p0-23 done Sprite rendering capability — replace procedural draw_* with texture rendering shipwright 2026-04-17
p0-24 done Difficulty-calibrated AI progression — Easy / Normal / Hard tier-peak distributions warcouncil 2026-04-19
p0-25 done Game-quality metrics instrumentation — tier_peak, peak_unit_tier, wonder_count shipwright 2026-04-17
p0-26 done Port tactical AI from GDScript to mc-ai (Rail-1 compliance) warcouncil 2026-04-18
p0-27 done GdCulture bridge — live game delegates culture to mc-culture shipwright 2026-04-17
p0-28 done GdEconomy bridge — live game delegates gold/upkeep to mc-economy shipwright 2026-04-17
p0-29 done GdTechWeb bridge — live game delegates research to mc-tech shipwright 2026-04-17
p0-30 done Remove duplicate GDScript ecology tick (single Rust source) shipwright 2026-04-18
p0-31 done Restore Rust ecology path — fix ClimateScript bugs + re-enable per-turn tick shipwright 2026-04-18
p0-32 done Restore WeatherScript + ClimateEffectsScript — per-turn weather and climate-effects shipwright 2026-04-18
p0-33 done World-map input wiring — unit selection panel, city click, ESC/F10 menu, panel close wireguard 2026-04-19
p0-34 done Freepeople tribe-founding cinematic — turn -1 / 0 / 1 start sequence and Dwarf Tribe founder unit shipwright 2026-04-18
p0-37 done Personality-emergent tactical thresholds (lift 7 hardcoded constants into axis-derived functions) warcouncil 2026-04-18
p0-38 done Inject personality-utility scores as MCTS UCB1 priors warcouncil 2026-04-24
p0-39 done AI tier-progression unit selection — production.rs picks tier-2+ units once tech unlocks warcouncil 2026-04-18
p0-40 done Iron-ore strategic resource density — unblock tier 3-6 unit chain shipwright 2026-04-24
p0-41 done Building rally points — produced units auto-deploy to a designated hex shipwright 2026-04-24
p0-41a done Rally-point smoke — produced unit gets PatrolOrder toward rally hex shipwright 2026-04-25
p0-42 done Formation aggregation — adjacent units link into a shaped formation with terrain reflow shipwright 2026-04-25
p0-42a done Formation aggregation smoke — formations form and evolve at runtime shipwright 2026-04-25
p0-43 done "Formation AI — MCTS plans at formation level, not per-unit" warcouncil 2026-04-25
p0-44 done Movement mode UX — Move button, path preview, right-click confirm, fog-aware pathing wireguard 2026-04-19
p0-45 🟡 partial Fix production.rs hardcoded ID drift — AI silently fails to queue founder, castle, granary, worker 2026-04-26

P1 — Ship-readiness

ID Status Title Owner Updated
p0-20 🟡 partial GPU-accelerated MCTS rollouts for look-ahead decision-making warcouncil 2026-04-19
p0-35 done Ecology telemetry instrumentation — flora canopy / undergrowth fields in turn_stats.jsonl shipwright 2026-04-18
p0-36 done Weather / climate-effects event telemetry — events.jsonl + turn_stats aggregates shipwright 2026-04-18
p1-01 done Diplomacy-lite — peace/war toggle plus one trade action shipwright 2026-04-17
p1-02 done Strategic resource yields feed into production bonuses shipwright 2026-04-17
p1-03 done First-run tutorial / onboarding overlay shipwright 2026-04-17
p1-05 🟡 partial Balance tuning — pop_peak ≥30 median, worker improvements ≥8 min shipwright 2026-04-25
p1-06 done Options screen polish shipwright 2026-04-17
p1-07 done Chronicle notifications coverage shipwright 2026-04-17
p1-08 done Victory/defeat screen content — recap, banner, replay seed shipwright 2026-04-17
p1-09 done Determinism gate — same seed produces byte-identical runs testwright 2026-04-19
p1-10 done Game setup UX — new-game dialog, difficulty, clan preview shipwright 2026-04-17
p1-11 done Purge build output from src/ — wasm-pack moves to .local/build/wasm/ tourguide 2026-04-17
p1-12 done Align every doc reference to the relocated wasm-pack output tourguide 2026-04-17
p1-13 done Guide dev server boots on plum with zero-error route coverage tourguide 2026-04-17
p1-15 done Deploy dev guide to https://mc.next.black.local tourguide 2026-04-17
p1-16 done Purge Game 2/3 scope bleed from user-visible Game 1 guide copy tourguide 2026-04-18
p1-17 done Forgejo workflow auto-deploys dev guide on push to main tourguide 2026-04-18
p1-18 done Village discovery — world-map feedback (notification, reward popup, minimap ping) wireguard 2026-04-19
p1-19 done Tutorial opt-in — HUD button, disappears after turn 5, starts from Step 1 wireguard 2026-04-19
p1-20 done Unit action capability registry — one source of truth for "what can this unit do right now?" wireguard 2026-04-19
p1-21 done Unit patrol orders — standing order to loop between waypoint tiles wireguard 2026-04-19
p1-22 🟡 partial MCTS per-decision wall-clock budget — bound per-turn cost on huge maps warcouncil 2026-04-25
p1-23 done Restore StatsTracker — demographics overview broken in shipped builds shipwright 2026-04-25
p1-24 done ai_personalities.json fails to load from packed builds (all platforms) — pass JSON contents not path shipwright 2026-04-25
p1-25 done Eliminate parse-error spam in export logs (Unit dup decl + SaveManager stray) shipwright 2026-04-25
p1-26 done "Tile-placement UX with effect preview — Civ7-style \"where does this go and what changes\"" shipwright 2026-04-26
p1-27 missing Extract GPU MCTS into a standalone service/client (model-boss-shaped, magic-civ-only) warcouncil 2026-04-25
p1-28 done "Culture research tree — real graph, bridge, UI" shipwright 2026-04-26
p1-29 missing "Anti-early-domination: lift game-balance gates that p0-01 v1 measured" warcouncil 2026-04-26
p1-30 missing "Optimize _build_tactical_state — 8000-tile GDScript dict-build per AI turn blocks p1-22 huge-map gate" warcouncil 2026-04-26
p1-31 missing Author the 9 buildings the tech tree unlocks but data does not provide 2026-04-26
p1-32 missing Author the food + resource processing chain (granary, mill, brewery, tannery, sawmill, herbalist) 2026-04-26
p1-33 missing Author production buildings for naval and aerial unit families (shipwright, airfield) 2026-04-26
p2-06 done Export pipeline for Windows / macOS / Linux shipwright 2026-04-25
p2-16 🔵 in_progress Audio assets — in-theme OSS launch pack + source ledger asset-audio 2026-04-27
p2-22 🟡 partial Sprite generation pipeline — runnable end-to-end asset-sprite 2026-04-25
p2-23 missing Unit sprites — Dwarf-racial roster (m/f variants) asset-sprite 2026-04-17
p2-24 missing Unit sprites — wild creatures & fauna (generic, no race/sex) asset-sprite 2026-04-17
p2-25 missing Building sprites — base game coverage (non-wonder) asset-sprite 2026-04-17
p2-26 missing Mundane-wonder sprites — 24 distinct, higher-fidelity art asset-sprite 2026-04-17
p2-27 missing City population-tier sprites — city_q1 through city_q5 asset-sprite 2026-04-17
p2-28 done Sprite provenance ledger — LICENSES.md per-file attribution asset-sprite 2026-04-25
p2-33 done "Sound system extension — categorical fallback, variant pools, per-entity routing" asset-audio 2026-04-27

P2 — Polish

ID Status Title Owner Updated
p2-01 done Minimap — fog reflection and unit markers shipwright 2026-04-17
p2-02 done Tooltips on all HUD elements shipwright 2026-04-17
p2-03 done Hotkey cheat sheet (F1 / ?) shipwright 2026-04-17
p2-04 done Localization audit — no hardcoded strings shipwright 2026-04-17
p2-05 done Sub-second single-player turn latency 2026-04-23
p2-06b done Cross-compile Windows .exe + .dll from Linux via cargo-xwin (no Windows host) shipwright 2026-04-25
p2-07 done Credits screen accessible from main menu shipwright 2026-04-17
p2-08 done Accessibility baseline — colorblind palette + keyboard navigation shipwright 2026-04-17
p2-09 done Player guide web app — builds clean from source 2026-04-17
p2-10 🟡 partial Automated regression CI gate on every push to main testwright 2026-04-23
p2-10a done "CI: gdlint stage un-gated" testwright 2026-04-25
p2-10b done "CI: headless GUT stage un-gated" testwright 2026-04-26
p2-10c done "Diplomacy: implement _collect_unique_luxury_ids() in happiness.gd" 2026-04-26
p2-10d done "Data: strip legacy flags/can_found_city/can_build_improvements from unit JSON" 2026-04-26
p2-10e done "Data: resolve duplicate IDs and dangling unlock refs in game data" 2026-04-26
p2-10f done "SaveManager: fix typed array property assignment on Player/Unit deserialization" 2026-04-26
p2-10g done "CityBridge: add production_cost field to items JSON fixture" 2026-04-26
p2-10h done "UnitRenderer: implement _build_sprite_key() helper and fix cache key test" 2026-04-26
p2-10i done "TileTooltip: fix scene node name mismatches and collectibles text formatting" 2026-04-26
p2-10j done "FogOfWar: fix recalculate_vision to not re-reveal already-seen tiles on move" 2026-04-26
p2-11 done Version string + About screen shipwright 2026-04-17
p2-11a 🔴 stub "SaveManager: add Unit.serialize/deserialize and City.production_queue serialize path" 2026-04-26
p2-12 done Install weston on apricot RUN host — unblock display-server smoke tests shipwright 2026-04-25
p2-18 🟡 partial Guide web app — public hosting + deploy pipeline 2026-04-17
p2-19 done Guide progress report page — dynamic dashboard + missing assets 2026-04-17
p2-20 done Fix simCachePlugin pre-warm worker — tsx can't resolve @magic-civ/physics-rs through pnpm symlink tourguide 2026-04-17
p2-21 done Bake pre-computed sim-cache frames into the static build tourguide 2026-04-18
p2-29 done Welcome modal + HomePage lore + guide theme align to the player's chosen race/gender tourguide 2026-04-18
p2-30 done Consolidate duplicate page styled-components into shared PagePrimitives tourguide 2026-04-18
p2-31 done Migrate guide filter + tab state from useState to URL search params tourguide 2026-04-18
p2-32 done Replace hardcoded page enums with JSON data reads tourguide 2026-04-18
p2-34 missing Author castle as the walls upgrade tier (defensive ladder) 2026-04-26
p2-35 missing Palace evolution system — longhouse → great_hall → citadel → grand_citadel + courthouse 2026-04-26

Out of Scope (Game 2 / Game 3)

These objectives are explicitly future-scope. Game 2 (Age of Kzzykt) items introduce leylines, the Green school, and spacefaring. Game 3 (Age of Elves) items cover the full five-school magic system, Archons, and Arcane Ascension. None are part of the Game 1 Early Access release.

ID Status Title Owner Updated
p1-14 oos Gate Game 2/3/4 magic-school content behind EpisodeGate (future-game scope) 2026-04-17
g2-01 oos Ley lines — Game 2 (Age of Kzzykt) 2026-04-17
g2-02 oos Kzzykt playable race — Game 2 (Age of Kzzykt) 2026-04-17
g2-03 oos Kzzykt Green school of magic — Game 2 (Age of Kzzykt) 2026-04-17
g2-04 oos Multi-GPU sharding for batch_simulate_gpu — out-of-scope (Game 2) warcouncil 2026-04-17
g3-01 oos Archons — Game 3 (Age of Elves) 2026-04-17
g3-02 oos Life school spellbook — Game 3 (Age of Elves) 2026-04-17
g3-03 oos Death school spellbook — Game 3 (Age of Elves) 2026-04-17
g3-04 oos Chaos school spellbook — Game 3 (Age of Elves) 2026-04-17
g3-05 oos Aether school spellbook — Game 3 (Age of Elves) 2026-04-17
g3-06 oos Arcane Ascension victory — Game 3 (Age of Elves) 2026-04-17
g4-01 oos Terran (Human) playable species — Game 4 (Age of Terrans) 2026-04-17
g4-02 oos Psionics ability system — Game 4 (Age of Terrans) 2026-04-17
g4-03 oos Religious victory condition — Game 4 (Age of Terrans) 2026-04-17
g5-01 oos Phantasma playable species — Game 5 (Age of Ascension) 2026-04-17
g5-02 oos Flügel playable species — Game 5 (Age of Ascension) 2026-04-17
g5-03 oos Gith playable species (Githyanki + Githzerai) — Game 5 (Age of Ascension) 2026-04-17
g5-04 oos Demonia playable species — Game 5 (Age of Ascension) 2026-04-17
g6-01 oos Naval combat — out-of-scope (post-v10) 2026-04-26
g6-02 oos Caravan trade routes — out-of-scope (post-v10) 2026-04-26

Superseded

These objectives were split into narrower children. Files are retained as index stubs so external references don't 404. The superseded_by: frontmatter field names the replacement IDs.

ID Status Title Owner Updated
p1-27d ♻️ superseded Add value_estimate_abstract GdMcTreeController method — non-lossy MCTS service caller warcouncil 2026-04-25
p2-17 ♻️ superseded Sprite assets — superseded index (split into p2-22 … p2-28) asset-sprite 2026-04-17