← StrobeSim

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

Application APK from Till → QuestIonAble File Manager on Windows → installed Quest app
Profiles StrobeSim → validated JSON bundle → repository transfer bridge → Quest stored profile list

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.

  1. Acknowledge the browser warning

    The acknowledgement lasts for the current browser session. Selecting a stimulus card opens its designer and starts the flat preview.

  2. 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.
    SpacePause or resume the browser preview.
    Randomize within the Quest-safe parameter envelope.
    Restore the previous randomization for this profile.
    SKeep a temporary snapshot for this browser session.
  3. Keep or export the result

    New simulation and New strobe add profiles to the browser library. Download for Quest creates rusty-vr-strobe-profiles.json containing 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.

  1. 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.

  2. 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.

  3. 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.

  4. 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 ARandomize the currently active stimulus.
Right BOpen or close the control panel. Opening recenters it in front of you.
Either stick, horizontal flickCycle through the current preset list.
Right stick, verticalMove the stimulus nearer or farther.
Left stick, verticalAdjust concavity in curved mode; in flat mode it adjusts distance.
Left XStore an exact copy of the active profile in the Quest app.
Right triggerPoint 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.

  1. Browser → Quest

    Download rusty-vr-strobe-profiles.json from 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.json

    The 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.

  2. 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.json

    Back 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.

Browser previews are useful for authoring, but visual acceptance—including curvature, distance, depth, comfort, and performance—belongs to the headset test.