Body Stage 1 failed first playtest (NaN solver blowup: seated chest-in-table + two-handed anvil weld); failure brief for external agent; docs marked, body track blocked pending diagnosis
This commit is contained in:
1 parent
4fdfcfd928
commit
ce1e0e3b0c
3 files changed
+167
-17
No files matched your search
+26
-12
@@ -120,7 +120,10 @@ TERMINOLOGY (owner-corrected — use precisely):
|
||||
grab/teleport; `IsPanelCollider(node)` identifies interactive colliders for lasers.
|
||||
- **TeleportMarker.cs** — `scenes/teleport_marker.tscn`: disc + beam + Label3D, group
|
||||
"teleport_marker", StaticBody pick box. `SetNear` hides visuals, `SetHighlighted` swaps colors.
|
||||
- **PhysicsTorso.cs** — the player's PHYSICAL CHEST (body-physics Stage 1, implemented 2026-10-01).
|
||||
- **PhysicsTorso.cs** — the player's PHYSICAL CHEST (body-physics Stage 1). **Implemented
|
||||
2026-10-01; FAILED first in-headset playtest (seated chest-vs-table overlap + two-handed
|
||||
50 kg anvil weld → NaN transform flood) — see §5 known issues +**
|
||||
**`research/body-stage1-failure-brief.md` before touching anything here.**
|
||||
One RigidBody3D box (0.22×0.5×0.13, 30 kg, gravity off, CCD, contact monitor), chase-driven
|
||||
toward an HMD-derived target: target = head − 6 cm back + torso-yaw basis·(0, −0.42, +0.06)
|
||||
+ `ReachOffset` (fed by BodyRig's reach budget). Linear drive = the PhysicsHands pattern at
|
||||
@@ -213,6 +216,19 @@ Floor StaticBody scans layer 3 (collision_mask 13).
|
||||
|
||||
## 5. Known issues / open questions
|
||||
|
||||
- **Body Stage 1 (chest) FAILED in-headset on first playtest (2026-10-01) — DO NOT extend the
|
||||
body track until diagnosed.** Owner report: "it quickly collapsed with my head detaching
|
||||
from the body"; screenshot = prop table chaos. Log evidence: session calibrated at head
|
||||
height **1.01 m (seated)** → chest box overlaps the table; the NaN flood
|
||||
(`!v.is_finite()` at `instance_set_transform`, 22.8k lines) starts right after
|
||||
**"grabbed 'Anvil · 50 kg' (50 kg, left, two-handed)"** — i.e. chest-vs-statics overlap +
|
||||
50 kg prop rigid-welded to both 90 N hands pressed into that mess. Headless body spike
|
||||
passes (it lacks static-table overlap + welded heavy props — that's the repro gap).
|
||||
Full self-contained analysis for the owner's external agent:
|
||||
**`research/body-stage1-failure-brief.md`** (evidence chain, hypotheses H1–H3, mitigation
|
||||
candidates M1–M5, headless-repro plan). Working suspicion: the documented
|
||||
"script velocity SETs + reaction forces = limit cycle" lesson (grab v5.0) resurfacing at
|
||||
body scale — 30 kg velocity-write servo braced against statics.
|
||||
- **AnchorMoveMode NEEDS FIXING (owner playtest report, 2026-10-01)** — two-hand turning
|
||||
is NOT working as intended (not 2-anchor based) and simultaneous two-hand movement acts
|
||||
weird. NOTE before fixing: owner is considering replacing grab-locomotion with physics
|
||||
@@ -295,17 +311,15 @@ Floor StaticBody scans layer 3 (collision_mask 13).
|
||||
|
||||
## 7. Next steps (in order)
|
||||
|
||||
1. **Full physics body track — Stage 1 (chest body) IMPLEMENTED, validate in-headset** —
|
||||
`PhysicsTorso.cs` is live: chase chest (30 kg, 2400 N), yaw spring moved in, collision
|
||||
layers reworked (3 = body, 4 = hands, no self-collision). Owner playtests: chest contact
|
||||
with props (lean a crate on it, catch the bowling ball against it), shove response
|
||||
(props push the chest, it recovers — camera never moves), turn following (torso lags
|
||||
head naturally), weight feel. Hug testing on props as agreed. Headless: `body_spike`
|
||||
PASS 3×; all other spikes still PASS 3×. **Stage 2 (arm chains, hierarchical budgets,
|
||||
Nimso/Boneworks tier) awaits Stage-1 feel verdict** — see
|
||||
`research/vr-body-physics-hugs.md` §5/§7 + `research/vr-body-physics-godot.md`.
|
||||
Tuning knobs live in HANDOFF §6 (PhysicsTorso rows); first levers if feel is off:
|
||||
`MaxForce` (gives more/less), `OrientKp` (torso yaw stiffness).
|
||||
1. **Diagnose + fix the body Stage-1 collapse (BLOCKS the body track)** — first playtest of
|
||||
the physical chest NaN'd the solver (seated chest-in-table overlap + two-handed 50 kg
|
||||
anvil weld pressed into it; "head detaching from the body"). All context, hypotheses,
|
||||
mitigation candidates and the headless-repro plan are in
|
||||
`research/body-stage1-failure-brief.md` — written self-contained so the owner can forward
|
||||
it to their external agent verbatim. First move per the brief: extend `body_spike` with
|
||||
the exact cocktail (chest target overlapping a static slab + two welded 90 N hands
|
||||
dragging a 50 kg box into the chest) and get a deterministic NaN repro before touching
|
||||
PhysicsTorso.cs. Owner re-playtests feel only after the fix.
|
||||
2. **Locomotion decision** — owner report 2026-10-01: two-hand anchor turning broken (not
|
||||
2-anchor based), simultaneous two-hand movement acts weird, teleport + lasers broken
|
||||
(experiments, not current issues). Owner's candidate replacement: physics thumbstick
|
||||
|
||||
Reference in new issue
Block a user