10 KiB
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.csvmaps 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.gdsrc/data/technology_catalog.gdsrc/data/technology_catalog.trestests/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.gdtools/progression_calculator.gdtests/technology_graph_smoke.gdtests/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.gdsrc/simulation/world_simulation.gdtests/research_simulation_smoke.gdtests/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.gdscenes/ui/research_screen.tscnsrc/persistence/world_snapshot.gdtests/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.tressrc/simulation/objective_system.gdsrc/main.gdtests/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.tressrc/simulation/fluid_network.gdsrc/simulation/world_simulation.gdtests/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.tressrc/simulation/recipe_system.gdsrc/simulation/resource_survey.gdtests/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.tressrc/simulation/island_logistics.gdsrc/world/resource_topology.gdtests/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.tressrc/simulation/victory_system.gdsrc/simulation/achievement_clock.gdtests/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.tressrc/data/postgame_technology_content.tressrc/simulation/research_system.gdtests/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.gdtools/progression_report.gdtests/progression_benchmark_smoke.gdartifacts/progression-benchmark.md
Estimated scope: Medium