Docs: attribute-swallow root cause + session log; CLAUDE.md gotcha + 6.5 accuracy fixes (net-zero)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-07 21:38:10 -07:00
parent 8baf98622f
commit 5a16acc56d
5 changed files with 96 additions and 16 deletions
@@ -63,7 +63,8 @@ after a playtest gate). **Blender scope: hero props + decals.** No time estimate
> **Gate outcome (2026-07-07 operator playtest):** trunk holds mechanically, but the verdict is *"not cohesive, very
> static, visually boring — comparable games' environments are dynamic and interactable"* + ability upgrades boring +
> the 07-07 harvest shrink/pop never showed on-screen (the pre-flagged PostTransformMatrix-on-root risk is real).
> the 07-07 harvest shrink/pop never showed on-screen (root cause later pinned same day: a swallowed
> `[RuntimeInitializeOnLoadMethod]` attribute — NOT the pre-flagged PTM-on-root risk, which live-verified correct).
> → **Phase 1.5 (World Alive) inserted below; mechanic-changer boons PULLED FORWARD from Phase 3 (Phase 1.7).**
> Explicit operator framing: make the game **look better**, not more "juice" — the code-side hit-feel layer stays as-is.
@@ -110,12 +111,18 @@ attacks/animations/effects**. Art direction deliberately UNDECIDED — lighting
### Stabilize first (bugs, do before the pass)
1. **Node harvest feedback fix:** the shrink/pop drives `PostTransformMatrix` on the ghost ROOT, but node meshes are
render (LEG) children → scale the render children instead (the 07-07 session log pre-flagged exactly this).
**Verify ON-SCREEN this time** — the operator's eyes are the test for skinned/scaled visuals.
2. **Collision precision pass:** operator reports collisions imprecise/not working well. Diagnose scope FIRST
(environment collision vs body-blocking vs melee/projectile hit registration — each is a different system) with a
live repro session, then fix. Swept-not-point rules apply to anything hit-reg.
1. ~~Node harvest feedback fix~~ **FIXED (2026-07-07 session B).** Root cause was NOT the pre-flagged
PTM-on-root risk — live inspection proved the Model child properly parented and root-PTM propagation exact
(root PTM 0.783 → child LTW 1.723 = 2.2×0.783). The 07-07 knob edit had **swallowed the
`[RuntimeInitializeOnLoadMethod]` attribute** off `WorldFeelConfig.ResetDefaults``Enabled=false` → the WHOLE
feedback slice (shrink/pop + chips + SFX + micro-punch) silently dead. One-line restore; verified on-screen +
numerically on a live server-spawned node; 455/455. Operator still eyeballs a real harvest in the next playtest.
2. **Collision precision pass — SCOPED (2026-07-07 operator): environment collider FIDELITY.** Collision shapes
don't match the visual meshes (cover rocks etc.) — invisible walls / visual clipping. TODO: audit every
Environment-layer collider (boundary rim, landmark rocks, in-room cover props) and fit them to the render mesh
(tightened primitives or convex mesh colliders); verify against the baked subscene PhysicsWorld (that's where
they live — classic-GameObject views lie). Re-validate the enemy stuck-fix backstop after any shape change
(Depenetrate/tangent-slide was tuned on the old shapes).
### Short-term wins (asset/scene/client layer)