uwarp-space 2026-03-17
Binary parser deep work, terminal session split, and sysop route expansion
537 files · 23,832+ · 20,698-

Binary parser improvements for xnond, preference bytes, and visited sectors

8 files changed
  • xnond.py Cracked Gold visited-sectors bitmap encoding and fixed 750-byte detection
  • test_xnond_parser.py Comprehensive parser byte coverage and round-trip tests
  • gold.py Mapped preference bytes and corrected offsets (BBSBot-verified)
  • ddl.py Added reserved byte fields to DDL schema
  • inserters.py Updated inserters for reserved byte fields
  • directory.py Added missing binary .dat fields to directory parser
  • sqlite.py Updated SQLite helpers for new parser fields
  • schema.py Updated worker schema for reserved byte fields
  • Cracked Gold visited-sectors bitmap encoding and fixed 750-byte detection instantiate internal
    1 file
    • xnond.py
  • Fixed 5 binary parser round-trip bugs — all tests now byte-identical remediate internal
    2 files
    • xnond.py
    • test_xnond_parser.py
  • Implemented write_xnond field reconstruction with parser round-trip tests instantiate internal
    2 files
    • xnond.py
    • test_xnond_parser.py
  • Added reserved byte fields to DDL, inserters, and worker schema instantiate internal
    3 files
    • ddl.py
    • inserters.py
    • schema.py
  • Added missing binary .dat fields to DDL schema and parsers instantiate internal
    2 files
    • directory.py
    • sqlite.py
  • Decoded remaining binary unknowns via statistical analysis and BBSBot verification instantiate internal
    1 file
    • xnond.py
  • Mapped Gold twuser.dat preference byte 0x098 as ansi_enabled instantiate internal
    1 file
    • gold.py
  • Corrected Gold twuser.dat preference byte offsets (BBSBot-verified) remediate internal
    1 file
    • gold.py
  • Renamed xnond unknown_004 to initial_spawn_count; added default_ship_class and has_separate_dat decouple internal
    1 file
    • xnond.py
  • Added comprehensive parser byte coverage test suite qualify internal
    1 file
    • test_parser_byte_coverage.py
  • Added padding verification tests and false-positive variable data fix qualify internal
    1 file
    • test_xnond_parser.py

Split terminal_session.py into 8 focused files

8 files changed
  • terminal_session.py Reduced from 1968 LOC; logic extracted to focused modules
  • _ts_autopilot.py Autopilot session handling extracted from terminal_session
  • _ts_command.py Command handling extracted from terminal_session
  • _ts_creation.py Character creation flow extracted from terminal_session
  • _ts_init.py Initialization logic extracted from terminal_session
  • _ts_lifecycle.py Lifecycle management extracted from terminal_session
  • _ts_login.py Login flow extracted from terminal_session
  • _ts_storage.py Storage operations extracted from terminal_session
  • Split the 1968-line terminal_session.py into 8 focused files for maintainability decouple internal
    8 files
    • terminal_session.py
    • _ts_autopilot.py
    • _ts_command.py
    • _ts_creation.py
    • _ts_init.py
    • _ts_lifecycle.py
    • _ts_login.py
    • _ts_storage.py

Migrate telnet proxy to undef-terminal

2 files changed
  • terminal_proxy.py Delegated telnet proxy to uterm listen command
  • terminal_proxy.py Removed standalone terminal_proxy.py script
  • Migrated telnet proxy to uterm listen via the undef-terminal listen command decouple behavioral
    1 file
    • terminal_proxy.py
  • Removed the standalone terminal_proxy.py script decouple internal
    1 file
    • terminal_proxy.py

Bigbang CLI subcommands

2 files changed
  • cli.py Wired bigbang CLI subcommands for game initialization operations
  • .gitignore Added dist/ to gitignore

Sysop route expansion

6 files changed
  • bosses.py Added sysop routes for bosses
  • factions.py Added sysop routes for factions
  • ship_instances.py Added sysop routes for ship instances
  • ship_types.py Added sysop routes for ship types
  • ships.py Added sysop ships detail endpoint and autopilot discovery filter
  • pathfinding.py Updated warp/pathfinding utilities
  • Added sysop routes for bosses, factions, ship instances/types instantiate internal
    4 files
    • bosses.py
    • factions.py
    • ship_instances.py
    • ship_types.py
  • Added sysop ships detail endpoint and autopilot discovery filter instantiate behavioral
    1 file
    • ships.py
  • Updated warp/pathfinding utilities decouple internal
    1 file
    • pathfinding.py

TWGS parity fixes

4 files changed
  • _login_creation.py Fixed home planet init values to match TWGS Gold GameF
  • test_home_planet_init.py Added parity tests for home planet initialization
  • _purchases_hardware.py Fixed escape pod gating behind pod_rescue_enabled
  • prompt_handler.py Fixed Q command to properly disconnect after confirmation prompt
  • Fixed TWGS Gold alignment — FedSpace silent bounce, player_id=0 reservation, ports inserter column count remediate internal
    1 file
    • inserters.py
  • Fixed home planet init values to match TWGS Gold GameF remediate architectural
    1 file
    • _login_creation.py
  • Added parity tests for home planet initialization qualify internal
    1 file
    • test_home_planet_init.py
  • Fixed parity test suite with banking rules, limpet ticks, and explorer enhancements qualify internal
    1 file
    • test_ticks.py
  • Fixed escape pod gating in hardware emporium behind pod_rescue_enabled remediate internal
    1 file
    • _purchases_hardware.py
  • Fixed Q command to properly disconnect after confirmation prompt remediate behavioral
    1 file
    • prompt_handler.py
  • Fixed resume sector display, menu formatting, autopilot discovery, sysop dashboard remediate errata
    2 files
    • sector_display.py
    • system.py

Worker Durable Object fixes

4 files changed
  • _ts_lifecycle.py Fixed DO alarm scheduling — handle JsProxy null from getAlarm()
  • _ts_storage.py Fixed _persist_state to not re-save disconnected state
  • adapter.py Fixed Pyodide JsProxy handling in _load_session_state
  • defaults.py Fixed mark_dirty missing default for entity_id parameter
  • Fixed DO alarm scheduling — handle JsProxy null from getAlarm() remediate internal
    1 file
    • _ts_lifecycle.py
  • Fixed _persist_state to not re-save disconnected state remediate internal
    1 file
    • _ts_storage.py
  • Fixed Pyodide JsProxy handling in _load_session_state remediate internal
    1 file
    • adapter.py
  • Fixed mark_dirty missing default for entity_id parameter remediate behavioral
    1 file
    • defaults.py
  • Untracked 63 auto-generated worker/src/ files baseline internal
    1 file
    • .gitignore