Files
Mana-Loop/docs/phase3-progress.md
T
2026-04-24 14:45:07 +02:00

3.6 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
  • Build: Passes

7. DebugTab.tsx (700 lines)

  • Commit: Phase 3: Split DebugTab.tsx into functional components`
  • Result: Split into debug/GameStateDebug.tsx, SkillDebug.tsx, ElementDebug.tsx, AttunementDebug.tsx, GolemDebug.tsx, index.tsx
  • Build: Passes

8. page.tsx (465 lines)

  • Commit: eea5ed1 Phase 3: Lazy load tabs in page.tsx
  • Result: Lazy loads all tab components using React.lazy() and Suspense
  • 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: Flagged as "unstable sub-agent behavior"

Next Files to Refactor!

High Priority (Smaller, Likely to Work)

  1. src/components/game/StatsTab.tsx (551 lines) - Extract sub-components (NEXT TARGET!)
  2. src/components/game/tabs/StatsTab.tsx (545 lines) - Extract sub-components
  3. src/components/game/tabs/CraftingTab.tsx (already split) - done
  4. src/lib/game/stores/index.test.ts (maybe not needed)

Build Status!

Build passes after each successful refactoring All commits pushed to remote!

Notes!

  • Sub-agents work best with files under ~1500 lines with focused prompts!
  • Files over 2000 lines consistently fail (context limits)!
  • When in doubt, flag it and move on (per user instructions)!