diff --git a/Docs/Vault/06_Roadmap/Lantern_Currency_ReMean.md b/Docs/Vault/06_Roadmap/Lantern_Currency_ReMean.md index 8c03d017f..b87c65ab9 100644 --- a/Docs/Vault/06_Roadmap/Lantern_Currency_ReMean.md +++ b/Docs/Vault/06_Roadmap/Lantern_Currency_ReMean.md @@ -42,10 +42,10 @@ one; append the new ones: - **Flame** and **Loudness** are **not** ledger bytes (Health; a derived meter). Do not give them `ResourceId`s. - ⚠ **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. **Recommendation:** since - the pivot is a hard direction change and old co-op-Hades saves are not carried into LANTERN, **start LANTERN - saves fresh** (a new save version epoch) rather than migrate — cleaner than a value-remap migration. Confirm - with the operator (parked). If saves must migrate, add a `SaveData.Version`-gated remap in `SaveService.Load`. + `{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 diff --git a/Docs/Vault/06_Roadmap/Lantern_Operator_Questions.md b/Docs/Vault/06_Roadmap/Lantern_Operator_Questions.md index 1c8472bff..40a680591 100644 --- a/Docs/Vault/06_Roadmap/Lantern_Operator_Questions.md +++ b/Docs/Vault/06_Roadmap/Lantern_Operator_Questions.md @@ -16,6 +16,28 @@ permalink: gamevault/06-roadmap/lantern-operator-questions > **Convention:** ✅ = I proceeded on the recommendation (design assumes it; easy to change). ⛔ = I did NOT > proceed; genuinely blocked pending your call. +## ✅ ALL RESOLVED (2026-07-14) + +Every parked question answered by the operator (all on the recommended option). Decisions locked: + +| # | Decision | +|---|---| +| 1 | **Build Phase 1 (combat gym) first** — the primary verb / SoD fun gate. | +| 2 | **Standing authorization** to auto-run the ★ pre-code design review before each netcode-heavy slice (findings still surfaced). | +| 3 | **Build the A0 material foundation now** — palette atlas + 3 master shaders + a placeholder (operator judges the style-proof gate). | +| 4 | **Suit-frame kit** = Bathynaut + Harpooner as specced; **the roadmap 5 Sparks** (decoy-wisp, hook/pull, vortex, blink, one zone). | +| 5 | **Manual aim — soft auto-target CUT** (optional tiny per-Spark in-arc assist only). | +| — | **Socket input = 4 discrete ability buttons** (MOBA/SoD bar). | +| — | **Harpooner reel = pull the target to you** (a separate grapple Spark may pull you later). | +| 6 | **Fresh save epoch** — no migration of co-op-Hades saves. | +| 8 | **Dark-side contact = non-telegraphed low chip/grab** (dimming = quiet-for-blind is a real cost; full bursts only when lit). | +| 9 | **Waypoint-lantern = free-position plant** (only the atomic withdraw+persist idiom transfers). | +| 10 | **END-1/EB-1 confirmed mothballed** — the RegionTag→PocketTag pass DELETES their branches. | +| 7 | Shipping title — still deferred to marketing (no action). | + +The detailed question text below is kept as the record. **Next action:** Phase 1 combat gym — run its ★ pre-code +review (standing auth), then plan-gate, then implement; A0 material foundation in parallel. + ## Process / authorization 1. **⛔ New netcode CODE implementation.** All LANTERN slice code is greenfield and netcode-touching (new diff --git a/Docs/Vault/06_Roadmap/Lantern_Phase1_Combat_Gym_Build_Spec.md b/Docs/Vault/06_Roadmap/Lantern_Phase1_Combat_Gym_Build_Spec.md index a9bd93c4e..033118279 100644 --- a/Docs/Vault/06_Roadmap/Lantern_Phase1_Combat_Gym_Build_Spec.md +++ b/Docs/Vault/06_Roadmap/Lantern_Phase1_Combat_Gym_Build_Spec.md @@ -129,12 +129,15 @@ bed, the proven presentation pattern). No sim change — pure feel. (socket events / active-socket byte) touches the command struct — re-mean bytes where possible, and the RPC/ command collection hash must match across peers. Everything else is additive config + client-only. -## Open forks (parked in [[Lantern_Operator_Questions]]) +## Resolved (operator, 2026-07-14 — [[Lantern_Operator_Questions]]) -- Socket input model: 4 discrete buttons vs one fire + a readied `ActiveSocket` byte. -- Harpooner reel: pull the target to you, or you to the target (or a per-Spark mix). -- The exact 5 Sparks (confirm the roadmap set or swap). -- Auto-target fully gone vs a small optional in-arc assist per Spark. +- **Socket input = 4 discrete ability buttons** (MOBA/SoD bar) → `PlayerInput` gains `Socket0..3` InputEvents; + the `AbilityFireSystem` 7-type-query restructure (ComponentLookup/IJobEntity) is required. +- **Aim = manual, soft auto-target CUT** → every socket fires along raw `PlayerInput.Aim`; keep the reticle; + auto-target off by default (`AutoTargetRange = 0` in ability defs), optional tiny per-Spark in-arc assist only. +- **Harpooner reel = pull the target to you** (yank the hit enemy in — the pull hook + chain retarget); a + separate grapple Spark (pull-you-to-target) is a later addition, not the signature. +- **5 Sparks** = the roadmap set (decoy-wisp, hook/pull, vortex, blink, one zone). ## Related diff --git a/Docs/Vault/06_Roadmap/World_Model_Build_Spec.md b/Docs/Vault/06_Roadmap/World_Model_Build_Spec.md index e7ecb7248..d7252a261 100644 --- a/Docs/Vault/06_Roadmap/World_Model_Build_Spec.md +++ b/Docs/Vault/06_Roadmap/World_Model_Build_Spec.md @@ -16,6 +16,19 @@ permalink: gamevault/06-roadmap/lantern-world-model-build-spec **Status — Phase 0.3 gate output.** This is the build contract that the ★ adversarial design review (netcode / determinism / reuse lenses, refute-first verified) hardened out of `Lantern_World_Model_Design_Proposal.md`. It supersedes that proposal as the authority for Phase 2 world code. Eighteen findings surfaced (12 CONFIRMED, 6 PARTIAL, 0 refuted); every one is folded below as either a locked decision or a tracked open risk. **No world code is written outside this spec.** The falsifiable slice test it serves: *does pinning a pocket feel like winning something* ([[Roadmap_Lantern_Slice]] Phase 3 gate). +## Operator resolutions (2026-07-14) + +The open forks this spec surfaced are now decided ([[Lantern_Operator_Questions]]): +- **NR-3 dark-side contact → non-telegraphed low chip/grab.** Enemies in the dark may deal minor chip; a full + skillshot-grade burst is only owed for a LIT (telegraphed) strike. The wind-up-START gate on the light-union + stands; the dark-bite chip is a separate, non-telegraphed damage event. +- **RS-6 lantern placement → free-position plant.** Only the atomic withdraw+persist idiom transfers from + `BuildPlaceSystem` (not `CanPlace`/occupancy); a lantern plants at any valid pocket position. +- **END-1/EB-1 (RS-2 site-class c) → confirmed mothballed: DELETE the branches.** The `RegionTag→PocketTag` + pass removes the Core-fallback + structure-aggro branches from `EnemyAISystem` etc., not generalizes them. +- **Saves → fresh epoch** (no migration; see [[Lantern_Currency_ReMean]]). SaveData v7 is additive over a fresh + LANTERN save, not a co-op-Hades migration. + ## Locked decisions **Operator forks (locked pre-review, non-negotiable):**