Files
Project-M/Docs/Vault/06_Roadmap/Lantern_Currency_ReMean.md
kronic 07a07ec64d Docs: LANTERN — record operator decisions (all parked questions resolved 2026-07-14)
Build Phase 1 gym first; standing ★-review auth; build A0 material foundation now;
delete siege branches. Phase 1: manual aim (auto-target cut), 4 discrete ability buttons,
Harpooner yanks target-to-you, roadmap 5 Sparks. Fresh save epoch (no migration).
Dark-side contact = non-telegraphed chip. Lantern = free-position plant.

Locked into: operator-questions (resolved summary), Phase 1 spec (open forks -> resolved),
currency spec (fresh saves), world-model Build Spec (operator-resolutions block).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-14 08:33:38 -07:00

5.3 KiB

title, date, tags, status, permalink
title date tags status permalink
LANTERN — Currency Re-Mean (Ore/Aether/Biomass/Charge → the light economy) 2026-07-13
roadmap
lantern
economy
currency
save-schema
draft-spec gamevault/06-roadmap/lantern-currency-remean

LANTERN — Currency Re-Mean

Re-means the current economy to the LANTERN currency set (Identity_Lantern currency table). Feeds the economy rework + the save schema. Most of this is a value-relabel — the ledger (StorageEntry, ItemId- keyed) + personal bag (InventorySlot) + swept harvest plumbing stay; the byte ids re-mean and the meters change. Grounded in the resource ground-truth: 4 ResourceId bytes today (Ore/Aether/Biomass/Charge), StorageEntry{ushort ItemId; int Count} on the global untagged ledger, personal InventorySlot, unified swept ResourceHarvestSystem.

The seven LANTERN currencies — and what each maps to

LANTERN What it is Current analog Representation
Flame your life — the loaned fire in your chest Health + respawn NOT a ledger resource — it's Health/RespawnState. The death "split" (Phase 5) rides this.
Lumen spendable light — abilities, fuel, the banked economy Aether (universal charge) + the win-meter feed Ledger byte; also banked at lanterns → the Lamp meter (the GoalProgress-equivalent campaign readout). The primary economy.
Gloam the wild radiance grafts drink — the mutation feed (new; kill/vent/bloom-derived) A run/descent-scoped meter that fills toward the paced mutation thresholds (Phase 4). Server-derived from kills/vents; likely NOT a stored ledger row (a per-descent counter).
Loudness how much attention your light draws the threat/aggro pressure (WaveSystem escalation) Derived meter, not stored — party lamp-output sum → spawn/aggro pressure; per-Wick pip on the HUD. Rides the global untagged ghost ([GhostField]).
Salvage build materials Ore Ledger byte. Feeds building v1 (lanterns, small buildables).
Chum garden feedstock (automation input) Biomass (reserved automation input) Ledger byte. Slice: likely dormant (automation is assignment-based, v1.0 — Lantern_Strip_Mothball_Inventory). Keep the byte reserved.
Tallow rendered fixative — fixes a mutation (new; the scarce fix material) The scarcity gate of the mutation economy (1 fix slot/Spark). A ledger byte OR a slot count. Phase 4.

Proposed ResourceId byte assignment

Bytes, never enums (Burst rule). Re-mean the existing values where the meaning survives; free the mothballed one; append the new ones:

Byte Was Becomes Notes
0 Ore Salvage build material (value survives, relabel)
1 Aether Lumen universal spend + banked light (value survives, relabel)
2 Biomass Chum garden feedstock, slice-dormant (relabel, reserved)
3 Charge (freed)Tallow turret-ammo Charge is mothballed (no turrets); reuse the byte for Tallow, or leave 3 dead and add Tallow=4
4 (Gloam) if stored; more likely a per-descent server counter, not a ledger row
  • Flame and Loudness are not ledger bytes (Health; a derived meter). Do not give them ResourceIds.
  • Re-meaning byte 3 (Charge→Tallow) changes a persisted VALUE's meaning. The save persists Ledger[] as {ItemId, Count} rows — an old save's ItemId=3 (Charge) would load as Tallow. RESOLVED (operator, 2026-07-14): start LANTERN saves FRESH — a new save version epoch, no migration of co-op-Hades saves (old saves won't load into LANTERN). This dodges the value-remap entirely; the byte-3 (Charge→Tallow) reuse is safe because no old save is ever read.

What changes vs. stays

  • STAYS: StorageEntry global ledger (ItemId-keyed), InventorySlot personal bag ([GhostField] OwnerSendType.All), the unified swept ResourceHarvestSystem (nodes + clutter, immortal-sink guard, math.max(1,(int)yield)), the G-deposit RPC, cargo-into-bag routing.
  • CHANGES: harvest sources re-theme (Ore/Aether/Biomass nodes → Lumen nodes + organ drops); the carried-vs-banked cargo distinction is new (unbanked Lumen/organs strand with the suit on death — the Phase-5 split); the win-meter (GoalProgress) becomes the Lamp meter fed by banked Lumen; Loudness replaces the incursion/attention timer as the spawn-pressure driver.
  • NEW meters on the global untagged ghost: Lamp (campaign), party Loudness sum. New per-descent server counters: Gloam (mutation feed), Tallow slots.

Sequencing

This is not a standalone slice — it lands inside the phases that need each currency: Lumen + Salvage + harvest re-theme with Phase 2 (harvest) / Phase 3 (banked light, Lamp meter); Gloam + Tallow with Phase 4 (mutations); Loudness with Phase 2 (brighter-is-louder). This doc is the single source of the mapping so those phases don't each re-decide the byte ids.