Natalie
fd24254a7a
feat(@projects/@magic-civilization): ✨ prologue wanderers visible + tile-dominant unit/city sprites
...
- Reveal the prologue spawn box in recalculate_vision: the player owns no units
during the turn -1/0/1 cold-open, so unit-derived fog left the whole map black
and the wanderers invisible. Reveal the local player's box (LOS from centroid +
each wanderer hex) whenever a prologue is active.
- Prologue overlay: draw the real dwarf_wanderer / dwarf_tribe sprites, centered
on the hex (+ hex_center, was drawing at the corner), scaled to match in-game
units. Marker glyph kept only as a missing-asset fallback.
- Scale all unit sprites to 0.6 of hex width and city sprites to 0.75 via
DrawHelpers.scaled_sprite_size — Civ-like tile dominance instead of the tiny
native 64px blit that read as unreadable tokens.
- Add toggleable leveled Log autoload (dev/info/warn/error via MC_LOG_LEVEL,
default info); route prologue diagnostics through it with durable tags
(prologue / prologue-overlay), not objective ids.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 19:41:19 -05:00
Natalie
1b67eba7b4
refactor(@projects/@magic-civilization): 🎨 tokenize ui menu colours (p2-74 cluster 5)
...
Route scenes/ui/ingame_menu.gd (4) and scenes/ui/lens_switcher.gd (4)
off inline Color() literals onto existing design tokens (no token
additions, no theme rebuild needed).
- ingame_menu save status: green/red → semantic.positive / semantic.negative.
- lens_switcher active-lens font → semantic.positive; panel bg →
background.deepest (alpha 0.82 preserved) + border → border.panel.
- Wrap two _show_status calls to satisfy max-line-length.
Both files gdlint-clean; all token refs resolve. 0 inline Color() remain.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 22:17:49 -05:00
Natalie
fd5d6f1e88
refactor(@projects/@magic-civilization): 🎨 tokenize throne_room colours (p2-74 cluster 4)
...
Route scenes/menus/throne_room.gd off its 12 inline Color() literals
(the _layer_to_color placeholder palette) onto design tokens.
- Add color.throne.* (12 decoration-category placeholder colours) to
design-tokens.json using exact-hex equivalents — zero visual change.
- Regenerate ui_theme.tres via tools/build-ui-theme.py (--check clean).
- Refactor _layer_to_color from a 13-return if-chain to a const
LAYER_COLOR_TOKENS dict + 2 returns (DRY; clears a pre-existing
max-returns gdlint warning too).
Verified on plum: JSON valid, theme --check clean, all 13 token refs
resolve, 0 Color() remain, gdlint fully clean on the file. Apricot visual
proof pending (placeholders render only on missing decoration sprites).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 21:57:49 -05:00
Natalie
021d57336f
refactor(@projects/@magic-civilization): 🎨 tokenize knowledge_tree colours (p2-74 cluster 3)
...
Route the knowledge-tree (tech/culture) screen off 26 inline Color()
literals onto the design-token system.
- Add color.tech.* (8 node-state bg/border) + color.unlockAccent.* (7
badge accents + dim) to design-tokens.json using exact-hex equivalents
of the prior literals — zero visual change for cards/badges by
construction.
- Regenerate ui_theme.tres via tools/build-ui-theme.py (--check clean).
- Remap detail-panel/text literals to existing background.panel /
border.panel / border.divider / text.* / accent.* tokens.
- const→var refactor seeded in _resolve_theme_colors() (ThemeAssets.color
isn't const-eval safe), called before _build_layout().
- Compact the indicator-badge spec block to a data-driven loop (identical
tooltip output, fixes max-line-length).
Verified on plum: JSON valid, theme --check clean, all 26 token refs
resolve, no stale const refs (incl. subclasses), gdlint clean except the
pre-existing max-file-lines (file predates this pass; engine/scenes/ is
not gdlint-gated). Apricot visual proof pending (no godot import on plum).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 20:14:02 -05:00
Natalie
2c145ce5a3
fix(@projects/@magic-civilization): 🐛 verify hydrology mutations survive round-trip save-load
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-10 04:37:47 -07:00
Natalie
20de41a246
feat(@projects): ✨ add compute profiling layer for dev debugging
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-10 04:26:34 -07:00
Natalie
31f88a2e95
feat(@projects): ✨ document parallel simulation design
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-10 04:20:43 -07:00
Natalie
e20a576d90
feat(@projects/@magic-civilization): ✨ update objective statuses and priorities
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-10 04:02:08 -07:00
Natalie
242e717fb6
feat(@projects/@magic-civilization): ✨ add bunker test improvements
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-10 03:54:56 -07:00
Natalie
c88e136469
fix(@projects): 🐛 update deployment and guide workflows
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-10 03:38:03 -07:00
Natalie
6588c0cc76
feat(@projects/@magic-civilization): ✨ add river gap blocking for bunkers
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-10 02:27:17 -07:00
Natalie
161213a795
✅ test(@projects/@magic-civilization): 📸 add bunker proof test scene
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 23:18:24 -07:00
Natalie
da5f138c23
fix(@projects/@magic-civilization): 🐛 update bunker status and acceptance criteria
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 23:11:43 -07:00
Natalie
d8288b2a9d
feat(@projects/@magic-civilization): ✨ add suppressed tile yield suppression logic
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 23:05:17 -07:00
Natalie
257d16eee5
feat(@projects/@magic-civilization): ✨ add bunker river gap blocking logic
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 22:58:46 -07:00
Natalie
a94c0f18e5
feat(@projects/@magic-civilization): ✨ add flora transition chronicle events
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 22:55:29 -07:00
Natalie
77f2550fd7
feat(@projects): ✨ complete flora lifecycle chronicle events
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 22:48:59 -07:00
Natalie
c8491ead8d
feat(engine): ✨ add flora succession test suite
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 22:42:21 -07:00
Natalie
147095355c
fix(@projects/@magic-civilization): 🐛 adjust carrying_capacity for stable succession test
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 22:35:51 -07:00
Natalie
12141f4c15
feat(@projects/@magic-civilization): ✨ add flora succession bridge test
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 21:11:01 -07:00
Natalie
5d234523b6
feat(@projects/@magic-civilization): ✨ expose flora succession transitions
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 21:04:33 -07:00
Natalie
6931b934ec
feat(@projects/@magic-civilization): ✨ expose flora succession transitions
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 20:58:07 -07:00
Natalie
97fde477c2
feat(@projects/@magic-civilization): ✨ integrate flora lifecycle into played turns
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 20:51:34 -07:00
Natalie
ef25e2cf8b
feat(api): ✨ add round-trip serialization tests for city data
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 20:44:17 -07:00
Natalie
0763db8e2d
feat(game): ✨ persist wind_direction for climate fidelity
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 01:17:04 -07:00
Natalie
00e98329fa
feat(@projects/@magic-civilization): ✨ update objectives dashboard and climate integration
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 01:07:07 -07:00
Natalie
fdcf67801c
fix(@projects/@magic-civilization): 🐛 adjust science yield calculation
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 20:29:12 -07:00
Natalie
9c10a90075
feat(@projects/@magic-civilization): ✨ add player economy field mapping
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 20:09:35 -07:00
Natalie
94d9a8b483
feat(ai): ✨ add accurate per-city yields to learned obs
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 19:37:33 -07:00
Natalie
c94faa3a11
feat(ai): ✨ improve move vs combat parity tracking
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 18:52:56 -07:00
Natalie
88bb753876
feat(ai): ✨ add parity sampling for move validation
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 18:39:56 -07:00
Natalie
6a15d0a418
feat(@projects/@magic-civilization): ✨ add learned slot turn execution logic
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 18:19:24 -07:00
Natalie
a5de8ad517
feat(@projects/@magic-civilization): ✨ add recording variant for learned slot actions
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 18:05:47 -07:00
Natalie
a804ceb430
fix(@projects/@magic-civilization): 🐛 fix axial-to-offset conversion for grid visibility
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 17:51:48 -07:00
Natalie
d83ded529e
feat(@projects/@magic-civilization): ✨ add learned-controller probe integration
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 12:22:03 -07:00
Natalie
7d37fdc2dd
feat(@ai): ✨ add controller slot mapping cache
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 12:15:39 -07:00
Natalie
7734b7532a
feat(@projects/@magic-civilization): ✨ add optional sprite load warning flag
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 11:46:03 -07:00
Natalie
c1f44e0a83
feat(@projects/@magic-civilization): ✨ complete city script view conversion
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 11:32:55 -07:00
Natalie
1bca207c79
fix(@projects/@magic-civilization): 🐛 remove npc_buildings array and rebuild logic
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 07:37:54 -07:00
Natalie
aef9acc36c
feat(@projects/@magic-civilization): ✨ improve improvement effects parsing and rust completion
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 06:50:48 -07:00
Natalie
f773e153ab
feat(@projects/@magic-civilization): ✨ update terrain effects to rust
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 06:07:44 -07:00
Natalie
2be22f5c57
feat(@projects/@magic-civilization): ✨ add soil derivation engine
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 05:45:16 -07:00
Natalie
6c9b9c8b5d
feat(@projects/@magic-civilization): ✨ update worldsim integration docs and test path
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 05:17:50 -07:00
Natalie
fd65808d57
feat(@projects/@magic-civilization): ✨ update victory science techs to natural sciences
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 04:57:32 -07:00
Natalie
490f37004a
fix(@projects/@magic-civilization): 🐛 update fauna ecology tests and docs
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 04:48:32 -07:00
Natalie
86ab31afea
feat(@projects): ✨ close missing-sprite runtime faults
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 04:14:50 -07:00
Natalie
bc80362327
feat(@projects/@magic-civilization): ✨ add test sprite proofs for new scene categories
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 04:06:55 -07:00
Natalie
493702daf0
feat(@projects/@magic-civilization): ✨ add new assets and design docs
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 03:54:49 -07:00
Natalie
66d0a8ecab
feat(@projects/@magic-civilization): ✨ add authoritative turn step without inline movement
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 03:31:45 -07:00
Natalie
502a77a49b
feat(@projects/@magic-civilization): ✨ verify headless player api projection roundtrip
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 02:58:10 -07:00