-
Notifications
You must be signed in to change notification settings - Fork 0
Testing Scenarios
A quick-reference for validating the VR app against the hardware. The authoritative, always-up-to-date version lives in the code repo at docs/vr-testing-scenarios.md (versioned alongside the app). This wiki page mirrors the highlights and is the place to add your own field notes.
- Power the FlexGrid, wait for its OLED to show Wi-Fi joined.
- Start the server:
start-vr.bat(USB) orstart-vr-https.bat(cordless HTTPS). - Confirm the device appears in the desktop UI Devices panel with a live heatmap.
- Put on the headset, set both controllers down (Quest switches to hand tracking in 2 to 5s).
- Open
/vr, confirm 3 green preflight checkmarks, Enter VR / Start AR.
Run this first after any code change.
- Preflight: 3 green checkmarks
- Enter: scene loads (VR dark / AR passthrough)
- Look forward: heatmap + 3x2 menu + status strip
- Captured arm up: blue joint spheres
- Off hand up: green spheres + blue ray
- Ray on a button: amber + highlight
- Pinch RECENTER: white flash, panels re-anchor
- Pinch-hold a drag handle: handle green, panel follows, release faces you
- Tap REC: yellow SYNC slate ~2.5s, menu collapses to STOP, header shows ms clock + quality dot
- Tap STOP: full menu returns, "saved" in status
All 10 pass = core loop healthy.
The recording header doubles as a live data-quality gauge -- judge your capture without removing the headset:
- Quality dot: gray = warming up · green = match rate >= 70% (good) · amber = 40-70% (marginal) · red = < 40% (poor pairing).
-
NN%= live sensor-to-label match rate. -
JOINTS DROPPING= your hand is partly out of camera view, so the headset is sending incomplete joint frames (those get zero-filled columns). Keep the capture hand more in view. The total is reported aslabel_width_mismatchin the stop result.
| Scenario | What it checks | Key expected result |
|---|---|---|
| A. Gesture training (VR) | SESSION + REC per finger + TRAIN | CSV with match rate > 50%, trained: R2=...
|
| B. Field capture (AR) | passthrough + screen recorder + sync slate | real world visible, slate + header clock legible in the recording |
| C. Pause / boundary redraw | Meta-button or Guardian redraw mid-record | "paused" then "resumed -- re-anchoring UI", no glitch, recording closes clean |
| D. Collapse-to-STOP | menu while recording | collapses to one red STOP, restores on stop |
| E. Panel persistence | drag, reload, re-enter | panels remembered per-mode; RECENTER clears |
| F. Predict + ghost hand | after a TRAIN, PREDICT on | amber ghost hand tracks real hand, REAL-vs-PRED bars |
Full step-by-step for each is in the in-repo doc.
Before demoing or handing to a tester, all of: smoke test passes, A produces match > 50%, B passthrough + sync legible, C recovers from pause, D collapse/restore works, E remembers layout, F ghost tracks.
Add your own observations from real test sessions here -- what worked, what was awkward, hardware/OS combinations. (Setup successes go in Successes Log; setup failures and fixes go in Troubleshooting; this section is for app behavior notes during testing.)