refactor: remove memory slot system and Memories section from PrestigeTab
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m26s

- Remove deepMemory prestige upgrade from constants/prestige.ts
- Remove Memory interface from types.ts
- Remove memorySlots, memories, addMemory, removeMemory, clearMemories from prestigeStore.ts
- Remove deepMemory/memory references from gameLoopActions.ts
- Remove MemoriesCard component and its usage from PrestigeTab.tsx
- Remove memorySlots display from LoopStatsSection.tsx
- Update tests: store-actions-combat-prestige.test.ts, PrestigeTab.test.ts, tick-integration.test.ts

The memory slot system was fully wired but had no gameplay mechanic — addMemory()
was never called outside tests. This removes dead code across 9 files.
This commit is contained in:
2026-05-25 11:51:10 +02:00
parent 23a83a04cf
commit 25109c920a
11 changed files with 29 additions and 151 deletions
@@ -38,9 +38,7 @@ function resetPrestigeStore() {
totalInsight: 500,
loopInsight: 0,
prestigeUpgrades: {},
memorySlots: 3,
pactSlots: 1,
memories: [],
defeatedGuardians: [],
signedPacts: [],
signedPactDetails: {},
@@ -211,46 +209,6 @@ describe('PrestigeStore', () => {
}
});
it('should increase memorySlots with deepMemory', () => {
usePrestigeStore.setState({ insight: 2000 });
const before = usePrestigeStore.getState().memorySlots;
const deepResult = usePrestigeStore.getState().doPrestige('deepMemory');
expect(deepResult.success).toBe(true);
expect(usePrestigeStore.getState().memorySlots).toBe(before + 1);
});
});
describe('addMemory / removeMemory', () => {
it('should add a memory when slots available', () => {
usePrestigeStore.getState().addMemory({ skillId: 'manaFlow', level: 3, tier: 1, upgrades: [] });
expect(usePrestigeStore.getState().memories.length).toBe(1);
});
it('should not add duplicate memory', () => {
usePrestigeStore.getState().addMemory({ skillId: 'manaFlow', level: 3, tier: 1, upgrades: [] });
usePrestigeStore.getState().addMemory({ skillId: 'manaFlow', level: 5, tier: 1, upgrades: [] });
expect(usePrestigeStore.getState().memories.length).toBe(1);
});
it('should not exceed memory slots', () => {
usePrestigeStore.setState({ memorySlots: 1 });
usePrestigeStore.getState().addMemory({ skillId: 'manaFlow', level: 1, tier: 1, upgrades: [] });
usePrestigeStore.getState().addMemory({ skillId: 'manaSpring', level: 1, tier: 1, upgrades: [] });
expect(usePrestigeStore.getState().memories.length).toBe(1);
});
it('should remove memory by skillId', () => {
usePrestigeStore.getState().addMemory({ skillId: 'manaFlow', level: 3, tier: 1, upgrades: [] });
usePrestigeStore.getState().removeMemory('manaFlow');
expect(usePrestigeStore.getState().memories.length).toBe(0);
});
it('should clear all memories', () => {
usePrestigeStore.getState().addMemory({ skillId: 'manaFlow', level: 1, tier: 1, upgrades: [] });
usePrestigeStore.getState().addMemory({ skillId: 'manaSpring', level: 1, tier: 1, upgrades: [] });
usePrestigeStore.getState().clearMemories();
expect(usePrestigeStore.getState().memories.length).toBe(0);
});
});
describe('defeatGuardian / signedPacts', () => {
@@ -362,10 +320,10 @@ describe('PrestigeStore', () => {
describe('resetPrestigeForNewLoop', () => {
it('should preserve insight and upgrades, reset loop state', () => {
usePrestigeStore.getState().resetPrestigeForNewLoop(200, { manaWell: 2 }, [], 4);
usePrestigeStore.getState().resetPrestigeForNewLoop(200, { manaWell: 2 });
expect(usePrestigeStore.getState().insight).toBe(200);
expect(usePrestigeStore.getState().prestigeUpgrades).toEqual({ manaWell: 2 });
expect(usePrestigeStore.getState().memorySlots).toBe(4);
expect(usePrestigeStore.getState().defeatedGuardians).toEqual([]);
});
});