SDK-only. Mounting PoseTrackerProvider alone does not load the model (unless autoPreload). The hosted WebView has no preload API — the page boots when it loads.
What starts what
Cold-start modes
Recommended pattern
Optional: <PoseTrackerProvider autoPreload> still uses basic (no camera).
Important WebView detail
For the default WebView backend, preload() / warmup() waits until a mounted WebViewPoseView posts ready. Calling preload() with no WebView in the tree waits until timeout.
Usage metering (camera_start) runs when the camera session actually starts — not during basic preload.
Status path
Typical: configuring → downloading → warming → ready (fatal error only if the local/online model path fails hard). Handshake/engine failures degrade to keypoints-only without blocking ready.
Background / battery
Handled inside the WebView page (no host wiring):
- App backgrounded → camera tracks stopped, inference loop halted; model stays in RAM for fast resume
- Foreground → camera reacquired (including any quality downgrade)
- Unmount
WebViewPoseView → page destroyed; camera / WebGL / model freed
- ~45 consecutive inference failures → stop loop, release camera,
error event
- iOS
inactive (Control Center) is not treated as background
client.dispose() tears down everything.
Last modified on September 14, 2026