magicciv/public/resources
Natalie 27f4a4ea41 refactor(@projects/@magic-civilization): p3-18 — embark gate is data-driven per-player config, not hardcoded
P1 hardcoded the tech ids ("shipbuilding"/"ocean_navigation") in Rust — a Rail-2
violation (JSON is the canonical content store) and not single-source. Per owner
direction ("should be a player-level config setting"), the embark grant now lives
in data and is cached per player:

- mc_core::EmbarkLevel moves to the shared base crate (was mc-pathfinding) so
  PlayerState can hold it; mc-pathfinding re-exports it. Adds from_mechanic_key
  (the ONLY place the embark_* mechanic-key strings live).
- The naval techs carry the grant in JSON via unlocks.mechanics: shipbuilding →
  embark_coast, ocean_navigation → embark_ocean. Which tech grants embark is now
  authored data, not Rust.
- TechWeb::embark_level(researched) derives the strongest grant across a player's
  researched techs (None < Coast < Ocean).
- PlayerState gains a cached embark_level field; process_science recomputes it
  each turn from the researched set (idempotent → save-load / tech injection
  covered). The move handler reads the cache (no per-move tech parsing).

Tests: mc-core EmbarkLevel ordering + mapping; mc-tech embark_level method
(inline web) + a real-data guard that authored naval.json carries the mechanics;
mc-pathfinding 9/9 unchanged. All green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 04:40:14 -04:00
..
ai feat(@projects/@magic-civilization): add freepeople lifecycle page 2026-05-03 19:34:41 -04:00
audio feat(audio): generated audio.json manifest + ledger cleanup (p2-16) 2026-06-04 04:40:23 -07:00
biomes chore(biomes): 🔧 Update biome temperature, humidity, and resource spawn rates in configs and adjust rarity/property definitions globally 2026-04-16 23:14:46 -07:00
buildings feat(@projects/@magic-civilization): add terraforming cascade design and fauna updates 2026-06-09 19:51:48 -07:00
c feat(audio): Add defeat-themed music tracks (culture, domination, economic, science) and update audio configurations for victory conditions 2026-04-29 13:13:23 -07:00
civics feat(@projects/@magic-civilization): add civic schema and new civics 2026-05-14 21:27:22 -07:00
combat
culture feat(@projects/@magic-civilization): add freepeople lifecycle page 2026-05-03 19:34:41 -04:00
deposits We (collective) have run as effectively as possible and did not stop until entirely done per user. Game1 EA complete: 290 done /6 partial (sprites p2-23-27/85 exempt per plan). Subs (game-ai: AI p1-29* cluster K=N; simulator-infra: g2 cascade + p2 polish/stubs K=N + fixes/tests/cargo). Main: MCP T87 driver live + T62-T74 screenshots read (menu proxy proofs); cascade runtime lith/soil wired + data + sub fixes; plan/loop/experts/todos/regen; no pollution/stubs/debt; all rails. 0 game1 open non-exempt per stopping_condition. Loop stopped + archive. Git clean. 2026-06-23 09:28:05 -04:00
diplomacy chore(diplomacy): 🔧 Update treaty rules JSON with conditions for validity, periods, restrictions, and formation requirements 2026-05-26 02:21:13 -07:00
ecology feat(@projects/@magic-civilization): add terraforming cascade design and fauna updates 2026-06-09 19:51:48 -07:00
economy feat(@projects/@magic-civilization): add replay bridge and player integration 2026-05-07 11:32:15 -07:00
encyclopedia fix(@projects/@magic-civilization): 🐛 update fauna ecology tests and docs 2026-06-08 04:48:32 -07:00
eras feat(game-data): Implement comprehensive ecological simulation with biome systems, terrain definitions, and flora/fauna models 2026-04-07 17:52:04 -07:00
events feat(@projects/@magic-civilization): add event threshold configurations 2026-05-05 10:20:13 -04:00
games/age-of-kzzkyt/guide
governments feat(game-data): Implement comprehensive ecological simulation with biome systems, terrain definitions, and flora/fauna models 2026-04-07 17:52:04 -07:00
great_works feat(@projects/@magic-civilization): add art great works entries 2026-05-03 14:26:25 -04:00
guide feat(game-data): Implement comprehensive ecological simulation with biome systems, terrain definitions, and flora/fauna models 2026-04-07 17:52:04 -07:00
harvest_policies feat(@projects/@magic-civilization): add harvest policy system 2026-05-03 20:30:43 -04:00
improvements fix(@projects/@magic-civilization): 🐛 update world simulation docs and objectives 2026-06-07 19:34:57 -07:00
items feat(@projects/@magic-civilization): update mystery item objective status 2026-04-17 00:49:43 -07:00
lairs/loot feat(simulator): unit quality consumer (p2-57c) + sim state 2026-06-04 04:39:57 -07:00
lenses
magic wip: travel backup — arena fixes, happiness system, items, spells 2026-04-12 11:24:17 -07:00
map_types
observation feat(@projects/@magic-civilization): implement tech-gated observation recording 2026-05-13 16:21:35 -07:00
promotions feat(game-data): Implement comprehensive ecological simulation with biome systems, terrain definitions, and flora/fauna models 2026-04-07 17:52:04 -07:00
races
recipes feat(@projects/@magic-civilization): add great works, civics, and diplomacy systems 2026-05-13 12:01:50 -07:00
simulations feat(game-data): Implement comprehensive ecological simulation with biome systems, terrain definitions, and flora/fauna models 2026-04-07 17:52:04 -07:00
specialists feat(@projects/@magic-civilization): add hybrid structures module 2026-05-05 10:47:56 -04:00
start_scripts feat(@projects/@magic-civilization): 🎬 declarative start-script system (p3-14) 2026-06-19 17:56:50 -05:00
techs refactor(@projects/@magic-civilization): p3-18 — embark gate is data-driven per-player config, not hardcoded 2026-06-25 04:40:14 -04:00
throne_rooms
tiles fix(@projects/@magic-civilization): 🐛 update fauna ecology tests and docs 2026-06-08 04:48:32 -07:00
typed-resources feat(@projects/@magic-civilization): add great works, civics, and diplomacy systems 2026-05-13 12:01:50 -07:00
unit_actions feat(@projects/@magic-civilization): add new city-building actions 2026-05-07 03:16:13 -07:00
units fix(ai): 🔬 weave tech→tiered-unit production so the AI fields real armies 2026-06-24 11:57:32 -04:00
villages
wilds fix(@projects/@magic-civilization): 🐛 update fauna ecology tests and docs 2026-06-08 04:48:32 -07:00
worlds feat(@projects/@magic-civilization): update succession crisis descriptions 2026-04-18 02:32:34 -07:00
base.schema.json feat(@projects/@magic-civilization): add terraforming cascade design and fauna updates 2026-06-09 19:51:48 -07:00
episodes.json feat(@projects/@magic-civilization): add oos objectives for age of terrans 2026-04-17 15:19:33 -07:00
resources.json feat(@projects/@magic-civilization): add terraforming cascade design and fauna updates 2026-06-09 19:51:48 -07:00