uwarp-space
2026-03-18
Combat improvements, Vite 8 migration, lazy loading, and transport consolidation
617 files · 34,487+ · 22,379-
Combat system improvements
7 files changed
iss.pyImplemented ISS passage mechanic and pirate fighter combatcombat.pySector fighter auto-defend and citadel defense bonus_attack_paths.pyUpdated attack paths for photon friendly-fire exemption_warp.pyBlocked TransWarp when limpet mines are attachedweapons.pyBlocked scanner and disruptor use during active photon wavetest_combat_sector_autodefend.pyTests for sector fighter auto-defendtest_limpet_transwarp_block.pyTests for limpet TransWarp blocking
- Implemented ISS (INN Security Station) passage mechanic and pirate fighter combat
instantiate
internal
1 file
iss.py
- Added sector fighter auto-defend — fighters in a sector automatically defend against attackers
instantiate
internal
2 files
combat.pytest_combat_sector_autodefend.py
- Citadel level now contributes a defense bonus to planet attack calculations
instantiate
internal
1 file
planet.py
- Respected player_alliances in photon torpedo friendly-fire exemption
remediate
internal
2 files
_attack_paths.pytest_combat_photon.py
- Blocked TransWarp when limpet mines are attached to the ship
harden
internal
2 files
_warp.pytest_limpet_transwarp_block.py
- Blocked scanner and disruptor use during an active photon wave
harden
internal
2 files
weapons.pytest_photon_wave_enforcement.py
Lazy sector and port loading
2 files changed
lazy.pyImplemented lazy loading for sectors and ports on demandtest_lazy_collections.pyTests for lazy collection loading
- Implemented lazy loading for sectors and ports — only loaded on demand rather than at startup
streamline
internal
2 files
lazy.pytest_lazy_collections.py
- Significant startup time improvement for large universes
streamline
internal
1 file
lazy.py
Web API endpoints
4 files changed
router.pyAdded /api/galaxy/export and /api/stats routes to FastAPI serverweb.pyAdded web endpoints for trade info, navigation, planet, and player locationweb_queries.pyWired web query endpoints into Cloudflare Worker fetch routertest_web_api_endpoints.pyTests for web API endpoints
- Added /api/galaxy/export and /api/stats routes to the FastAPI server
instantiate
behavioral
1 file
router.py
- Added web endpoints for trade info, navigation, planet, and player location queries
instantiate
internal
1 file
web.py
- Wired web query endpoints into the Cloudflare Worker fetch router
instantiate
internal
2 files
web_queries.pyfetch_router.py
Vite 8 and TypeScript 5.9 frontend migration
7 files changed
vite.config.tsNew Vite 8 configuration for multi-page frontend buildpackage.jsonFrontend package with Vite 8 and TypeScript 5.9 dependenciestsconfig.jsonTypeScript 5.9 configurationgalaxy.tsx3D galaxy map migrated to InstancedMesh renderingscene.tsGalaxy scene with fixed camera zoom and smooth controlsErrorBoundary.tsxAdded React ErrorBoundary componentlogger.tsFixed pino log capture
- Migrated the frontend to Vite 8 with TypeScript 5.9 hybrid build
instantiate
architectural
3 files
vite.config.tspackage.jsontsconfig.json
- Fixed all TypeScript 5.9 and @types/* errors surfaced by the upgrade
remediate
internal
2 files
api.tstheme.ts
- Migrated 3D galaxy map to InstancedMesh for efficient hex/shape rendering
streamline
internal
2 files
galaxy.tsxscene.ts
- Fixed camera zoom jitter and smoothed galaxy map controls
remediate
internal
1 file
scene.ts
- Fixed asset mount paths for local dev (/assets, /shared, ESM files at root)
remediate
internal
1 file
app.py
- Added React ErrorBoundary and fixed pino log capture
harden
behavioral
2 files
ErrorBoundary.tsxlogger.ts
Port field renames and terrain_class migration
4 files changed
ddl.pyRenamed port stock fields and terrain_class across DDLinserters.pyUpdated inserters for renamed fieldsplanet.pyRenamed terrain_class to planet_class, planet_class to planet_class_raw_seed_universe.pyUpdated _seed_universe port INSERT for renamed fields
- Renamed port stock fields — fuel/organics/equipment to fuel_prod/organics_prod/equipment_prod
decouple
internal
2 files
ddl.pyinserters.py
- Renamed terrain_class to planet_class, planet_class to planet_class_raw to clarify semantics
decouple
internal
1 file
planet.py
- Updated _seed_universe port INSERT, all DDL, and all test factories
qualify
internal
2 files
_seed_universe.pyserver_fixtures.py
Transport layer consolidation into undef-terminal
5 files changed
ssh.pyDelegated telnet/WS handling to undef-terminal; isolated SSH counters per listenertelnet.pyRe-exported SSH/WS writers from undef-terminal packagetest_ssh_transport.pySimplified transport tests after consolidationtest_ws_transport.pyTransport delegation tests for WS terminalMakefileAdded worker CI gate to check worker sync
- Delegated telnet/WS handling to undef-terminal; isolated SSH counters per listener
decouple
internal
2 files
ssh.pytelnet.py
- Re-exported SSH/WS writers from undef-terminal package
baseline
internal
1 file
ssh.py
- Consolidated SSH/ANSI into undef-terminal; simplified transport tests
qualify
internal
2 files
test_ssh_transport.pytest_ws_transport.py
- Added worker CI gate to check worker sync, with documentation
baseline
internal
2 files
Makefileci.yml
BackendState refactor
2 files changed
state.pyReplaced module-level globals with a per-app BackendState objecttest_backend_app_state.pyTests for BackendState object
Worker Durable Object fixes
3 files changed
cf_transport.pyFixed CF Worker to bundle undef-terminal and forward original WS request_ts_lifecycle.pyFixed maintenance scheduling, char-creation hibernation, lazy cache stats_ts_command.pyPopulated date field in hail, send_message, and corp memo entries
- Fixed CF Worker to bundle undef-terminal and forward original WS request
remediate
internal
1 file
cf_transport.py
- Fixed maintenance scheduling, char-creation hibernation, lazy cache stats
remediate
internal
1 file
_ts_lifecycle.py
- Fixed alarm scheduling JsProxy null handling
remediate
internal
1 file
_ts_lifecycle.py
- Populated date field in hail, send_message, and corp memo entries
remediate
internal
1 file
_ts_command.py
- Fixed mark_dirty defaults; removed stale alien rank tail from online-players report
remediate
internal
2 files
defaults.pyreports.py
Multiplayer mechanics audit
3 files changed
_pvp.pyImplemented mechanics audit issues 1-7 and 10-13 for multiplayer correctnesscomms.pyMultiplayer communication fixestest_multiplayer_integration.pyIntegration tests for multiplayer mechanics