Networking Toggle Validation Demo #132

Open
opened 2025-12-17 14:00:28 +00:00 by siennathesane · 0 comments
siennathesane commented 2025-12-17 14:00:28 +00:00 (Migrated from github.com)

Description

In order to validate offline mode in v0,
as a Marathon developer,
I need to create a demo that disables networking, makes local changes, re-enables networking, and verifies changes sync correctly.

Acceptance Criteria

Scenario: Networking can be disabled
  Given networking is enabled
  When the disable networking command is executed
  Then the client operates in local-only mode

Scenario: Local changes persist when offline
  Given networking is disabled
  When local changes are made
  Then changes are saved locally

Scenario: Networking can be re-enabled
  Given networking is disabled
  When the enable networking command is executed
  Then the client reconnects to the session

Scenario: Local changes sync when reconnected
  Given local changes were made while offline
  When networking is re-enabled
  Then local changes sync with other clients

Technical Notes

  • Dependencies: #129 (CRDT sync demo), #131 (session lifecycle)
  • Approach:
    • Add networking toggle command to demo client
    • Queue local changes while offline
    • Sync queued changes on reconnect
    • Verify no state loss during toggle
  • Files affected:
    • Modify: crates/libmarathon/src/network/mod.rs (add enable/disable)
    • Modify: CRDT sync demo (add networking toggle command)

Additional Context

Part of v0 Core Tech Validation. Desktop only (macOS). Validates that the game can work offline.

## Description In order to validate offline mode in v0, as a Marathon developer, I need to create a demo that disables networking, makes local changes, re-enables networking, and verifies changes sync correctly. ## Acceptance Criteria ```gherkin Scenario: Networking can be disabled Given networking is enabled When the disable networking command is executed Then the client operates in local-only mode Scenario: Local changes persist when offline Given networking is disabled When local changes are made Then changes are saved locally Scenario: Networking can be re-enabled Given networking is disabled When the enable networking command is executed Then the client reconnects to the session Scenario: Local changes sync when reconnected Given local changes were made while offline When networking is re-enabled Then local changes sync with other clients ``` ## Technical Notes - Dependencies: #129 (CRDT sync demo), #131 (session lifecycle) - Approach: - Add networking toggle command to demo client - Queue local changes while offline - Sync queued changes on reconnect - Verify no state loss during toggle - Files affected: - Modify: `crates/libmarathon/src/network/mod.rs` (add enable/disable) - Modify: CRDT sync demo (add networking toggle command) ## Additional Context Part of v0 Core Tech Validation. Desktop only (macOS). Validates that the game can work offline.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: studio/marathon#132