clone

fifteen puzzle games for the terminal, with daily puzzles, weekly ladders and xp, built on bubble tea

chore/app-model-decomp
puzzletea / openspec / specs / netwalk / spec.md
spec.md 2.7K rendered
1## Purpose2Document the shipped Netwalk built-in game behavior.34## Requirements56### Requirement: Registry Metadata7Netwalk SHALL be registered as a built-in game with canonical description "Rotate network tiles until every computer connects to the server.", aliases `network`, variants `Netwalk (default 1500 Elo)`, and daily legacy modes `easy 7x7, medium 9x9`.89#### Scenario: Resolve Netwalk10- **WHEN** the registry resolves the canonical name or any alias11- **THEN** it returns the Netwalk entry with help text, import behavior, variant metadata, and legacy mode compatibility1213### Requirement: Variant Elo Creation14Netwalk MUST support the current variant plus target Elo creation path, using the variant default Elo when no explicit target is supplied.1516#### Scenario: Spawn Netwalk by Elo17- **WHEN** the user selects the Netwalk variant and a target Elo from 0 through 300018- **THEN** PuzzleTea spawns a deterministic Netwalk puzzle and records target, actual, and confidence metadata when generation reports it1920### Requirement: Legacy Mode Compatibility21Netwalk SHALL preserve legacy named modes as compatibility presets that map to the Netwalk variant and preset Elo values: Mini 5x5 (400 Elo), Easy 7x7 (900 Elo), Medium 9x9 (1500 Elo), Hard 11x11 (2200 Elo), Expert 13x13 (2800 Elo).2223#### Scenario: Use legacy mode title24- **WHEN** the user supplies a legacy Netwalk mode title through CLI or deterministic daily metadata25- **THEN** PuzzleTea resolves it to the Netwalk variant and the registered preset Elo2627### Requirement: Puzzle Rules28The Netwalk runtime MUST let players rotate network tiles until every computer is connected to the server through matching pipe edges and there are no dangling required connections in the solved network.2930#### Scenario: Check solved state31- **WHEN** the player fills the board or word state32- **THEN** Netwalk reports solved only when all rule constraints are satisfied3334### Requirement: Save Load And Interaction35Netwalk SHALL serialize enough state for resume/import, reset to its initial puzzle, expose debug and full-help data, and support its shipped interaction model. Keyboard rotation is required, and mouse click-to-rotate support MUST be available.3637#### Scenario: Resume saved Netwalk38- **WHEN** a saved Netwalk payload is imported39- **THEN** the restored game preserves givens, player entries, cursor/selection state where applicable, and solved-state behavior4041### Requirement: Print Export Support42The Netwalk print adapter SHALL render puzzle and solution data for JSONL-to-PDF workflows.4344#### Scenario: Export Netwalk45- **WHEN** Netwalk is included in a JSONL or PDF export flow46- **THEN** PuzzleTea follows the registered print support behavior for that game