AxonRush · Codebase Audit

2026-05-09 · CL 595 · post Phase E/F/G ship

Top-line numbers

Source files
1,310
.h + .cpp across all modules
Total LOC
122,498
all source code
Non-test LOC
91,135
production code
Test LOC
31,363
26% of total — strong coverage
Modules
7
Build.cs targets
Subsystems
20
UE *Subsystem classes
Console cheats
82
distinct axon.* commands
Submitted CLs
595
since project start
Tickets
234
retroactive at submit
Scenarios
11
scripted PIE smokes
Design docs
51
15,672 lines markdown
Phase status
A–G shipped
H/I scaffolded
post Phase 1 minimum-playable

Modules (Build.cs targets)

ModuleFilesLOCRole
AxonRushCore81757,373 Foundation — gameplay context, providers, reactions, triggers, scenario, hotpatch, debug overlay, perf HUD
AxonRush18429,253 Core gameplay — match flow, world, units, combat, economy, projects, dormancy, visibility, AI
AxonRushEditor6819,312 Editor extensions — InstancedStruct graph customization, Hotpatch inject queue, TaskTracker UI
AxonRushUI1227,707 In-match HUD + frontend lobby UI
AxonRushEventRouter986,674 Generic event bus (verb system)
AxonRushOnline171,882 PlayFab anonymous CustomID auth + matchmaking REST
AxonRushUIEditor4297 UI module's editor-only helpers

Foundation layer breakdown (the 817-file Core)

85% of AxonRushCore's file count is foundation-layer scaffolding (per-type providers + tests). Only ~10K LOC is unique logic.
Foundation areaFilesLOCNotes
Gameplay/Providers/26910,540 15 typed providers × 8 universal subproviders (Bool/Int32/Double/Vector/Rotator/Transform/Name/Text/LinearColor/GameplayTag/Tag-container/Actor/Class/Object/SoftObjectPtr)
Tests/23128,907 Foundation-layer test scaffolding (provider round-trips, trigger fixtures, scenario steps)
Gameplay/Triggers/292,270 Verb framework — gates, source triggers (Tick/Delay/BP), wrappers (All/Any/Counted/None/Sequence/TimeOfDay/TrackedDelta), subsystem
Gameplay/Reactions/3142 Reaction-base + variants
Hotpatch / Scenario / PerfHUD / DebugOverlay / Cheats / EventRouter~30~3,000 Dev-side tooling subsystems (asset injection, scenario runner, perf HUD provider, debug overlay widget, cheat manager, generic event bus)

Gameplay-module breakdown (the 29,253-line AxonRush)

Subsystem areaFilesLOCStatus
World — grid, tiles, mapgen, paths509,067Real
Game — mode, state, player controller, OneShot dispatch164,720Real
Combat — cascade, edge combat, ticker framework94,597Real
DevTools — cheats catalog (82 commands)183,936Real
Match — lifecycle, lobby, tracker, overlay171,391Real
Units — 5 unit types + visualizer + query service + tuning131,411Real + tuning hooks
Hooks — 14 trigger payloads + bridges231,168Real
Replication — Iris filter groups, push-based, team-bubble8709Real (post A-3)
AI — StubCpu + Personality + Names5649Stub behaviour Real input shape
Economy — gather pickup + dropoff subsystems4648Real
HUD / UI surface3254Placeholder

Major gameplay systems

18 production systems in real / spec-faithful status, plus 4 active stubs and 2 hooks-only awaiting implementation.

Production-design (Real) — 18

Stub or partial — 4

Hooks only — 2

Subsystems (the 20)

Match / Online (5)
AxonMatchLifecycleSubsystem  ·  AxonMatchTrackerSubsystem  ·  AxonAuthSubsystem  ·  AxonMatchmakingSubsystem  ·  AxonInjectQueueSubsystem
World (1)
AxonGridSubsystem
Combat / Mechanics (4)
AxonCombatSubsystem  ·  AxonCombatTickerFramework  ·  AxonTileMechanicsSubsystem  ·  AxonInMatchUISubsystem
Economy (2)
AxonGatherPickupSubsystem  ·  AxonGatherDropoffSubsystem
Units / Replication (2)
AxonMassReplicationSetupSubsystem  ·  AxonTeamUnitBubbleSubsystem
AI (1)
AxonStubCpuSubsystem
Foundation / Dev (5)
AxonTriggerSubsystem  ·  AxonHotpatchSubsystem  ·  AxonScenarioSubsystem  ·  AxonDebugOverlaySubsystem  ·  AxonPerfHUDSubsystem
Other (1)
EventRouterSubsystem (generic verb dispatcher)

Cheat surface (82 distinct commands)

NamespaceCountWhat they touch
axon.tile.*~17Set rule / level / type / owner / stockpile / loose-pile / dormant / occupy
axon.combat.*~7List / skip / comeback / dump / tile-defense
axon.path.*~6Set / clear / dump (per-type variants)
axon.unit.*~5Spawn / kill / list
axon.ai.*5Enable / disable / set-difficulty / dump-personality / dump-name
axon.match.*~5Start / end / countdown / counts / set-seed
axon.spawn.*4Enable / disable / burst / count
axon.tv.*3Team-view dump / recompute
axon.scout.* / axon.engineer.*3List / move / list-projects
axon.faction.*2Apply / choose
axon.trace.*2Claim / walk
axon.mapgen.*2Smoke / preview
Misc diagnostic~5triggers.debug, client.compare_to_server, perf.dump, walk.disable, tile.hp_dump

Documentation

LocationFilesLines
Claude/ total 51 15,672
Pillar docs (GDD, ArchitecturePath, PostArchitecture, tech-decisions, prearchitecture, mdMap) 6 ~5,500
Biome docs (15 biomes) 15 ~3,000
Phase / impl plans (Tile-UI-Handoff, DevToolsCatalog, M6-M7-Implementation-Plan, etc.) ~12 ~3,500
Website pages ~15 ~2,500
Misc (recruitment, trailer brief, onboarding) ~3 ~1,200

Velocity context

CL range submitted in this lineage: CL 1 → CL 595. The active autonomous session that brought the project here ran CL 575 → CL 595 — 21 CLs over the autonomous run plus the gap-analysis + PostArchitecture conversation.

Coverage in that range: Phase E close (dormancy), Phases F (visibility/scout/fog) and G (upgrade/projects/types) full, Phase H + I scaffolding, gap analysis, PostArchitecture plan, AI naming pool.

Most CLs are sub-slice-sized (5–50 LOC + ticket + doc update). Largest single CL in the recent batch is CL 581 (F-1 6-source visibility) at ~200 LOC.