TryOnReport ​

Contract 2.0.0 · package sha256 a857eca95b35921109faf997094bb4192f12527d9d0fcd4be7e97f06425bad6e · generated from configurator-runtime.d.ts by services/onsite-scripter/scripts/build-contract-docs.mjs; edit the source, not this file.

Interface · import type { TryOnReport } from '@holostep-configurators/runtime-client/contract'; · labs, @experimental · since 2.0.0 · section 16. Capture, export, AR

What tryOn resolves with once try-on closed or could not open. Frozen.

Members ​

Member Kind Summary
launched property True when the camera picture with the product showed: try-on ran.
mode property Where it ran, or would have.
reason? property Present when launched is false: 'unavailable' (canTryOn() says no), 'unsupported' (this device, one without a camera, or a mode or UI not offered), 'camera-denied' (the camera was refused and try-on closed on…
durationMs property From the call to the close, ms.
handoffUrl? property The link the hand-off's QR code carried, for 'handoff'.
problems property What went wrong during this try-on, also when it launched; codes this contract doesn't name arrive as 'other'.

Declaration ​

ts
export interface TryOnReport {
  readonly launched: boolean;
  readonly mode: TryOnMode;
  readonly reason?: 'unavailable' | 'unsupported' | 'camera-denied' | 'needs-tap' | 'error' | 'other';
  readonly durationMs: number;
  readonly handoffUrl?: string;
  readonly problems: readonly Problem[];
}

Generic-API test (spec 3.1) ​

Rule Result
1. Neutral name pass: TryOnReport names no product
2. A precedent not recorded: no ledger row (coverage.json) names this member or its owner
3. Two apps, or labs labs (@experimental at a stable path, reached through has() or supports()): it graduates when a second app uses it
4. The cheaper fix first not recorded per member (Appendix B decides it per need)