diff --git a/apps/arena/ui-xr-iwsdk-spike/src/main.ts b/apps/arena/ui-xr-iwsdk-spike/src/main.ts index fb80190ce..f54ccd321 100644 --- a/apps/arena/ui-xr-iwsdk-spike/src/main.ts +++ b/apps/arena/ui-xr-iwsdk-spike/src/main.ts @@ -1,6 +1,5 @@ import { BoxGeometry, - BufferGeometry, CanvasTexture, CapsuleGeometry, Color, @@ -9,8 +8,6 @@ import { DoubleSide, Group, HemisphereLight, - Line, - LineBasicMaterial, Mesh, MeshBasicMaterial, MeshStandardMaterial, @@ -21,14 +18,15 @@ import { Vector3, WebGLRenderer, } from "three"; -import { XRControllerModelFactory } from "three/addons/webxr/XRControllerModelFactory.js"; -import { XRHandModelFactory } from "three/addons/webxr/XRHandModelFactory.js"; import { buildMixedRealitySupportState, hasApprovedMixedRealityOperatorGate, type MixedRealitySupportState, mixedRealityOptionalFeatures, } from "./mixed-reality-state.js"; +import { loadMpfbRadialPulsePatient } from "./mpfb-radial-pulse-patient.js"; +import { createRadialPulseSceneInteraction } from "./radial-pulse-scene.js"; +import { hasRadialPulseDemo, shouldHydrateOptionalIwsdkPackages, shouldInstallUikitmlSpatialTextPanel } from "./radial-pulse-state.js"; import { buildIwsdkSidecarFrameStats, buildIwsdkSidecarRuntimeEvidence, @@ -42,7 +40,6 @@ import { type IwsdkSidecarRuntimeState, type IwsdkSidecarXrEntryEvidence, type IwsdkSidecarXrEntryStatus, - iwsdkSidecarPrimitiveHandModelProfile, iwsdkSidecarSceneObjectNames, recordIwsdkSidecarXrEntryEvidence, summarizeIwsdkSidecarReadiness, @@ -53,6 +50,7 @@ import { type UikitmlSpatialTextEvidence, type UikitmlSpatialTextRuntimePanel, } from "./uikitml-spatial-text.js"; +import { addControllerAffordances, addHandModels } from "./xr-input-models.js"; import "./styles.css"; type NavigatorWithXr = Navigator & { @@ -233,6 +231,8 @@ function requireElement(selector: string): TElement { const bootStartedAtMs = performance.now(); const iwerAutoEnterVrQueryFlag = "iwerAutoEnterVr=true"; const iwerEvidenceViewWideQueryFlag = "iwerEvidenceView=wide"; +const radialPulseDemoEnabled = hasRadialPulseDemo(window.location.search); +document.body.classList.toggle("radial-pulse-demo", radialPulseDemoEnabled); function recordBootPhase(phase: string, error?: unknown): void { const current: OpenClinXrBootEvidence = window.__openClinXrBootEvidence ?? { app: "ui-xr-iwsdk-spike", events: [] }; @@ -283,6 +283,10 @@ app.innerHTML = `
+
+ Consent / assent checked + Stop immediately if discomfort is reported. +
Full VR checking @@ -294,6 +298,7 @@ app.innerHTML = `
IWSDK evidence pending Trace 0/${state.requiredTraceTags.length} + Radial pulse ready