Docs: session log + roadmap — full Phase-1 remainder (windups, frames/FrameId, light-relevancy, gym scene)
Session 2026-07-15 continued: powered through the Phase-1 remainder per operator direction. Log + roadmap Phase-1 status updated (500 EditMode green; deferred items surfaced: underwater tuning, AbilityRef removal, CharacterId rename, L3/ gamma/rollback, ★ adversarial review). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -54,12 +54,16 @@ The primary verb first. No world, no lanterns — a gym.
|
||||
|
||||
**Gate:** the gym is fun with two players for 15 minutes on kit alone; relevancy-light verified server-side (gamma test: nothing to see).
|
||||
|
||||
> **Phase 1 status (2026-07-15):** ✅ Group A (4-socket kit, [[2026-07-14_Lantern_Phase1_GroupA_Combat_Sockets]]) ·
|
||||
> ✅ Group B **systems + content + gym CODE** — the 5 Sparks (decoy / hook-reel / vortex / blink / light-zone),
|
||||
> Aoe/Hitscan dispatch, `ReelSystem` / `ZonePulseSystem` / decoy aggro, 3 effect ghosts + 5 Spark defs, on-demand
|
||||
> enemy-spawn tooling + `GymTag` clean-spawn (497 EditMode green). ◻ the fresh **`Gym.unity` scene assembly** + the
|
||||
> **L3 feel gate** (operator's eyes; also closes the A1 in-game animated-pipeline confirmation) remain. See
|
||||
> [[2026-07-15_Lantern_Phase1_GroupB_5Sparks_Systems]].
|
||||
> **Phase 1 status (2026-07-15):** ✅ Group A (4-socket kit) · ✅ Group B (5 Sparks: decoy / hook-reel / vortex /
|
||||
> blink / light-zone; Aoe/Hitscan dispatch; `ReelSystem` / `ZonePulseSystem` / decoy aggro; 3 effect ghosts + defs;
|
||||
> on-demand enemy-spawn tooling) · ✅ the **full remainder, code-complete** — **step 5** two-frame identity (FrameId
|
||||
> signal + per-frame gym loadouts), **step 6** manual-aim windups, **step 8 ★** light-as-territory relevancy
|
||||
> prototype, + the dedicated **`Gym.unity`** (re-based on DevSandbox: camera + DebugOverlay + world → streams the
|
||||
> minimal `GymSub`). **500 EditMode green.** ◻ **Remaining = operator/L3 + focused passes:** the gym Play (feel +
|
||||
> the A1 animated-pipeline confirmation + light-relevancy gamma test + induced-rollback), **step 7 underwater feel**
|
||||
> tuning (substrate exists; = the operator's future visual pass), the legacy `AbilityRef` wholesale removal +
|
||||
> CharacterId→Bathynaut/Harpooner rename (risky focused refactor), and the **★ adversarial netcode review** of the
|
||||
> relevancy + reel slices. See [[2026-07-15_Lantern_Phase1_GroupB_5Sparks_Systems]].
|
||||
|
||||
## Phase 2 — The dark & the pocket-graph
|
||||
|
||||
|
||||
@@ -83,6 +83,42 @@ untouched — the SpawnEnemy op reuses the existing scalar `DebugCommandRequest`
|
||||
- Reel-convergence / decoy-aggro / client-never-instantiate / cross-socket dispatch: structurally sound + self-
|
||||
reviewed, but their behavioural confirmation is L3 (need the full netcode world), not L2.
|
||||
|
||||
## Continued — the full Phase-1 remainder (same session, operator: "do everything, don't defer, commit as you go")
|
||||
|
||||
After the milestone, the operator directed powering through ALL remaining Phase-1 items in one session. Shipped
|
||||
(each L1 clean + suite green + committed):
|
||||
|
||||
- **Gym scene built, then RE-BASED on DevSandbox:** first a fresh minimal `GymSub` subscene (PlayerSpawner /
|
||||
AbilityDatabase-with-9-abilities / physics+collision config / ProjectileSpawner / GymRoster, built by
|
||||
duplicate-and-move of the proven singletons + GymTag). The from-scratch host had no dev UI and a name-collision
|
||||
(host + subscene both "Gym") that made the operator Play the *subscene* → "no cameras". Fixed: renamed subscene →
|
||||
`GymSub.unity` (GUID-stable); **host `Gym.unity` re-based on DevSandbox** (operator's call — inherits camera +
|
||||
DebugOverlay + world), SubScene repointed to GymSub. **Operator note: DevSandbox/gym visuals should match the
|
||||
future LANTERN look — a future improvement.**
|
||||
- **Manual-aim windups (step 6, `8f099c32b`):** `WindupTicks` on the def; `AbilityFireSystem` resolves each socket
|
||||
at `GetDataAtTick(serverTick − WindupTicks)` — a pure fn of replicated data (§4/DB-6). 4 Sparks tuned.
|
||||
- **Two-frame identity + FrameId (step 5 + §8, `342a39a54`):** `FrameId` written server-side; the 2 class-HUD
|
||||
readers moved to it (AbilityRef fallback); per-frame gym loadouts via `ClassTraits.FrameLoadout` (Harpooner /
|
||||
Bathynaut). Caught + fixed a MetaSeeding test regression (FrameId must be `AddComponent`, not `SetComponent` —
|
||||
the minimal test prefab has no baked FrameId).
|
||||
- **Light-as-territory relevancy prototype (step 8 ★, `aeb979f8d`):** `LightRelevancySystem` hides enemy ghosts
|
||||
outside each player's lamp radius (SetIsIrrelevant, modelled on `RegionRelevancySystem`; the shared-set is cleared
|
||||
only by RegionRelevancy, Light `[UpdateAfter]` it + only `TryAdd`s; gated on GymTag). Pure decision in
|
||||
`LightRelevancyMath` (+3 tests). **500 EditMode green.**
|
||||
|
||||
**Deferred to focused/operator passes (surfaced, NOT silent):**
|
||||
- **Underwater feel (step 7):** the substrate (AmbientAudio bed, WorldAtmosphere fog, AmbientMotion debris) all
|
||||
EXISTS — §11 is a tuning pass needing eyes/ears, and the operator flagged underwater visuals as a future
|
||||
improvement. Backlog: murk fog values, buoyant-decay presentation, hydrophone timbre.
|
||||
- **AbilityRef/AbilityCooldown/EffectiveAbilityStats wholesale removal** + the **CharacterId → Bathynaut/Harpooner
|
||||
rename** — risky refactors (woven through equip/class/meta/StatRecompute + tests) that "still work" via the
|
||||
transition; a focused pass, not a marathon ram.
|
||||
- **L3 / operator-eyes:** the gym Play (world-creation cycle check for this session's new [UpdateBefore/After]
|
||||
edges + functional server==client + feel: reel yank / vortex pull / decoy aggro / **skinned-enemy animation** =
|
||||
the A1 confirmation), the light-relevancy **gamma test**, the induced-rollback (NP-4) 2-instance check, the
|
||||
windup client telegraph VFX, per-player lamp dim/bright, and the **★ adversarial netcode review** of the
|
||||
relevancy + reel slices before they ship.
|
||||
|
||||
## Related
|
||||
- [[Phase1_Combat_Gym_Build_Spec]] · [[DR-050_Lantern_Phase1_Combat_Design]] · [[Roadmap_Lantern_Slice]] (A1 gym
|
||||
note) · [[2026-07-14_Lantern_Phase1_GroupA_Combat_Sockets]] · [[DR-023_Enemy_Animation_MonsterMash]]
|
||||
|
||||
Reference in New Issue
Block a user