Files

10 KiB
Raw Permalink Blame History

Full Technology Progression Tasks (superseded)

Superseded by tasks/tech-tree-todo-v0.2.md. Retained only as a record of the rejected factory-reskin direction.

TT1: Define the progression data contract

Description: Create stable IDs and typed records for technologies, research costs, prerequisites, recipes, buildings, unlocks, and postgame formulas. Import the v0.1 catalog without putting unlock conditions in UI code.

Acceptance criteria:

  • Every row in docs/tech-tree-nodes-v0.1.csv maps to one runtime record.
  • Display names can change without changing save-compatible IDs.
  • Mainline, comfort, optional, and postgame roles are explicit data.

Verification:

  • Headless catalog-load test reports 76 records.
  • Unknown pack, technology, recipe, or unlock IDs fail with an actionable message.
  • Existing simulation smoke tests still pass.

Dependencies: None

Files likely touched:

  • src/data/technology_definition.gd
  • src/data/technology_catalog.gd
  • src/data/technology_catalog.tres
  • tests/technology_catalog_smoke.gd

Estimated scope: Medium

TT2: Validate the graph and simulate route costs

Description: Add tooling that validates the dependency DAG and computes a selected route's tablet totals, lab-seconds, earliest unlocks, and final heart-furnace materials.

Acceptance criteria:

  • Validator rejects duplicates, missing prerequisites, cycles, and any M node that transitively depends on O.
  • Mainline totals equal Q 11,220; A 10,920; R 9,990; V 8,400; G 5,300.
  • Simulator can compare mainline, recommended-normal, and custom routes.

Verification:

  • Fixture tests cover each invalid-graph class.
  • Golden output records per-era cost and theoretical lab bottlenecks.
  • CI exits nonzero if catalog validation fails.

Dependencies: TT1

Files likely touched:

  • src/data/technology_graph.gd
  • tools/progression_calculator.gd
  • tests/technology_graph_smoke.gd
  • tests/fixtures/technology_graphs.tres

Estimated scope: Medium

TT3: Implement the fixed-tick research runtime

Description: Add research queues, lab input consumption, partial progress, completion events, and unlock commands while preserving the simulation's event-driven scheduling.

Acceptance criteria:

  • Labs consume one exact tablet set per completed unit and never duplicate or lose items.
  • Loss of an input pauses exact progress and input restoration wakes the lab.
  • Completing a technology emits one idempotent unlock event.

Verification:

  • Fixed-seed runs produce identical research fingerprints.
  • Disconnect/reconnect tests preserve partial unit progress exactly.
  • Parallel labs complete the same technology without over-consuming the final unit.

Dependencies: TT1, TT2

Files likely touched:

  • src/simulation/research_system.gd
  • src/simulation/world_simulation.gd
  • tests/research_simulation_smoke.gd
  • tests/simulation_smoke.gd

Estimated scope: Medium

TT4: Add research UI and persistence

Description: Let players inspect the graph, understand missing prerequisites and materials, manage the queue, and resume exact progress after save/load.

Acceptance criteria:

  • Locked, available, queued, active, and complete states are visually distinct.
  • Selecting a node shows prerequisites, exact cost, unlocks, and current bottleneck.
  • Save/load preserves completion, queue order, invested tablets, timer, and achievement eligibility.

Verification:

  • UI only submits research commands and never grants unlocks directly.
  • Save-then-run and uninterrupted-run fingerprints match.
  • Keyboard/mouse navigation works at 1280×720 and 1920×1080.

Dependencies: TT3

Files likely touched:

  • src/ui/research_screen.gd
  • scenes/ui/research_screen.tscn
  • src/persistence/world_snapshot.gd
  • tests/research_save_smoke.gd

Estimated scope: Medium

TT5: Deliver the T0/T1 vertical slice

Description: Build the campaign opening from repair milestones through automated mining, refinement, bridge arms, and continuous cyan-tablet production.

Acceptance criteria:

  • A fresh player can reach C11 using only produced resources and objective guidance.
  • Existing demo entities map to progression IDs without changing their deterministic behavior.
  • Cyan production at 15/min is achievable with a clearly readable small factory.

Verification:

  • Fresh-start headless scenario completes all six milestones and C11.
  • Manual walkthrough needs no developer controls or hidden starter stock.
  • Regression suite for belts, mana, and bridge endpoints passes.

Dependencies: TT4

Files likely touched:

  • src/data/era_t0_t1_content.tres
  • src/simulation/objective_system.gd
  • src/main.gd
  • tests/era_t1_flow_smoke.gd

Estimated scope: Medium

TT6: Deliver the T2 mana-logistics slice

Description: Add second-tier belts and bridge arms, mana stabilization, spirit-sand glasswork, ether-fluid handling, and the crimson-tablet gate.

Acceptance criteria:

  • The first fluid recipe requires pumps and storage but has no unrecoverable deadlock.
  • Disconnecting mana or fluid produces a precise stop reason and resumes safely.
  • The reference build sustains 15 crimson tablets per minute.

Verification:

  • Automated flow covers A01 through A12 from a T1-complete save.
  • Fluid and mana conservation tests pass under backpressure.
  • Bridge II range and filters match catalog data.

Dependencies: TT5

Files likely touched:

  • src/data/era_t2_content.tres
  • src/simulation/fluid_network.gd
  • src/simulation/world_simulation.gd
  • tests/era_t2_flow_smoke.gd

Estimated scope: Medium

TT7: Deliver the T3 alchemy slice

Description: Add elemental separation, alchemical synthesis, thermal mana, precision construction, leyline survey, and violet-tablet production.

Acceptance criteria:

  • R13 can be reached without any C or O technology.
  • Byproducts back up visibly and can be routed or voided through an explicit recipe.
  • The reference build sustains 20 violet tablets per minute for normal pacing.

Verification:

  • Automated flow covers the mandatory T3 route from a T2-complete save.
  • Conservation and deterministic allocation tests include solid, fluid, and mana networks.
  • Optional construction golems do not appear in the mandatory dependency closure.

Dependencies: TT6

Files likely touched:

  • src/data/era_t3_content.tres
  • src/simulation/recipe_system.gd
  • src/simulation/resource_survey.gd
  • tests/era_t3_flow_smoke.gd

Estimated scope: Medium

TT8: Deliver the T4 cross-island slice

Description: Add bounded floating-island expansion, bulk shipping, deep leyline mining, phase metallurgy, spirit processors, and emerald-tablet production.

Acceptance criteria:

  • A mandatory late resource is obtained from another island and moved by an automated route.
  • Required-resource distances stay inside the achievement-safe generation envelope.
  • The reference build sustains 20 emerald tablets per minute for normal pacing.

Verification:

  • Fixed benchmark seeds expose all critical resources in allowed distance bands.
  • Cross-island transport preserves item counts across save/load.
  • Automated flow reaches V13 without comfort or warding nodes.

Dependencies: TT7

Files likely touched:

  • src/data/era_t4_content.tres
  • src/simulation/island_logistics.gd
  • src/world/resource_topology.gd
  • tests/era_t4_flow_smoke.gd

Estimated scope: Medium

TT9: Deliver T5 and the heart-furnace victory loop

Description: Add source extraction, perpetual mana, warp logistics, heart components, furnace assembly, 300-second ignition, authoritative victory timing, and both limit achievements.

Acceptance criteria:

  • G13 unlocks the ignition process but does not itself win the game.
  • The furnace consumes exact structure and component totals and pauses safely on mana loss.
  • Completion at 8 hours grants both achievements; completion after 8 but by 24 grants only the 24-hour achievement.

Verification:

  • Accelerated deterministic test runs the entire final sequence without debug item injection.
  • Boundary tests cover 07:59:59, 08:00:00, 23:59:59, and 24:00:00.
  • Save/load during component assembly and ignition preserves exact progress and clock state.

Dependencies: TT8

Files likely touched:

  • src/data/era_t5_content.tres
  • src/simulation/victory_system.gd
  • src/simulation/achievement_clock.gd
  • tests/victory_flow_smoke.gd

Estimated scope: Medium

TT10: Add optional and postgame branches

Description: Implement comfort automation, modules, construction/logistics golems, warding, sky tablets, and seven repeatable technology lines without altering the mainline closure.

Acceptance criteria:

  • Every C technology has a measurable convenience or payback claim.
  • Standard campaign can finish with every O technology locked.
  • Repeatable costs follow catalog formulas and cannot overflow save or UI values.

Verification:

  • Dependency validator still reports no M-to-O path.
  • Mainline route totals remain unchanged after optional content loads.
  • Repeatable levels 1, 10, and 50 calculate deterministically.

Dependencies: TT9

Files likely touched:

  • src/data/optional_technology_content.tres
  • src/data/postgame_technology_content.tres
  • src/simulation/research_system.gd
  • tests/postgame_research_smoke.gd

Estimated scope: Medium

TT11: Prove and tune 8/24-hour pacing

Description: Instrument progression timestamps and bottlenecks, create reference saves/routes, run structured expert and normal playtests, then tune against percentile targets.

Acceptance criteria:

  • Telemetry records every metric listed in the design without collecting personal data.
  • Expert P50/P90 and normal P50/P75 meet the agreed limits on standard maps.
  • Each tuning change names the observed bottleneck and preserves route identity.

Verification:

  • Benchmark report compares at least three expert runs and eight first-play runs.
  • Automated route simulation agrees with catalog costs and benchmark save inventories.
  • Final release checklist contains no unexplained wait above five minutes.

Dependencies: TT9, TT10

Files likely touched:

  • src/telemetry/progression_metrics.gd
  • tools/progression_report.gd
  • tests/progression_benchmark_smoke.gd
  • artifacts/progression-benchmark.md

Estimated scope: Medium