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
H/I scaffolded
post Phase 1 minimum-playable
Modules (Build.cs targets)
| Module | Files | LOC | Role |
|---|---|---|---|
AxonRushCore | 817 | 57,373 | Foundation — gameplay context, providers, reactions, triggers, scenario, hotpatch, debug overlay, perf HUD |
AxonRush | 184 | 29,253 | Core gameplay — match flow, world, units, combat, economy, projects, dormancy, visibility, AI |
AxonRushEditor | 68 | 19,312 | Editor extensions — InstancedStruct graph customization, Hotpatch inject queue, TaskTracker UI |
AxonRushUI | 122 | 7,707 | In-match HUD + frontend lobby UI |
AxonRushEventRouter | 98 | 6,674 | Generic event bus (verb system) |
AxonRushOnline | 17 | 1,882 | PlayFab anonymous CustomID auth + matchmaking REST |
AxonRushUIEditor | 4 | 297 | 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 area | Files | LOC | Notes |
|---|---|---|---|
Gameplay/Providers/ | 269 | 10,540 | 15 typed providers × 8 universal subproviders (Bool/Int32/Double/Vector/Rotator/Transform/Name/Text/LinearColor/GameplayTag/Tag-container/Actor/Class/Object/SoftObjectPtr) |
Tests/ | 231 | 28,907 | Foundation-layer test scaffolding (provider round-trips, trigger fixtures, scenario steps) |
Gameplay/Triggers/ | 29 | 2,270 | Verb framework — gates, source triggers (Tick/Delay/BP), wrappers (All/Any/Counted/None/Sequence/TimeOfDay/TrackedDelta), subsystem |
Gameplay/Reactions/ | 3 | 142 | 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 area | Files | LOC | Status |
|---|---|---|---|
| World — grid, tiles, mapgen, paths | 50 | 9,067 | Real |
| Game — mode, state, player controller, OneShot dispatch | 16 | 4,720 | Real |
| Combat — cascade, edge combat, ticker framework | 9 | 4,597 | Real |
| DevTools — cheats catalog (82 commands) | 18 | 3,936 | Real |
| Match — lifecycle, lobby, tracker, overlay | 17 | 1,391 | Real |
| Units — 5 unit types + visualizer + query service + tuning | 13 | 1,411 | Real + tuning hooks |
| Hooks — 14 trigger payloads + bridges | 23 | 1,168 | Real |
| Replication — Iris filter groups, push-based, team-bubble | 8 | 709 | Real (post A-3) |
| AI — StubCpu + Personality + Names | 5 | 649 | Stub behaviour Real input shape |
| Economy — gather pickup + dropoff subsystems | 4 | 648 | Real |
| HUD / UI surface | 3 | 254 | Placeholder |
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
- 1Match lifecycle state machine (Lobby → Countdown → InMatch → MatchEnd)Real
- 2Hex grid + axial coordinate worldReal
- 3Authoritative grid state TMap (server-only)Real
- 49-rule tile axis (PassThrough, 5 Spawn-X, ResourceProducer, Upgrade, Tower, HomeBase)Real
- 5Tile-type axis (Generic + Trap)Real
- 6Procedural map generator (region+corridor, Lloyd-relaxation spawns)Real
- 7Mass entity unit framework (5 types, fragments, walking, path-trees)Real
- 8Per-type path-tree system (Army/Gather/Engineer/Defender; Scout direct-control)Real
- 9Combat cascade (Defender → Army → ClaimHP, edge combat, scout immunity)Real
- 10Per-tile combat ticker framework (6 ref-counted reasons)Real
- 11Resource economy (4 slots, stockpile, loose pile, gather pickup/dropoff/decay)Real
- 12Engineer projects (queue, work-seconds attribution, 3-tier costs)Real
- 13Dormancy (decay + occupation timer + contestation)Real
- 146-source visibility service (5 of 6 sources real)Real
- 15Iris-based replication architecture (3 channels: tile / Mass entity / paths)Real
- 16Single boundary RPC (Server_SubmitInputState) + OneShot dispatchReal
- 17Faction system (data assets, bootstrap)Real
- 18Hooks-for-UI trigger bus (14 trigger payloads)Real
Stub or partial — 4
- 1AI brain — UAxonStubCpuSubsystem ticks, draws random expansion paths; only ThoughtSpeedHz personality stat consumedStub
- 2ClaimHP single-pool grind (PB-1 will replace with per-pool cascade)Stub
- 3Win-condition (reads ownership flip, not HPPool zero)Stub
- 4Per-stack unit Level (PE will add)Stub
Hooks only — 2
- 1Leader system (entire — AAxonLeader doesn't exist; PD-1 will create)Hook
- 2Nexus tile-type effect (placement works; mechanic TBD per Decision #5)Hook
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)
| Namespace | Count | What they touch |
|---|---|---|
axon.tile.* | ~17 | Set rule / level / type / owner / stockpile / loose-pile / dormant / occupy |
axon.combat.* | ~7 | List / skip / comeback / dump / tile-defense |
axon.path.* | ~6 | Set / clear / dump (per-type variants) |
axon.unit.* | ~5 | Spawn / kill / list |
axon.ai.* | 5 | Enable / disable / set-difficulty / dump-personality / dump-name |
axon.match.* | ~5 | Start / end / countdown / counts / set-seed |
axon.spawn.* | 4 | Enable / disable / burst / count |
axon.tv.* | 3 | Team-view dump / recompute |
axon.scout.* / axon.engineer.* | 3 | List / move / list-projects |
axon.faction.* | 2 | Apply / choose |
axon.trace.* | 2 | Claim / walk |
axon.mapgen.* | 2 | Smoke / preview |
| Misc diagnostic | ~5 | triggers.debug, client.compare_to_server, perf.dump, walk.disable, tile.hp_dump |
Documentation
| Location | Files | Lines |
|---|---|---|
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.
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.