Browser to Quest workflow
This is the working path for Trevor: explore or create stimuli in the browser, install the APK supplied by Till, test the result in the headset, and move profile sets between the two versions when needed.
Two separate handoffs
The apps use the same profile vocabulary and bounds, but they do not live-sync. The browser preview is flat; the Quest app remains the authority for the spatial, curved, depth-aware headset result.
1. Explore and create in the browser
StrobeSim starts with Trevor's original nine-profile catalog and adds the Quest profile controls around it.
-
Acknowledge the browser warning
The acknowledgement lasts for the current browser session. Selecting a stimulus card opens its designer and starts the flat preview.
-
Explore the current profile
Edit the controls directly or use the keyboard for fast exploration. Keyboard commands are ignored while a form field has focus.
← → Cycle through the complete current set, including session saves. Space Pause or resume the browser preview. ↑ Randomize within the Quest-safe parameter envelope. ↓ Restore the previous randomization for this profile. S Keep a temporary snapshot for this browser session. -
Keep or export the result
New simulation and New strobe add profiles to the browser library. Download for Quest creates
rusty-vr-strobe-profiles.jsoncontaining the current library plus session saves. Restore original set restores Trevor's nine source profiles while retaining additional profiles.
2. Install and run the Quest APK
Till supplies the APK directly. QuestIonAble File Manager provides the Windows installation route; it does not publish or download this shared test build.
-
Install QuestIonAble File Manager
Use its guided setup and onboarding page. It requires Windows, Android SDK Platform Tools, a Quest in Developer Mode, and a USB data cable for the first authorization.
-
Authorize the headset
Connect the Quest by USB, put on the headset, and approve the USB debugging prompt. In QuestIonAble File Manager choose Refresh, then select the ready [USB] headset at the top.
-
Install the supplied file
Open APKs, browse to the APK from Till, and choose Install on selected headset. The normal reinstall option also updates an existing copy. Wait for the per-headset success result before disconnecting.
-
Launch in Quest
Open the newly installed app from the Quest app library; sideloaded builds are normally grouped under Unknown Sources. On first launch, acknowledge the in-headset warning and select a stimulus. Selection begins the stimulus after a short black lead-in; it is not automatically time-limited.
| Right A | Randomize the currently active stimulus. |
|---|---|
| Right B | Open or close the control panel. Opening recenters it in front of you. |
| Either stick, horizontal flick | Cycle through the current preset list. |
| Right stick, vertical | Move the stimulus nearer or farther. |
| Left stick, vertical | Adjust concavity in curved mode; in flat mode it adjusts distance. |
| Left X | Store an exact copy of the active profile in the Quest app. |
| Right trigger | Point at and activate panel controls; it does not store a profile. |
3. Move profiles between browser and Quest
The interchange file uses rusty.quest.spatial_vr_strobe.profile_bundle.v1. Import is transactional and replaces the complete Quest stored-profile list only after validation.
-
Browser → Quest
Download
rusty-vr-strobe-profiles.jsonfrom StrobeSim. With the authorized Quest connected, run the repository bridge from the Rusty Quest checkout:pwsh -File tools/Invoke-SpatialVrStrobeProfileTransfer.ps1 ` -Action Import ` -Serial <quest-serial> ` -BundlePath .\rusty-vr-strobe-profiles.jsonThe bridge validates the file, stages it for the app, restarts that app, and succeeds only after the Quest app publishes the matching effective profile count.
-
Quest → browser
Launch the Quest app at least once so it publishes its effective list, then export it:
pwsh -File tools/Invoke-SpatialVrStrobeProfileTransfer.ps1 ` -Action Export ` -Serial <quest-serial> ` -OutPath .\quest-profiles.jsonBack in StrobeSim, choose Import JSON and select
quest-profiles.json. A valid import replaces the current persistent browser library.
Why this is a separate bridge: QuestIonAble File Manager handles the APK and normal ADB-accessible shared storage. The Quest app keeps its effective profile authority in app-private storage, so the ordinary Files tab is not described as a profile-sync route. The repository bridge provides the narrow, validated path.
4. Repository collaboration
Trevor has been invited with write access to the public Rusty Quest repository. Accepting the GitHub invitation enables branches, pushes, and pull-request collaboration without repository administration.
The public draft exposes the browser editor and the self-contained Quest strobe subsystem. The APK from Till is the current integrated runtime test artifact while the remaining app-shell integration is prepared for review.
apps/spatial-camera-panel-android/profile-editor-web/— browser editor, profile contract, and testsapps/spatial-camera-panel-android/app/src/main/java/io/github/mesmerprism/rustyquest/spatial_camera_panel/vrstrobe/— Quest runtime implementationtools/Invoke-SpatialVrStrobeProfileTransfer.ps1— validated browser/Quest JSON bridgedocs/SPATIAL_SDK_VR_STROBE_PORT.md— architecture, controls, provenance, and validation contract
Browser previews are useful for authoring, but visual acceptance—including curvature, distance, depth, comfort, and performance—belongs to the headset test.