From e90ae82da1ff744d4e8f1146f65606da9f847d00 Mon Sep 17 00:00:00 2001 From: n8n-gitea Date: Sun, 7 Jun 2026 16:14:23 +0200 Subject: [PATCH] docs: fix documentation inconsistencies (issue #291) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fix pact-system-spec.md §5.2: Remove misquote of AGENTS.md (pacts do NOT persist) - Fix pact-system-spec.md §4.2: Update pactBinding note (now resolved in code) - Fix pact-system-spec.md §8.2/8.3: Correct floor 140/150/200 element tags - Add pactInterferenceMitigation to AGENTS.md and GAME_BRIEFING.md (15 upgrades) - Fix GAME_BRIEFING.md §7: Correct Tier 1 armor values and pact times - Fix GAME_BRIEFING.md §7: Correct Tier 2 armor values and pact times - Fix GAME_BRIEFING.md §7: Correct Tier 3 pact times - Fix GAME_BRIEFING.md §7: Correct floor 100 element (sand, not sand+fire+earth) - Fix AGENTS.md: Update equipment count from 50 to 43 - Fix AGENTS.md: Fix enchantment design time (per stack, not per effect slot) - Fix GAME_BRIEFING.md §6: Clarify puzzle room frequency (guaranteed per 7th floor) - Fix GAME_BRIEFING.md §11: Clarify spireKey formula (1 + level × 2) --- AGENTS.md | 6 +- docs/GAME_BRIEFING.md | 61 ++++++++++--------- docs/circular-deps.txt | 2 +- docs/dependency-graph.json | 2 +- .../invoker/systems/pact-system-spec.md | 18 +++--- 5 files changed, 45 insertions(+), 44 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 64502d2..fa5efbe 100755 --- a/AGENTS.md +++ b/AGENTS.md @@ -103,13 +103,13 @@ ManaDrainPerTick = drainBase × (1 + (XP / difficultyFactor)^0.4) ## Crafting System ### Enchanting: 3-Step Flow — Design → Prepare → Apply -- **Design:** Select effects for a named design. Time: 1h + 0.5h per effect slot. Dual design slot with Enchant Mastery special. +- **Design:** Select effects for a named design. Time: 1h + 0.5h per stack (summed across all effects). Dual design slot with Enchant Mastery special. - **Prepare:** Clears existing enchantments, costs `capacity × 10` raw mana, time: `2h + 1h per 50 capacity`. ONLY stage where explicit disenchanting occurs. - **Apply:** Applies saved design to prepared equipment. Time: `2h + stacks` hours. Mana: `20 + 5×stacks` per hour. ### Equipment - 8 slots: mainHand, offHand, head, body, hands, feet, accessory1, accessory2 -- 50 equipment types across 9 categories (casters, swords, shields, catalysts, head, body, hands, feet, accessories) +- 43 equipment types across 8 categories (casters, swords, catalysts, head, body, hands, feet, accessories) - Instance fields: `instanceId`, `typeId`, `name`, `enchantments[]`, `usedCapacity`, `totalCapacity`, `rarity`, `quality` - Stacking cost: each additional stack costs 20% more @@ -147,7 +147,7 @@ ManaDrainPerTick = drainBase × (1 + (XP / difficultyFactor)^0.4) ### Prestige (Insight) - `baseInsight = floor(maxFloorReached × 15 + totalManaGathered / 500 + signedPacts.length × 150)` - Multiplied by discipline and boon bonuses. No victory ×3 multiplier (victory condition not yet defined) -- 14 prestige upgrade types: manaWell, manaFlow, insightAmp, spireKey, temporalEcho, steadyHand, ancientKnowledge, elementalAttune, spellMemory, guardianPact, quickStart, elemStart, unlockedManaTypeCapacity, pactBinding +- 15 prestige upgrade types: manaWell, manaFlow, insightAmp, spireKey, temporalEcho, steadyHand, ancientKnowledge, elementalAttune, spellMemory, guardianPact, quickStart, elemStart, unlockedManaTypeCapacity, pactBinding, pactInterferenceMitigation - Signed pacts do NOT persist through prestige (reset each loop) ### Starting State diff --git a/docs/GAME_BRIEFING.md b/docs/GAME_BRIEFING.md index fa44042..a732b38 100644 --- a/docs/GAME_BRIEFING.md +++ b/docs/GAME_BRIEFING.md @@ -1,7 +1,7 @@ # Mana-Loop: Comprehensive Game Briefing Document **Document Version:** 4.0 -**Updated:** Post-refactoring — 22 mana types, 8-tier guardian system, 64 disciplines, 14 prestige upgrades, 43 equipment types, 8 Zustand stores, localStorage-only +**Updated:** Post-refactoring — 22 mana types, 8-tier guardian system, 64 disciplines, 15 prestige upgrades, 43 equipment types, 8 Zustand stores, localStorage-only --- @@ -224,7 +224,7 @@ HP = floor(5000 × (floor/10) ^ (1.1 + floor/200)) | Room Type | Chance | Description | |-----------|--------|-------------| | **Guardian** | Every 10th floor | Boss encounter | -| **Puzzle** | 100% on every 7th floor (except guardian floors) | Attunement-themed trial | +| **Puzzle** | 1 guaranteed room per 7th floor (seeded, except guardian floors) | Attunement-themed trial | | **Swarm** | ~12% | 3–7 weak enemies | | **Speed** | ~10% | Single enemy with elevated dodge chance | | **Combat** | ~68% (default) | Single enemy, normal combat | @@ -354,51 +354,51 @@ Shadow Glass ↔ Light | Floor | Name | Element | Armor | Pact Mult | Pact Cost | Pact Time | |-------|------|---------|-------|-----------|-----------|-----------| -| 10 | Ignis Prime | fire | 10% | 1.5× | formula | 2h | +| 10 | Ignis Prime | fire | 10% | 1.5× | formula | 3h | | 20 | Aqua Regia | water | 15% | 1.75× | formula | 4h | -| 30 | Ventus Rex | air | 20% | 2.0× | formula | 6h | -| 40 | Terra Firma | earth | 25% | 2.25× | formula | 8h | -| 50 | Lux Aeterna | light | 30% | 2.5× | formula | 10h | -| 60 | Umbra Mortis | dark | 35% | 2.75× | formula | 12h | -| 70 | Mors Ultima | death | 40% | 3.0× | formula | 14h | -| 80 | Vinculum Arcana | transference | 45% | 3.25× | formula | 16h | +| 30 | Ventus Rex | air | 18% | 2.0× | formula | 5h | +| 40 | Terra Firma | earth | 25% | 2.25× | formula | 6h | +| 50 | Lux Aeterna | light | 20% | 2.5× | formula | 7h | +| 60 | Umbra Mortis | dark | 22% | 2.75× | formula | 8h | +| 70 | Mors Ultima | death | 25% | 3.0× | formula | 9h | +| 80 | Vinculum Arcana | transference | 20% | 3.25× | formula | 10h | **Tier 1 Formulas:** - Pact Cost: `floor(hp × 0.3 + power × 5 + hp × armor × 0.5 + shield × 2 + hp × barrier × 0.3)` - Pact Time: `2 + floor(floor / 10)` hours -- Armor: Starts at 10% on floor 10, increases by 5% per 10th floor +- Armor: Non-uniform per guardian (see guardian-data.ts for exact values) #### Tier 2 — Composite Elements (Floors 90–160) | Floor | Element | Armor | Pact Mult | Pact Cost | Pact Time | |-------|---------|-------|-----------|-----------|-----------| -| 90 | metal | 50% | 3.5× | formula | 18h | -| 100 | sand+fire+earth | 55% | 3.75× | formula | 20h | -| 110 | lightning | 60% | 4.0× | formula | 22h | -| 120 | frost | 65% | 4.25× | formula | 24h | -| 130 | metal+fire+earth (blackflame) | 70% | 4.5× | formula | 26h | -| 140 | sand+earth+water (radiantflames) | 75% | 4.75× | formula | 28h | -| 150 | lightning+fire+air (miasma) | 80% | 5.0× | formula | 30h | -| 160 | shadowglass | 85% | 5.25× | formula | 32h | +| 90 | metal | 30% | 3.5× | formula | 11h | +| 100 | sand | 25% | 3.75× | formula | 12h | +| 110 | lightning | 22% | 4.0× | formula | 13h | +| 120 | frost | 28% | 4.25× | formula | 14h | +| 130 | metal+fire+earth (blackflame) | 32% | 4.5× | formula | 15h | +| 140 | sand+earth+water (radiantflames) | 25% | 4.75× | formula | 16h | +| 150 | lightning+fire+air (miasma) | 28% | 5.0× | formula | 17h | +| 160 | shadowglass | 33% | 5.25× | formula | 18h | **Tier 2 Formulas:** - Pact Cost: Same formula as Tier 1 - Pact Time: `2 + floor(floor / 10)` hours -- Armor: Starts at 50% on floor 90, increases by 5% per 10th floor (capped at 90%) -- Note: Floor 100 guardian element is `sand+fire+earth` (composite components), Floor 140 is `sand+earth+water`, Floor 150 is `lightning+fire+air` +- Armor: Non-uniform per guardian (see guardian-data.ts for exact values) +- Note: Floor 100 guardian element is `sand`, Floor 140 is `sand+earth+water`, Floor 150 is `lightning+fire+air` #### Tier 3 — Exotic Elements (Floors 170–240) | Floor | Element | Armor | Pact Mult | Pact Cost | Pact Time | |-------|---------|-------|-----------|-----------|-----------| -| 170 | crystal | 35% | 5.5× | formula | 37h | -| 180 | stellar | 30% | 6.0× | formula | 38h | -| 190 | void | 35% | 6.5× | formula | 39h | -| 200 | crystal+stellar+void | 35% | 7.0× | formula | 40h | -| 210 | soul+time+plasma | 32% | 7.5× | formula | 41h | -| 220 | plasma | 28% | 8.0× | formula | 42h | -| 230 | crystal+stellar+void | 40% | 8.5× | formula | 43h | -| 240 | soul+time+plasma | 42% | 9.0× | formula | 44h | +| 170 | crystal | 35% | 5.5× | formula | 19h | +| 180 | stellar | 30% | 6.0× | formula | 20h | +| 190 | void | 35% | 6.5× | formula | 21h | +| 200 | crystal+stellar+void | 35% | 7.0× | formula | 22h | +| 210 | soul+time+plasma | 32% | 7.5× | formula | 23h | +| 220 | plasma | 28% | 8.0× | formula | 24h | +| 230 | crystal+stellar+void | 40% | 8.5× | formula | 25h | +| 240 | soul+time+plasma | 42% | 9.0× | formula | 26h | **Tier 3 Formulas:** - Pact Cost: Same formula as Tier 1 @@ -817,7 +817,7 @@ finalInsight = floor(baseInsight × mult) | `manaWell` | Mana Well | +500 starting max mana | 5 | 500 | | `manaFlow` | Mana Flow | +0.5 regen/sec permanently | 10 | 750 | | `insightAmp` | Insight Amp | +25% insight gain | 4 | 1500 | -| `spireKey` | Spire Key | Start at floor +2 | 5 | 4000 | +| `spireKey` | Spire Key | Start at floor `1 + level × 2` (e.g. level 1 → floor 3) | 5 | 4000 | | `temporalEcho` | Temporal Echo | +10% mana generation | 5 | 3000 | | `steadyHand` | Steady Hand | -15% durability loss | 5 | 1200 | | `ancientKnowledge` | Ancient Knowledge | Start with blueprint discovered | 5 | 2000 | @@ -828,6 +828,7 @@ finalInsight = floor(baseInsight × mult) | `elemStart` | Elem. Start | Start with 5 of each unlocked element | 3 | 800 | | `unlockedManaTypeCapacity` | Mana Type Capacity | +10 capacity for selected mana type | 5 | 1000 | | `pactBinding` | Pact Binding | +1 pact slot per level | 5 | 2000 | +| `pactInterferenceMitigation` | Pact Interference Mitigation | Reduces pact interference penalty | 10 | 1500 | ### Pact Persistence - Signed pacts do **NOT** persist through prestige — the player must re-defeat Guardians and re-sign pacts each loop. @@ -1126,5 +1127,5 @@ The following systems no longer exist and should not be re-introduced: --- -*Document Version: 5.0 — Updated: 8 stores, 22 mana types, 64 disciplines, 14 prestige upgrades, 43 equipment types, component-based golemancy, 8-tier guardians, localStorage-only* +*Document Version: 5.0 — Updated: 8 stores, 22 mana types, 64 disciplines, 15 prestige upgrades, 43 equipment types, component-based golemancy, 8-tier guardians, localStorage-only* *End of Game Briefing Document* diff --git a/docs/circular-deps.txt b/docs/circular-deps.txt index cf7410c..2352e6c 100644 --- a/docs/circular-deps.txt +++ b/docs/circular-deps.txt @@ -1,4 +1,4 @@ # Circular Dependencies -Generated: 2026-06-07T12:41:54.930Z +Generated: 2026-06-07T12:48:17.619Z No circular dependencies found. ✅ diff --git a/docs/dependency-graph.json b/docs/dependency-graph.json index 899bfe3..1a338d9 100644 --- a/docs/dependency-graph.json +++ b/docs/dependency-graph.json @@ -1,6 +1,6 @@ { "_meta": { - "generated": "2026-06-07T12:41:52.654Z", + "generated": "2026-06-07T12:48:15.677Z", "description": "Import dependency graph for src/lib/game. Keys are files, values are arrays of files they import.", "usage": "To find what a file affects, search for its path in the VALUES. To find what a file depends on, look at its KEY entry." }, diff --git a/docs/specs/attunements/invoker/systems/pact-system-spec.md b/docs/specs/attunements/invoker/systems/pact-system-spec.md index a6225e9..9e8997a 100644 --- a/docs/specs/attunements/invoker/systems/pact-system-spec.md +++ b/docs/specs/attunements/invoker/systems/pact-system-spec.md @@ -131,9 +131,9 @@ The `pactBinding` prestige upgrade adds +1 slot per level: pactSlots: id === 'pactBinding' ? state.pactSlots + 1 : state.pactSlots ``` -> **Note:** The `pactBinding` upgrade is referenced in the store logic but is **not -> defined** in `PRESTIGE_DEF` constants. This is a known gap — the upgrade exists -> in code but has no definition, cost, or max level. +> **Note:** The `pactBinding` upgrade is defined in `PRESTIGE_DEF` constants +> (`prestige.ts`) with `max: 5` and `cost: 2000`. It is fully functional in both +> store logic and UI. ### 4.3 Slot Enforcement @@ -162,9 +162,9 @@ meaning **pacts do NOT persist through prestige loops**. The player must re-defe Guardians and re-sign pacts each loop. The `signedPactDetails` record persists for historical tracking but does not confer active boons. -> **Design intent vs. implementation:** The AGENTS.md states "Signed pacts persist -> through prestige (bounded by `pactSlots`)." The current code resets them. This -> is a known discrepancy. +> **Note:** AGENTS.md states "Signed pacts do NOT persist through prestige (reset +> each loop)." The current code correctly resets `signedPacts` to `[]` on +> `startNewLoop`, matching the documented behavior. There is no discrepancy. --- @@ -298,8 +298,8 @@ mana to any elemental type. All elemental mana must come from: | 110 | lightning | 22% | 13h | | 120 | frost | 28% | 14h | | 130 | blackflame | 32% | 15h | -| 140 | radiantflames | 25% | 16h | -| 150 | miasma | 28% | 17h | +| 140 | sand+earth+water | 25% | 16h | +| 150 | lightning+fire+air | 28% | 17h | | 160 | shadowglass | 33% | 18h | ### 8.3 Tier 3 — Exotic Elements (Floors 170–240) @@ -309,7 +309,7 @@ mana to any elemental type. All elemental mana must come from: | 170 | crystal | 35% | 19h | | 180 | stellar | 30% | 20h | | 190 | void | 35% | 21h | -| 200 | soul+stellar+void | 35% | 22h | +| 200 | crystal+stellar+void | 35% | 22h | | 210 | soul+time+plasma | 32% | 23h | | 220 | plasma | 28% | 24h | | 230 | crystal+stellar+void | 40% | 25h |