Mark anchor-loco needs-fixing + teleport/lasers broken; record locomotion + project-direction open decisions; smart-agent escalation channel

This commit is contained in:
Foxyz1302 committed 2026-10-01 22:29:46 +03:00
1 parent 970b5f1d50
commit d46a742b66
2 files changed
+46 -11

No files matched your search

+10 -3
View File
@@ -119,7 +119,11 @@ device only; the editor has an XR simulator for dev. Trackers/action map: see `x
ruin immersion and are hard to aim at distance; they are the fallback, not the default. ruin immersion and are hard to aim at distance; they are the fallback, not the default.
- **Hand tracking**: cheap spike early, full support later. Interaction logic must not assume - **Hand tracking**: cheap spike early, full support later. Interaction logic must not assume
controllers — controller tip and fingertip feed the same cursor concept. controllers — controller tip and fingertip feed the same cursor concept.
- **Locomotion** (implemented, play-feel tuning ongoing): spawn re-anchoring - **Locomotion** (implemented, NEEDS FIXING per owner 2026-10-01 — two-hand turn not
2-anchor based, two-hand simultaneous move weird, teleport + lasers broken/experimental;
fix-or-replace rides on the body-physics track decision, owner candidate replacement =
physics thumbstick movement):
spawn re-anchoring
happens ONCE on first focus gained (HMD xz at `SpawnPoint` + spawn yaw; real head height and happens ONCE on first focus gained (HMD xz at `SpawnPoint` + spawn yaw; real head height and
pitch kept) — physical room position never matters. `pose_recentered` is deliberately NOT a pitch kept) — physical room position never matters. `pose_recentered` is deliberately NOT a
placement trigger AND its log is throttled to one line: measured on WiVRN it fires placement trigger AND its log is throttled to one line: measured on WiVRN it fires
@@ -177,8 +181,11 @@ device only; the editor has an XR simulator for dev. Trackers/action map: see `x
from engine source; the deliberate full action-map pass happens with the UI milestone. from engine source; the deliberate full action-map pass happens with the UI milestone.
**Hand tracking spike still TODO** (`XRHandTracker` through WiVRN, see **Hand tracking spike still TODO** (`XRHandTracker` through WiVRN, see
`openxr_hand_tracking.rst`). `openxr_hand_tracking.rst`).
3. ~~Locomotion: anchor-grab mode~~ — **done** (`AnchorMoveMode.cs` + teleport markers + 3. ~~Locomotion: anchor-grab mode~~ — **done, NEEDS FIXING** (`AnchorMoveMode.cs` + teleport
spawn anchoring); other movement modes are future nodes beside it. markers + spawn anchoring): two-hand turning not 2-anchor based, simultaneous two-hand
movement weird, teleport + lasers broken (owner report 2026-10-01; experiments, not
current issues). Fix-or-replace deferred — owner's candidate replacement is physics
thumbstick movement if the body-physics track lands.
4. ~~UI: first prop panel~~ — **done** (`WorldPanel.cs`); SubViewport/composition-layer screen 4. ~~UI: first prop panel~~ — **done** (`WorldPanel.cs`); SubViewport/composition-layer screen
deferred until dense content (file browser) is actually needed. deferred until dense content (file browser) is actually needed.
5. ~~Box3D validation spike~~ — **done, PASS** (drop+contact, velocity-chase vs wall, headless 5. ~~Box3D validation spike~~ — **done, PASS** (drop+contact, velocity-chase vs wall, headless
+36 -8
View File
@@ -198,6 +198,24 @@ PropShop, PropGrabber, PhysicsHands, BodyRig, FadeLayer/Fade. Action map: `openx
## 5. Known issues / open questions ## 5. Known issues / open questions
- **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
thumbstick movement if the body-physics track lands (Nimso-style) — see next-steps item
about the locomotion decision; don't over-invest in anchor-loco until that's decided.
- **Teleport + lasers are BROKEN** — owner report; both were experiments anyway and are
NOT current issues. Locomotion.cs's marker/laser machinery may be resurrected or deleted
when the locomotion direction is decided; WorldPanel's laser-hover knobs still reference
the laser system, so a deletion needs that decoupling first.
- **Locomotion direction undecided** — owner's lean: full physics thumbstick movement if
the body track goes the Nimso way (stick pushes the physics body; sway/jog detection
class of solutions). Anchor-grab locomotion was a scene-viewer-era design; the fix-or-
replace decision rides on the body-physics track outcome.
- **Project direction note (owner, 2026-10-01)** — initially a scene viewer; messing with
physics made gameplay-first a live possibility (scene viewer second). NOT decided —
hinges on whether the body-physics track works painlessly. Affects prioritization only;
nothing to change in code/docs until decided.
- **Grab v5.3.1 — VALIDATED in-headset (owner: "it just works")** — the grab saga is closed. - **Grab v5.3.1 — VALIDATED in-headset (owner: "it just works")** — the grab saga is closed.
Solver-owned rigid weld via the locally patched addon (ConeTwistJoint3D → b3WeldJoint), Solver-owned rigid weld via the locally patched addon (ConeTwistJoint3D → b3WeldJoint),
rigid two-handed, takeover automatic. Headless: grab/weld/physics spikes all PASS 3×. rigid two-handed, takeover automatic. Headless: grab/weld/physics spikes all PASS 3×.
@@ -274,24 +292,34 @@ PropShop, PropGrabber, PhysicsHands, BodyRig, FadeLayer/Fade. Action map: `openx
Boneworks/Nimso tier, NOT per-bone skeleton sim), test hugging props; muscle model = Boneworks/Nimso tier, NOT per-bone skeleton sim), test hugging props; muscle model =
hierarchical budgets (hand ≺ forearm ≺ shoulder ≺ torso) scaled from body mass. hierarchical budgets (hand ≺ forearm ≺ shoulder ≺ torso) scaled from body mass.
Character model: keep boxes for the physics work (owner asked; see research §5-6). Character model: keep boxes for the physics work (owner asked; see research §5-6).
2. **Grab points on special objects** — grab is palm-proximity to the prop origin today; 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
movement if the body track lands. Fix-or-replace rides on item 1's outcome; teleport/
laser machinery gets resurrected-or-deleted with it (WorldPanel's laser-hover knobs
must decouple first if deleted).
3. **Grab points on special objects** — grab is palm-proximity to the prop origin today;
special objects may want authored grab anchors (see `research/vr-grabbing.md` taxonomy). special objects may want authored grab anchors (see `research/vr-grabbing.md` taxonomy).
2. **Grab points on special objects** — grab is palm-proximity to the prop origin today; special 4. **Physical torso/head capsules** — folded into the body-physics track (item 1): the torso
objects may want authored grab anchors (see `research/vr-grabbing.md` taxonomy).
3. **Physical torso/head capsules** — folded into the body-physics track (item 1): the torso
chase body IS the capsule replacement; head/body colliders join it in the same stage. chase body IS the capsule replacement; head/body colliders join it in the same stage.
4. **Hand tracking spike** — `XRHandTracker` through WiVRN; controller tip and fingertip must feed 5. **Hand tracking spike** — `XRHandTracker` through WiVRN; controller tip and fingertip must feed
the same cursor concept (interaction must not assume controllers). the same cursor concept (interaction must not assume controllers).
5. **Neck/head look system** — `LookAtModifier3D` head→neck distribution (needs a real skeleton). 6. **Neck/head look system** — `LookAtModifier3D` head→neck distribution (needs a real skeleton).
6. **EMBODYING** — view-follow + avatar remapping (chest calibration transform); experiments only 7. **EMBODYING** — view-follow + avatar remapping (chest calibration transform); experiments only
after head/neck look override exists. Theory until proven. after head/neck look override exists. Theory until proven.
7. **UI milestone** — deliberate full action-map pass + SubViewport/composition-layer decision for 8. **UI milestone** — deliberate full action-map pass + SubViewport/composition-layer decision for
dense screens (at most ONE such screen; everything else stays props). dense screens (at most ONE such screen; everything else stays props).
## 8. Working agreements ## 8. Working agreements
- Read `AGENTS.md` fully before working; it overrides this file where they differ. - Read `AGENTS.md` fully before working; it overrides this file where they differ.
- Agent-orchestration workflow: the orchestrator delegates to subagents and reviews their output. - Agent-orchestration workflow: the orchestrator delegates to subagents and reviews their output.
- **Escalation channel**: the owner has a smart external agent for hard problems/number
crunching — the orchestrator says so when stuck or when a problem exceeds its own
capability, and the owner forwards. It starts with ZERO project context, so problem
statements must be fully self-contained (constants, constraints, desired output; no
repo references). Likely first candidates: per-joint PD gain derivation for the
hierarchical muscle budgets; Box3D stiffness-clamp vs physics-tick-rate math.
- The USER playtests in VR and reports feel — nothing "works" until the owner confirms in-headset. - The USER playtests in VR and reports feel — nothing "works" until the owner confirms in-headset.
- Engine logs (`~/.local/share/godot/app_userdata/VR Messs/logs/godot.log`) are the diagnosis - Engine logs (`~/.local/share/godot/app_userdata/VR Messs/logs/godot.log`) are the diagnosis
source after playtests — read them instead of guessing. source after playtests — read them instead of guessing.