Annias Encyclopedia
by @anniasin-game encyclopedia panel + data surface
Get opens your newest game with this mod ready to add.
- Games
- Used in 65 games
- Version
- 1.4.0
- Updated
in-game encyclopedia panel + data surface
Get opens your newest game with this mod ready to add.
Slimmed and synced: the /enc command and the old lookup lib retire (the pane + skill carry the whole surface now); the id-resolve law lands in-kit; storage on the mod_kv sql spine with the ephemeral-owner guard; canon/tokens/components + encyclopedia data synced with the live bench. mod.json metadata brought in line with the catalog (public).
The grip, rebuilt on the wr-drag pattern: ⠿ is now a direct child of the pane it moves (this.parentNode contract — no ancestor climbing, no rAF keeper, no host id). Pointer-capture drag with live left/top, ~90ms throttled encyclopedia:move commits, double-click resets home. Host contract change: mount renderGrip() as the pane's first child and read state.encyclopedia.pos back into the pane style (skill doc updated). Also carries the per-feature storage gate (feature-scoped loaded/loading keys) so sibling mods sharing the player can no longer deadlock the reader's content pane.
The reader is a window now — grab it and move it. NEW — a grip (`⠿`) at the top-left of the reader header. Drag it and the whole panel goes where you put it; double-click it and the panel goes home. Where you parked it persists per player at `player.state.encyclopedia.pos`, so it comes back there next time you open the book. It's host-agnostic on purpose: the grip climbs from itself to the nearest `position:fixed` ancestor, so it moves whatever pane your HUD wrapped it in without hardcoding a single id. And it holds — a HUD that re-authors its pane style every redraw would snap the window home in a hundred milliseconds, so a lightweight rAF keeper re-applies the carried spot every frame and survives a full node recreation. Live drag frames are throttled ~90ms and land as bare state patches; only the release commits through storage. New action to declare: `encyclopedia:move`.
The reader stopped going deaf, and Savi got a library card. FIX — chapters listed on the left but nothing ever opened on the right. It was never the click. The vendored storage spine wrote its `loaded`/`loading` sentinels straight onto player state, so with several mods on one player the first mod to start a read locked the gate for all of them, and a late-returning job stamped blank defaults over whatever chapter had just been picked. The gate is now per-feature (`encyclopediaLoaded`/`encyclopediaLoading`, overridable via options.loadedKey/loadingKey), and a load that falls back to defaults only fills keys the live session left empty. NEW — a consent toggle in the reader header: "Allow Savi to use the Encyclopedia for additional context" (default on, creator-owned, `player.state.encyclopedia.saviAccess`), and a pulsing "How does this help?" button opening a modal that explains what changes when she has the book. NEW — `lib/encyclopedia-lookup.js`: pure search over the data (load, search, define, section, chapterMap, glossaryEntries, stats) — 15 chapters, 126 sections, 161 glossary terms — so a term lookup never returns a whole chapter. NEW — `/enc <term>` slash command, and the skill rewritten as a working lens: chapter map, state contract, the storage-gate law, the consent gate, and 17 rituals that put the vocabulary into the build loop. INTERNAL — one `normalizeBlock()` replaces five hand-copied state literals; `data-interactive` on every dispatching button; two new actions to declare: `encyclopedia:toggle-savi`, `encyclopedia:toggle-help`.