Skip to content

Modules for core 1.19.0 (untangle 2.4.0) - #31

Merged
AlexZ005 merged 5 commits into
mainfrom
dev
Oct 2, 2026
Merged

AlexZ005 merged 5 commits into
mainfrom
dev

Conversation

@AlexZ005

@AlexZ005 AlexZ005 commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Round 33: merges #29 (untangle 2.4.0 — the VR level picker is seen over core's board, the stick pushes/pulls the board and the held globe; the waves-hit-reset flight). Verified on the 1.19 union: 31 flights green (sabers 10/2 pre-existing; modes-audit football-play red identically on 1.18.0).

🤖 Generated with Claude Code

AlexZ005 and others added 5 commits October 1, 2026 20:45
…h the head level

The Quest report (roadmap 33): "Untangle main menu do not show in VR levels to choose and tab to
switch between flat/globe". 31 proved the picker in emulation — the hole fit, the hits, the
presses — but never its PIXELS from a level head.

Root cause: core 1.18's K2 overlay pass re-stamps every api.vrPanel object to PANEL_ORDER each XR
frame — the order core's own vr-game-panel has — so the picker's renderOrder 1001 is gone and
three breaks the tie by the depth of each mesh's GEOMETRY BOUNDING-SPHERE CENTRE. The hole sits
~6 cm above the panel's centre on a panel pitched back: with the head LEVEL the picker's centre
is a few mm farther than the panel's, the panel draws last and its menu backdrop covers the
picker. Looking down past ~3 degrees it showed — the 31 eye shots looked down at the panel.

Fix (module-only, works on the released 1.18 core): the picker's geometry carries a bounding
sphere centred SORT_LEAD = 0.15 m toward the eyes (radius 2: still encloses the plane for the
raycast early-out). A first attempt led the mesh ORIGIN instead and was measured to change
nothing (three r185 sorts by the sphere centre, not the origin).

Tests:
- vrmenu.test (pure): the sort-depth sign at head pitches -40..+15 deg; CF without the lead a
  level head puts the picker 3.3 mm behind (red as a check of the fix), 20 deg down in front.
- untangle-vr2 L.5b/L.5c: render from the spawn's eye, the lit "2D board" cell's pixel.
  CF (SORT_LEAD = 0, the shipped draw order): level (3,2,3) = the panel backdrop -> L.5b RED
  (logs/vr2-CF-sortlead0.log); fixed: level (183,99,4) amber, 10/25 deg down amber.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… the held globe, as Edit does

The Quest report (roadmap 33): "I can make bigger/smaller the globe but cannot use up/down on
stick to move it further/closer and I want to be able to do this, just as in edit mode for
objects."

- The held globe (trigger on it) maps its hand's stick exactly like an Edit grab (core
  grabStickAdjust): UP pushes it away, DOWN pulls it closer, LEFT/RIGHT scales it (2.3 had
  up/down = scale, because a module could not pause the right stick's snap turn). reel.js is
  the pure math (Edit's 3 % of the distance per frame, clamped 0.15-12 m).
- Pointing the right laser at the board (2D plate) or the globe: the right stick's up/down
  pushes it away / pulls it closer along the laser; left/right still turns the globe. The push
  is the LOCAL hold offset, now applied to the flat board too; a mode switch drops it.
- Core 1.19's api.claimInput('sticks') (feature-detected: it answers true) pauses BOTH sticks
  while they act on the board — the held globe, and the stick deflected at the board — so
  nothing also snap-turns or walks; released at rest. On 1.18 the hold claims 'locomotion' (the
  left stick) and the right hand's X stays the player's snap turn.
- The shell's "Board" setting is registered onLevels: a 1.19 core draws it as tabs above the
  pause menu's Levels grid (G3's "tab to switch between flat/globe"); older cores ignore it.
- 2.4.0 (module, manifest, index, the template def asks 2.4.0), README, help lines.

Tests:
- reel.test (pure, 9). CF: heldStick with 2.3's mapping (y -> scale, no reel) -> 4 red.
- untangle-vr2 R (2D + globe): stick forward/back moves the board along the laser > 0.3 m each
  way, 'sticks' claimed while deflected and released at rest, X turns the globe, B's board never
  moves; S: left X -> the pause menu -> Levels -> the Board tabs -> the globe -> a level, through
  core's panel press path (SKIP to the Settings row on a core without tabs).
- untangle-vr G.2/G.5-G.6 follow the new mapping (Y reels 1.65 -> 3.67 -> 2.06 m, X scales x2.10).
- On core feat/33-untangle-core (PR #255, 5278): untangle-vr2 94/0, untangle-vr 98/0, untangle
  71/0, untangle-drag 54/0; pure untangle ALL PASS.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…e owner's 1.18 preview report)

- "Waves: as soon as I hit an enemy, ALL enemies return to their start position" (Quest,
  preview-1-18). Played the headset way (Interact, the simulation started as a real
  session starts it, the module's vrHand seam), ONE real trigger shot in wave 1 and again
  in wave 2: every other walker keeps its ground and the running wave's start holds
- A/B on the same core (feat/1.18): waves 2.2.0 ALL PASS (16); waves 2.1.0
  (WAVES_ZIP=waves-before, packed from 09c9ffe) RED 2.3 + 2.4 — the other walker back at
  its portal (min 0 m) and the wave's start jumping 5 s: the report verbatim. 2.2.0 fixed
  it (W1); the headset kept running its installed 2.1.0 (a user module never updated
  itself) — core feat/1.18 now offers the update when a scene asks a newer version
- QLEVEL=<n> sets the governor level (4 and 8 measured green), PLAY=1 also presses Play

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… scale before them)

On a core without the 'sticks' scope the held globe is not scaled before G.7 (the right stick's
X stays the player's snap turn), and two assumptions of the 2.3 flight broke:
- G.7 chose the "front" dot by its normal toward a FIXED left-hand spot from the globe's centre;
  on the unscaled globe that cap holds no dot (G.0 picks a dot-free spot facing the hands), so
  the dot it chose was behind the silhouette and the laser rightly hit the globe first. The left
  hand now stands 0.9 m out along the chosen dot's own normal.
- G.12 asserted the release keeps a scale > 1.3; it now asserts the scale the hold had.

untangle-vr: 1.18 core (origin/feat/1.18) 96/0 (G.5c/G.6 SKIP); core feat/33-untangle-core 98/0.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@AlexZ005
AlexZ005 merged commit 3f7346d into main Oct 2, 2026
@AlexZ005
AlexZ005 deleted the dev branch October 2, 2026 11:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant