uwarp-space
2026-02-14
Data/gameplay model separation completed, server module restructured, and documentation overhauled
573 files · 94,245+ · 33,220-
Data/gameplay model separation (Phase 5)
13 files changed
player.pyClean Player gameplay model — I/O boundaries convert to/from PlayerRecordplanet.pyPlanet gameplay modelsector.pySector gameplay modelconverters.pyConverter utilities between storage records and gameplay modelscombat.pyCombat rules updated to use Player modelcorporation.pyCorporation rules updated to use gameplay modelsmovement.pyMovement rules updatedplanet.pyPlanet rules updatedeconomy.pyEconomy rules updatedencounter.pyEncounter rules updatedgame_state.pyGameState converts at I/O boundaries; preserves unk_* fields in internal _*_data attributesgame_loader.pyGame loader updated for PlayerRecord → Player conversiongame_saver.pyGame saver updated for Player → PlayerRecord conversion
GameStatenow converts at I/O boundaries:PlayerRecord → Playeron load,Player → PlayerRecordon save, preserving binary-faithfulunk_*fields in internal_*_dataattributes decouple internal2 files
game_state.pyconverters.py
- All 13 core rules files, 4 server engine files, NPC system, session system, tournament system, and SQLite store updated to use clean
Player/Planet/Sectorgameplay models rather than raw storage records decouple internal5 files
combat.pycorporation.pymovement.pyplanet.pyeconomy.py
- Test imports fixed across storage tests (
test_alias_persistence,test_mercenary_expiration, etc.) qualify internal2 files
test_alias_persistence.pytest_mercenary_expiration.py
Server module restructure
7 files changed
admin.pyAdmin commands updated after server restructuretrading.pyTrading commands updatedgame_loop.pyGame loop updatedlogin.pyLogin flow updatedsession_bridge.pySession bridge updatedbf-20260214-183935.txt62,000-line debug artifact deletedentry.pyWorker entry.py trimmed — dead code removed, worker setup fixed
- Deleted a 62,000-line
src/bf-*.txtdebug artifact decouple internal1 file
bf-20260214-183935.txt
- Cloudflare Worker
entry.pysignificantly trimmed (530 insertions / 1,466 deletions) — dead code removed, worker setup fixed deprecate internal1 file
entry.py
wrangler.tomlat project root consolidated for local dev; deploy configs moved todeploy/decouple internal1 file
wrangler.toml
- Static bundle handler updated; worker scripts cleaned up
decouple
internal
1 file
static_bundle.py
Full documentation refresh
7 files changed
ARCHITECTURE.mdRewritten to describe the new model separation and GameState boundary patternDATA_MODELS.mdNew comprehensive guide to storage vs. gameplay model conventionsAPI_SPEC.mdUpdated with new model usage standardsCONTRIBUTING.mdUpdated with new model usage standardsTESTING.mdUpdated with new model usage standardsCLAUDE.mdAdded project conventions (pywrangler workflow, build pipeline, test commands)README.mdTest status badge added (790 passing)
docs/ARCHITECTURE.mdrewritten to describe the new model separation and GameState boundary pattern specify architectural1 file
ARCHITECTURE.md
docs/DATA_MODELS.mdcreated: comprehensive guide to storage vs. gameplay model conventions specify internal1 file
DATA_MODELS.md
docs/API_SPEC.md,TESTING.md,CONTRIBUTING.mdupdated with new model usage standards qualify internal3 files
API_SPEC.mdTESTING.mdCONTRIBUTING.md
- Stale status and milestone documents removed
decouple
internal
2 files
STATUS.mdMILESTONES.md
- Added
CLAUDE.mdwith project conventions (pywrangler workflow, build pipeline, test commands) qualify internal1 file
CLAUDE.md
- Added test status badge to README (790 passing)
qualify
errata
1 file
README.md
Serialization fixes
1 file changed
entry.pyFixed dataclass serialization and import path in Cloudflare worker runtime