Eliminates the 22K-object switchRegistry that caused O(n×m) scans 4x per tick.
Network health is now tracked as aggregate counts per tier (totalByTier/healthyByTier)
with RepairBatch timers, cutting late-game tick cost from ~50ms to ~0.3ms.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Expand from 10 to 18 rack SKUs across NVIDIA, AMD, and custom ASIC vendors, each with
distinct training vs inference FLOPS, VRAM capacity, cooling requirements, and interconnect
technology. Adds cooling hierarchy (air/liquid/immersion) that gates rack deployment, VRAM
requirements that gate model training by generation, interconnect multipliers for distributed
training scaling, and PUE-based energy cost reduction for advanced cooling. Includes save
migration from v4 to v5, 6 new research nodes, and UI updates showing split compute stats.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace aggregate network health stats with a full 6-tier Clos topology
(ToR → T1 → T2 → T3 → T4 → T5) where every switch is an individually
tracked entity with uplinks, repair pipelines, and failure cascades.
Key mechanics:
- Bottleneck bandwidth model (min along path) affects FLOPS and satisfaction
- Rackdown on full disconnect → racks re-enter testing pipeline on recovery
- Binomial failure sampling per tier, dirty-flag cascade optimization
- Flat switch registry for performance at scale
- Three new research nodes: network-redundancy, fast-repair, hot-standby
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Campus level: "Fill All DCs" instantly fills all operational DCs with
selected SKU in one click. "Retrofit Campus" queues a staggered retrofit
with configurable concurrency (1/10%/25%/custom) so only a fraction of
DCs go offline at a time, preserving capacity during the upgrade.
Cluster level: "Fill All DCs" fills across all campuses in one action.
The game engine automatically advances the retrofit queue each tick,
promoting pending DCs as active ones complete.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
computeRacksFailed was incremented on production failure and never decremented
when repaired racks came back online, while repair cohorts also tracked the
same racks. This caused usedSlots to inflate past the DC capacity over time.
Fix: derive computeRacksFailed from repair cohorts each tick instead of
maintaining it as a running counter. Include repair cohorts in pipeline slot
accounting so all racks are counted exactly once. Also fixes power limit in
fillDCToCapacity to only count online racks (pipeline racks don't draw power).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace flat DataCenter/Rack model with Cluster > Campus > Data Center > Racks
hierarchy. Individual rack entities eliminated in favor of statistical batch
simulation using deployment cohorts. Adds tiered network topology (ToR/agg/core)
with proportional outage model, DC retrofitting, bulk operations, and drill-down
UI navigation with breadcrumbs. First cluster and campus are free to preserve
early game flow. Rebalances starting economy ($600K), funding rounds, and
cohort scaling for hypercluster-scale gameplay.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace basic admin panel with cloud console-style interactions:
- Fleet summary bar with aggregate stats (DCs, racks, FLOPS, uptime, cost)
- Launch Racks provisioning panel with SKU table, quantity stepper, live
cost sidebar, and review-before-launch flow
- Rack inventory table with sortable columns, checkbox multi-select,
and bulk decommission with confirmation modal
- Pipeline kanban grouping (same SKU/stage collapsed) with ETA display
- Tabbed DC cards (Inventory | Launch | Upgrades) to reduce scroll
- Build DC panel with cost breakdown and capacity preview
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ToastContainer's useEffect had `seen` (a Set state) in its dependency
array — each setSeen created a new Set, re-fired the effect, and under
rapid notifications cascaded past React's 50-update limit. Replaced
with a ref since seen doesn't need to trigger re-renders.
Also added useShallow to DataCenterCard's pipeline selector to prevent
.filter() from causing spurious re-renders on unrelated store changes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Racks can now be marked for decommission from the DC view. The rack
leaves production immediately (freeing slot and power), enters the
pipeline as a timed decommission order, and is removed when complete.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Rapid clicks on order rack bypassed capacity checks because usedSlots
and usedPowerKW were only updated during the tick. Now both the store
action and UI compute slot/power usage live from racks + pipeline,
so each order immediately reflects in the next check.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace flat GPU buying with a realistic data center + rack pipeline:
- 4 DC tiers (small/medium/large/mega) with construction time, dual
capacity constraints (rack slots + power budget kW), and era/research
gating
- 10 predefined rack SKUs from consumer GPUs through custom ASICs, each
with unique FLOPS, power draw, cost, and pipeline timings
- 6-stage procurement pipeline (order → mfg → receive → install → test
→ production) with Kanban UI, talent-influenced speed bonuses
- Test failures (5-25% base rate) reduced by cooling, ops talent, and QA
research; auto-repair with cost and re-test cycle
- Production failures at low per-tick rate, racks sent to repair pipeline
- Cooling and redundancy upgrades per DC (reduce failure rates)
- 4 new tech tree nodes (DC Engineering II/III/IV, Quality Assurance)
- Save version bump (1→2) with migration that resets old saves
- Updated economy system to account for rack repair costs
- Redesigned Infrastructure page with pipeline Kanban, capacity bars,
rack ordering, and DC upgrade panels
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Turborepo monorepo with three packages:
- packages/shared: TypeScript types for all 14 game systems + balance constants + formatting utils
- packages/game-engine: Pure TS simulation engine with tick processor, economy, infrastructure, compute, research, market, and reputation systems
- apps/web: React + Vite + Tailwind + Zustand frontend with sidebar dashboard layout, new game screen, dashboard with charts, infrastructure management, and model training pages
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>