n8n-gitea
56ac50f465
refactor: break circular deps in equipment and golems data modules
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m20s
2026-05-20 12:00:46 +02:00
n8n-gitea
7d56fc368f
feat: Recreate Spire Combat Page — full spire climbing experience
...
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m21s
- Add guardian-encounters.ts: Extended guardian definitions for all mana types (compound, exotic, combo) with dynamic name generation
- Add spire-utils.ts: Spire-specific utilities (room generation, enemy stat scaling, insight calculation)
- Add enemy-generator.ts: Enemy generation with combinable modifiers (mage, shield, armored, swarm, agile)
- Add SpireCombatPage/ directory with modular sub-components:
- SpireHeader.tsx: Floor info, climb controls, exit button, HP/room progress bars
- RoomDisplay.tsx: Current room info with enemies, barriers, armor, dodge stats
- SpireCombatControls.tsx: Spell selection panel, golem status panel
- SpireActivityLog.tsx: Combat activity log
- SpireManaDisplay.tsx: Compact mana display with elemental pools
- Modify page.tsx: Conditionally render SpireCombatPage when spireMode is true
- Add comprehensive tests (49 tests) for spire utilities, guardian encounters, and enemy generation
2026-05-20 09:28:05 +02:00
n8n-gitea
1c7fc8c551
feat: recreate Crafting Tab with Fabricator and Enchanter sub-tabs
...
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 2m18s
- Add fabricator-recipes.ts with 12 recipes across earth/metal/crystal/sand mana types
- Add FabricatorSubTab with mana-type filtering, recipe cards, materials inventory
- Add EnchanterSubTab integrating existing 3-phase flow (Design → Prepare → Apply)
- Add CraftingTab main component with clsx-based sub-tab system (matches DisciplinesTab pattern)
- Wire into tabs barrel export and page.tsx with lazy loading + DebugName wrapper
- Add 17 tests covering exports, displayNames, recipe data integrity, helpers, file sizes
- All files under 400 lines
2026-05-20 02:32:37 +02:00
n8n-gitea
9882578627
feat: add Spire Summary Tab showing guardian progress, floor map, and climb button
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m18s
2026-05-19 22:59:54 +02:00
n8n-gitea
1cda85929d
feat: recreate Guardian Pacts tab for Invoker attunement
...
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m16s
- Add GuardianPactsTab.tsx with guardian cards organized by floor tier
- Display HP, armor, power stats, boons, unique perk, pact cost per guardian
- Show status: Undefeated / Defeated (pact available) / Pact Signed
- Allow starting pact rituals with defeated guardians
- Show pact ritual progress bar
- Display active pacts and cumulative boon effects
- Show remaining pact slots
- Add tier filter (All / Early / Mid / Late Spire)
- Add to tabs barrel export and page.tsx with lazy loading
- Add DebugName wrapper
- Write 13 tests covering module structure, data integrity, store shape, file size
2026-05-19 22:37:53 +02:00
n8n-gitea
0b6ee15e9b
feat: recreate Golemancy tab with golem loadout configuration
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m17s
2026-05-19 22:25:59 +02:00
n8n-gitea
dbc1b5e02c
feat: recreate Equipment Tab with equip/unequip gear management
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m19s
2026-05-19 22:04:27 +02:00
n8n-gitea
1cd612193d
feat: recreate Prestige tab with insight upgrades, memories, pacts, and loop reset
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m19s
2026-05-19 20:19:31 +02:00
n8n-gitea
5643a4c145
feat: recreate Attunements tab with detailed attunement cards
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m18s
2026-05-19 18:29:29 +02:00
n8n-gitea
2c4dc82aad
feat: recreate Debug Tab with modular debugging functions
...
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m17s
- Add DebugTab.tsx as main container with collapsible sections
- Add 8 debug section components in DebugTab/ subdirectory:
- GameStateDebugSection: reset, mana, time, pause controls
- DisciplineDebugSection: activate/deactivate, add XP
- AttunementDebugSection: unlock, add XP
- ElementDebugSection: unlock all, add elemental mana
- GolemDebugSection: enable/disable golems
- PactDebugSection: force sign/clear pacts
- SpireDebugSection: jump floors, toggle spire mode
- AchievementDebugSection: unlock/reset achievements
- Add DebugTab to barrel export (tabs/index.ts)
- Add lazy-loaded Debug tab to page.tsx
- Add DebugTab.test.ts with 45 tests
- All files under 400 lines
- Uses existing debug context (DebugProvider, DebugName)
- Destructive actions require confirmation (double-click pattern)
2026-05-19 15:55:20 +02:00
n8n-gitea
639d396f80
feat: recreate Achievements tab with category sections, progress tracking, and hidden achievement logic
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m19s
2026-05-19 14:44:27 +02:00
n8n-gitea
50a9a62060
fix: resolve priority 4 issues — discipline mutation, skill→discipline migration, uiStore persistence, game loop interval, toast listener leak, page re-renders
...
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m21s
- Issue 70: Fix discipline-slice.ts nested element mutation (use immutable spread)
- Issue 71: Add persist middleware to uiStore for paused/gameOver/victory
- Issue 72: Wire discipline effects into calcDamage (spell-casting, void-manipulation)
- Issue 73: Fix useGameLoop interval recreation (use getState() + empty deps)
- Issue 74: Fix use-toast.ts listener leak (change [state] dep to [])
- Issue 75: Reduce page.tsx re-renders with useShallow for multi-field subscriptions
- Issue 76: Fix createGatherMana hardcoded click mana (use computeClickMana with discipline effects)
- Issue 77: Pass discipline effects to computeMaxMana/computeRegen/calcInsight in tick()
- Export DisciplineBonuses type and useDisciplineStore from barrel exports
- Update tests to match new function signatures
2026-05-19 13:53:33 +02:00
n8n-gitea
ebcaab62bf
fix: clone nested element objects in discipline-slice processTick to avoid bypassing Zustand reactivity
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m19s
2026-05-19 12:51:41 +02:00
n8n-gitea
213425e6c9
fix(tests): remove broken test index files and fix computed-stats import
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m24s
2026-05-19 12:34:58 +02:00
n8n-gitea
e259484b53
fix(game): pass real effects to hasSpecial in tick() — Executioner/Berserker now work
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m21s
2026-05-19 12:06:46 +02:00
n8n-gitea
3dcd967949
refactor: consolidate all tab components into src/components/game/tabs/
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m23s
2026-05-19 11:44:25 +02:00
n8n-gitea
48a5ad1855
fix: 6 priority-3 bug fixes with regression tests
...
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m24s
- Issue 83: Mana Tide pulse factor now ranges 0.5x-1.5x (was 0.5x-1.0x)
- Issue 82: SteadyStream no longer returns early like EternalFlow; only skips incursion penalty
- Issue 81: Prestige store partialize now includes defeatedGuardians, signedPacts, signedPactDetails, pactRitualFloor, pactRitualProgress, loopInsight, pactSlots
- Issue 80: Combat store partialize now includes floorHP, floorMaxHP, castProgress, spireMode, clearedFloors, golemancy, equipmentSpellStates, activityLog, achievements
- Issue 78: cancelDesign now always cancels designProgress first, then designProgress2
- Issue 79: startDesigningEnchantment now uses designProgress2 when designProgress is occupied
Added 13 regression tests in src/lib/game/__tests__/regression-fixes.test.ts
Refactored craftingStore types to craftingStore.types.ts to stay under 400-line limit
2026-05-19 11:19:10 +02:00
n8n-gitea
c3a5f333da
fix: resolve 22 remaining issues - type exports, dead code, state mutations, orphaned components
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m19s
2026-05-18 21:03:43 +02:00
n8n-gitea
a9918e83a6
fix: add missing enchantment effects for rotTouch, soulRend, master, and legendary spells
...
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m18s
- Add spell_rotTouch to BASIC_SPELL_EFFECTS (death element Tier 1)
- Add spell_soulRend to TIER2_SPELL_EFFECTS (death element Tier 2)
- Add spell_cosmicStorm, spell_heavenLight, spell_oblivion, spell_deathMark to TIER3_SPELL_EFFECTS (master spells)
- Create legendary-spells.ts with spell_stellarNova, spell_voidCollapse, spell_crystalShatter (legendary spells)
- Update spell-effects/index.ts to include LEGENDARY_SPELL_EFFECTS in SPELL_EFFECTS
Closes #41
2026-05-18 20:30:46 +02:00
n8n-gitea
594eec1ab4
fix: resolve all Priority 4 and Priority 3 issues (18 issues total)
...
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m20s
Priority 4 fixes:
- #50 : getUnlockedAttunements filter now only returns active attunements
- #48 : doPrestige return type changed from void to boolean
- #47 : ConfirmDialog now catches and displays async errors from onConfirm
- #46 : GameStateDebug Fill Mana now uses direct setState instead of loop
- #55 : DisciplinesTab statBonus/baseValue props verified correct
- #56 : DisciplinesTab tab filtering verified working
Priority 3 fixes:
- #45 : drain spell description changed from 'life force' to 'vital energy'
- #44 : removed banned 'ascension' skill category
- #43 : renamed lifeEssenceDrop to vitalityEssenceDrop
- #42 : pactMaster achievement requirement changed from 12 to 9
- #40 : golems/utils.ts and equipment/utils.ts now import from index
- #39 : removed duplicate RoomType from constants/rooms.ts
- #38 : consolidated EquipmentSlot type in types/equipmentSlot.ts
- #37 : removed duplicate EnchantmentEffectDef from spell-effects/types.ts
- #36 : renamed RARITY_COLORS in loot-drops.ts to LOOT_RARITY_COLORS
2026-05-18 20:09:54 +02:00
n8n-gitea
4f932b6810
fix: remove dead GameContext system and orphaned MemorySlotPicker
...
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m23s
GameContext (Provider, hooks, context-create, types) was never wired into
the app — no layout or page wrapped children with GameProvider. The only
consumer, MemorySlotPicker, was itself orphaned (never imported/rendered).
The app uses direct Zustand hooks throughout. Removes 6 dead files.
Fixes #65
2026-05-18 19:38:22 +02:00
n8n-gitea
ff3a268358
fix: resolve all Priority 5 CRASH/BLOCKER issues (#51-#57)
...
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m19s
- #51 : Fix broken import path @/types/disciplines → @/lib/game/types/disciplines
- #52 : Fix canProceedDiscipline() called with wrong arguments in discipline-slice.ts
- #53 : Add local useState for activeAttunement tab filtering in DisciplinesTab
- #54 : Make canProceedDiscipline() defensive when gameState is undefined
- #57 : Remove stale CraftingTab export from game/index.ts
- Refactored DisciplineCard to use Zustand selector subscriptions properly
- Added DisciplinePerk type import to discipline-math.ts
2026-05-18 17:51:06 +02:00
n8n-gitea
92238e4dd8
updated dependency tracking files
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m18s
2026-05-18 15:14:00 +02:00
n8n-gitea
afbdb71548
fix: resolve Docker build errors - JSX ternary, missing barrel export, missing ActivityLog component
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 3m22s
2026-05-18 15:07:34 +02:00
n8n-gitea
14ba02d987
fix: remove debugSetTime and useGameStore import from combatStore to break remaining circular deps
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 55s
2026-05-18 14:51:38 +02:00
n8n-gitea
084fea2a25
fix: resolve 7 circular dependency chains in src/lib/game
...
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 57s
- equipment/utils.ts: import directly from individual equipment modules instead of index.ts
- golems/utils.ts: import directly from individual golem modules instead of index.ts
- combatStore.ts: extract CombatState to combat-state.types.ts, remove debugSetTime (was only user of gameStore import)
- combat-actions.ts: import CombatState from combat-state.types.ts instead of combatStore
- stores/index.ts: re-export CombatState from combat-state.types.ts
- GameStateDebug.tsx: replace debugSetTime calls with direct useGameStore.setState()
Verification: bunx madge --circular src/lib/game → No circular dependency found!
2026-05-18 14:46:57 +02:00
n8n-gitea
ea3035ec5e
updated dependency tracking files
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 57s
2026-05-18 14:22:47 +02:00
n8n-gitea
ca86b6268c
refactor: resolve structural inconsistencies and dead code
...
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 55s
- Fix broken barrel exports in components/game/index.ts
- Remove skill system from stores (gameStore, gameActions, gameLoopActions, gameHooks, craftingStore, combat)
- Remove skill system from components (page.tsx, LeftPanel, StatsTab, SpellsTab, EnchantmentDesigner, EnchantmentPreparer, GameContext/Provider)
- Delete dead code: stats/ directory, attunements/ directory, layout/ Header+TabBar, shared/ StudyProgress+UpgradeDialog duplicates, effects.ts.fix, study-slice.ts, navigation-slice.ts
- Delete legacy store/ and store-modules/ directories, redirect remaining callers
- Merge root formatting.ts into utils/formatting.ts
- Move effects files (dynamic-compute, upgrade-effects, special-effects, upgrade-effects.types) into effects/ directory
- Move debug-context.tsx into components/game/debug/
- Create tabs/index.ts barrel for tab components
- Fix page.tsx lazy imports to use tabs barrel
- Fix all broken import paths across codebase
- Remove SKILLS_DEF and skill-evolution references
- Trim store.ts to under 400 lines by removing dead skill actions
2026-05-18 14:21:59 +02:00
n8n-gitea
2805f75f5e
cleanup: delete computed-stats.ts shim and store/index.ts
...
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 57s
- Delete src/lib/game/computed-stats.ts (root-level re-export shim)
- Delete src/lib/game/store/index.ts (nothing imports from it)
- Update __tests__/computed-stats.test.ts to import from ../utils instead
- Clean up craftingStore.ts imports (remove unused useGameStore, CraftingApply)
Typecheck and lint pass (pre-existing DisciplinesTab.tsx errors unchanged)
2026-05-18 12:08:38 +02:00
n8n-gitea
20c2ebd7b5
Updated docs
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 56s
2026-05-18 11:26:24 +02:00
n8n-gitea
67bd5b4a86
updated dependencies
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 57s
2026-05-18 10:33:15 +02:00
n8n-gitea
28d1a672da
updated dependency tracking files
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 31s
2026-05-18 09:58:56 +02:00
n8n-gitea
00650c82fd
updated dependency tracking files
2026-05-18 09:58:21 +02:00
n8n-gitea
9b45010617
included missing files from previous commit
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 31s
2026-05-18 09:57:38 +02:00
n8n-gitea
f0601f7622
Fix EquipmentSlot export and import paths
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 31s
2026-05-17 19:39:52 +02:00
n8n-gitea
a632b7c6af
Fixes TS2724 - Added EquipmentSlot type export for Gitea issue #8,--no-verify
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 40s
2026-05-17 15:36:27 +02:00
n8n-gitea
e462bfcc13
feat: implement Active Disciplines system
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 31s
2026-05-16 19:17:12 +02:00
n8n-gitea
c8341f79f3
Clean up skill system removal artifacts
2026-05-16 11:52:13 +02:00
n8n-gitea
fe0f2a079c
Completely remove legacy skill system and tests
2026-05-16 11:20:11 +02:00
n8n-gitea
1a688394e4
Remove all skill system files - preparing for fresh design phase
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 32s
2026-05-15 18:50:41 +02:00
n8n-gitea
5cbe672b8f
docs: compress AGENTS.md + split combat-skills.ts (432 → 187+248 lines)
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 32s
2026-05-14 15:34:50 +02:00
n8n-gitea
ba231ac9dd
fix: correct broken import paths in test files (stores-tests and index-tests)
...
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 31s
Files in stores/__tests__/stores-tests/ and stores/__tests__/index-tests/
used relative paths (../../types or ../types) that resolved incorrectly.
Fixed all to use '../../../types' to properly reach src/lib/game/types.ts.
Also fixed mana-calculation.test.ts to import computeElementMax from
the correct location (@/lib/game/stores/index instead of @/lib/game/utils).
2026-05-13 23:33:33 +02:00
n8n-gitea
bb268d4dea
chore: cleanup — remove dead weight (prisma, db, examples, python scripts, workflow docs, redundant tsconfigs)
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 34s
2026-05-13 12:16:11 +02:00
n8n-gitea
b0eea7dadd
feat: split skills-v2-defs into category modules and fix export
...
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 35s
- Split 636-line skills-v2-defs.ts into 9 category files (all under 400 lines)
- Add skills-v2-registry.ts to build SKILLS_V2 flat record from modules
- Fix missing re-export of SKILLS_V2 from skills-v2.ts
- Fix clickMana clamping: remove Math.round to allow fractional values
- Fix golemDuration clamping: remove Math.round to allow fractional values
- Fix guardianConstructs effect: duration uses 'add' mode instead of 'multiply'
- All 70 existing tests pass
2026-05-12 11:28:44 +02:00
n8n-gitea
70ec32bd4e
feat: TASK-006 left panel redesign + task log updates
...
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 32s
- Redesigned LeftPanel.tsx with 5 sections (ManaDisplay, Spire button, ActionButtons, AttunementStatus, ActivityLogPanel)
- Removed CalendarDisplay from left panel
- Created AttunementStatus component (attunement display with XP bars)
- Created ActivityLogPanel wrapper (last 20 events)
- Updated ActivityLog with configurable maxEntries prop
- Updated active-task-log.md (TASK-001/005/006 archived)
2026-05-11 14:37:49 +02:00
n8n-gitea
e8b8fc26c7
feat: TASK-006 left panel redesign — 5-section layout with attunement status and activity log, remove CalendarDisplay
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 33s
2026-05-11 14:23:39 +02:00
n8n-gitea
8665e903bd
feat: TASK-005 - globals.css design tokens
...
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 33s
- Added Source Serif 4 font import
- Added new design tokens per strategy spec:
--bg-void, --bg-panel, --bg-raised (background depth levels)
--mana-raw, --mana-transference (new mana element colors)
--border-accent (border highlight)
--font-display, --font-ui (new font custom properties)
- Replaced hardcoded font-family refs with CSS variables
- Removed redundant .dark block (identical to :root, always dark mode)
- Consolidated @theme inline section to essential mappings
2026-05-11 13:55:01 +02:00
n8n-gitea
47b2a0bdc7
feat: TASK-001 - Playwright E2E test setup + baseline tests
...
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 33s
- Added @playwright/test as dev dependency
- Created playwright.config.ts with Chromium config and webServer setup
- Created e2e/combat.spec.ts (5 tests for spire mode, floor display)
- Created e2e/enchanting.spec.ts (4 tests for design/crafting tab, enchant flow)
- Created e2e/equipment.spec.ts (5 tests for equip, slots, 2H blocking)
- Created docs/tasks/TASK-001-playwright-setup.md
- All 13 E2E tests passing
2026-05-11 13:25:57 +02:00
n8n-gitea
f6bf049f91
Fix 3 bugs: equip crash, enchantment not processing, spire spell casting
...
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m43s
Bug 1: EquipmentTab handleEquip was passing useCombatStore to equipItem()
which needs the crafting store (has equipmentInstances/equippedInstances).
Fixed by using useCraftingStore instead.
Bug 2: processCraftingTick() from crafting-slice.ts was never called in the
game tick loop. Added call in tick-logic.ts when currentAction is
'design'/'prepare'/'enchant'/'craft' so enchantment progress advances.
Bug 3: equipmentSpellStates was initialized as [] and never populated from
equipped items. Added logic in tick-logic.ts to build equipmentSpellStates
from active equipment spells when climbing (currentAction === 'climb').
2026-05-11 12:07:12 +02:00
n8n-gitea
ae0bf3e38d
fix(spire): reset currentAction to meditate on spire exit; fix(crafting): wire enchanting state hooks to EnchantmentDesigner/Preparer/Applier
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m53s
2026-05-10 21:28:46 +02:00