Files
Mana-Loop/docs/phase3-progress.md
T

2.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

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"

Next Files to Refactor

High Priority (Smaller, Likely to Work)

  1. src/components/game/tabs/CraftingTab.tsx (965 lines) - Split by crafting stage
  2. src/lib/game/computed-stats.ts (492 lines) - Split by responsibility
  3. src/lib/game/utils.ts (372 lines) - Split by responsibility

Medium Priority

  1. src/components/game/tabs/DebugTab.tsx (700 lines) - Split by functional area
  2. src/lib/game/stores/gameStore.ts (509 lines) - Clean up coordinator
  3. src/app/page.tsx (465 lines) - Lazy load tabs

Build Status

Build passes after each successful refactoring All commits pushed to remote

Notes

  • Sub-agents work best with files under ~1500 lines
  • Focused prompts yield better results
  • Larger files (2000+ lines) tend to break builds or fail silently