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>
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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):**
|
||||
|
||||
Reference in New Issue
Block a user