VR sleeve palette (K1+K2) as the vrsleeve core module - #75
Merged
Conversation
- new src/lib/vrSleeve.js: flat strip of 6 ghost mini-primitives riding the sleeve-hand forearm (left; mirrors right when the menu owns the left hand), slots wrist->elbow at 0.055m pitch, scene-graph only (never objectsGroup). Trigger on a ghost detaches a held preview that rigid-follows the grabbing controller (stick-Y scales 0.2-5, wrist rotates 1:1); release creates the primitive at the preview pose with grip-drop snap rules (grid rounds x/z, surface rests it) as ONE undo batch. K2: grip-drop an object ONTO the strip to capture a prefab snapshot into a custom slot (LOCAL idb, 8 cap, 5 MB), ghost thumbnail + clear chip on a second row, slot spawn = replicated instantiatePrefab at the release pose. Gated by vrSleeveEnabled (default OFF) via Settings > VR + a VR Settings panel row (settings:sleeve) - src/modules/vrsleeve/: thin core-module shell (register wires the hooks; disabling the module removes the feature entirely) - vrControls.js: generic module-VR hook registries (nav suppressor, panel group provider for the beam/reticle family, trigger start/end/swallow hooks, grip-drop interceptor, per-frame hook) so feature modules plug into the interaction loop without import cycles; onSqueezeEnd release can be consumed by a hook (object pose restored, physics hold still released) - Scene.svelte: onXRSelect swallow guard + selectstart/selectend module-hook dispatch (a sleeve pick/place never falls through to raycastSelect) - e2e: vr-sleeve.test.cjs (29 checks, headless with synthetic poses): strip structure, default-off gating, ghost->create round trip w/ one-undo + broadcasts + grid/surface snap, suppression + swallow predicates, K2 capture/restore/persist-across-reload/spawn/clear/cap - on-device feel (forearm placement/offsets, grab ergonomics) = manual check - verified: build green, svelte-check 437/62 baseline held, suites vr-grab vr-window-grab vr-vertex-hold vr-box-select vr-teleport-toggle vr-snap-menu all pass Co-Authored-By: Claude <noreply@anthropic.com>
…itmesh pro) into vr-sleeve-palette Conflict: App.svelte debug hook unioned (release/next list + vrSleeve).
AlexZ005
added a commit
that referenced
this pull request
Aug 1, 2026
…kill - CLAUDE.md domain map: vrSleeve entry (forearm ghost strip, held-preview place w/ snap rules as one undo, K2 idb slots) + the GENERIC module-VR hook registries now living in vrControls (nav suppressor / panel-group provider / trigger start-end-swallow / grip-drop interceptor / frame hook) - reuse them for future VR feature modules instead of hardwiring vrControls - src/modules list: vrsleeve = thin shell over $lib/vrSleeve (local-only; disabling the module removes the feature) - new Status (2026-08-01): PR #75 merge summary + the NOT-yet-merged AI assistant v3 flow+physics branch (local ae53c7b on feature/ai-flow-physics-tools, awaiting push/PR; docs-repo page already committed) - e2e-verify skill: vrSleeve in the debugStores hook list, lane-aiphys @5178 port assignment, idb persistence traps (fire-and-forget write aborted by an immediate reload; loaded-once stores on the second module instance) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Feature lane merged with release/next (icons + Part A + colliders/editmesh) before landing; conflict was the App.svelte debug-hook union. Verification on the merged tree: build green, svelte-check 438/62, vr-sleeve + vr-radial-menu + vr-palette suites pass against three 0.185.
🤖 Generated with Claude Code