Session 2026-07-15: the 5-Spark systems, content, and enemy-test-gym CODE done
(497 EditMode green); the fresh Gym.unity scene assembly + the L3 feel gate remain.
Roadmap Phase-1 status updated. Reusable gotchas banked (reel via re-aimed
KnockbackState; GymTag bypasses the meta spawn guard; manage_scriptable_object
target-object quirk).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Defer the in-game skinned-enemy animated check to a purpose-built semi-permanent
gym scene (Phase 1's 'no world - a gym') with spawn-a-chosen-enemy tooling, rather
than hacking the shared wave roster. Survives the coming enemy-system rework; the
3 skinned prefabs are ready to drop in.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
animationType=Human (enum 3, not Generic); CharactersAvatar.isHuman=true.
CLAUDE.md correct; the grounding agent misread the enum.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A0: all 3 master shaders now present (Emissive-Gloam authored as HLSL w/
in-shader flicker). A1: skinned recipe proven for a LANTERN creature
(EnemyRigTools.BuildDrowner -> EnemyDrowner.prefab); in-game animated run +
custom-kit reattach + suit/2nd-creature still open. Flags the Generic-vs-
Humanoid rig-type discrepancy vs CLAUDE.md to reconcile.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Phase-0 status + Workstream A0/A1 callouts: the in-engine ArtStaging style-proof
scene is built (prop+creature+suit triad under murk + light-is-territory pool
lighting, passes full/200px/grayscale); statics recipe validated in-engine;
skinned Rukhanka bake + 3 master shaders still open.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adversarial pre-code review (wf_c7575828-934; 23 agents, 0 failures) over the Phase 1
combat-gym design raised 19 findings (8 CONFIRMED + 11 PARTIAL, 0 refuted) and caught
design-breakers before code:
- SpawnId bit budget exhausted (owner16|fireCount12|fork4) -> repack owner14|socket2|
fireCount12|fork4 so 4 sockets don't collide/desync.
- "KEEP as-is" client feel layer is a real migration (CombatFeedback/PlayerAnimationDrive/
HUD read the reworked AbilityRef/AbilityCooldown) + needs a new replicated class signal.
- predict-spawn is Projectile-only (Aoe/Hitscan/decoy = Cone-precedent server-only spawn);
Blink = velocity-blink in its own system (not a transform teleport); SocketCooldown hot
not cold; EffectiveAbilityStats 4-wide; windup needs a rollback-safe resolve tick;
Harpooner reel + player zone = new server-only code, not salvage.
Verdict: pass-with-changes on all 3 lenses, no redesign. Phase1_Combat_Gym_Build_Spec =
the implementation contract (8-step build order, wire/bake churn, open risks, ledger).
DR-050 records it; pre-review design -> superseded.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>