Files
Mana-Loop/docs/phase3-progress.md
T
Refactoring Agent d6b85d6367
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 4m17s
Phase 3: Split DebugTab.tsx into functional components
2026-04-24 14:12:52 +02:00

3.3 KiB

Phase 3: Refactor Large Files - Progress

Completed Refactorings (All Committed & Pushed)

1. types.ts (516 lines)

  • Commit: eb81ccb Phase 3: Split types.ts into domain-specific files
  • Result: Split into types/elements.ts, types/attunements.ts, types/spells.ts, types/skills.ts, types/equipment.ts, types/game.ts, types/index.ts
  • Build: Passes

2. constants.ts (1436 lines)

  • Commit: f8520e1 Phase 3: Split constants.ts into domain-specific files
  • Result: Split into constants/elements.ts, constants/guardians.ts, constants/spells.ts, constants/skills.ts, constants/prestige.ts, constants/rooms.ts, constants/core.ts, constants/index.ts
  • Build: Passes

3. enchantment-effects.ts (846 lines)

  • Commit: c46981d Phase 3: Split enchantment-effects.ts into category files
  • Result: Split into data/enchantments/spell-effects.ts, mana-effects.ts, combat-effects.ts, elemental-effects.ts, defense-effects.ts, utility-effects.ts, special-effects.ts, enchantment-types.ts, index.ts
  • Build: Passes

4. CraftingTab.tsx (965 lines)

  • Commit: ra528feb Phase 3: Split CraftingTab.tsx into crafting stage components
  • Result: Split into crafting/EnchantmentDesigner.tsx, EnchantmentPreparer.tsx, EnchantmentApplier.tsx, EquipmentCrafter.tsx, index.tsx
  • Build: Passes

5. computed-stats.ts (492 lines)

  • Commit: b3291c3 Phase 3: Split computed-stats.ts by responsibility
  • Result: Split into utils/formatting.ts, floor-utils.ts, mana-utils.ts, combat-utils.ts, index.ts
  • Build: Passes

6. utils.ts (372 lines)

  • Commit: 23d0a12 Phase 3: Split utils.ts by responsibility
  • Result: Split into utils/formatting.ts, floor-utils.ts, mana-utils.ts, combat-utils.ts, index.ts (some overlap with computed-stats, but consistent)
  • Build: Passes

Failed Refactorings

1. store.ts (2464 lines)

  • Issue: Sub-agent made changes that broke build (Cannot read properties of undefined (reading 'mainHand'))
  • Action: Reverted changes with git restore .
  • Status: Flagged as "too large for current sub-agent setup"

2. skill-evolution.ts (2312 lines)

  • Issue: Larger than store.ts which failed
  • Status: Flagged as "too large for current sub-agent setup"

3. gameStore.ts (509 lines)

  • Issue: Sub-agent returned empty result (context limits or other issue)
  • Status: Will try again with simpler prompt, or flag as "sub-agent unstable for this file"

Next Files to Refactor

High Priority (Smaller, Likely to Work)

  1. src/components/game/tabs/DebugTab.tsx (700 lines) - Split by functional area
  2. src/app/page.tsx (465 lines) - Lazy load tabs

Medium Priority

  1. src/components/game/StatsTab.tsx (551 lines) - Extract sub-components
  2. src/lib/game/stores/index.test.ts (maybe not needed)

Build Status

Build passes after each successful refactoring All commits pushed to remote (git push origin master successful)

Notes

  • Sub-agents work best with files under ~1500 lines with focused prompts
  • Files over 2000 lines consistently fail (context limits)
  • Some files around 500 lines also fail occasionally (unstable sub-agent behavior)
  • When in doubt, flag it and move on (per user instructions)