Events['ar:status'] ​

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.

Property of Events · stable · since 2.0.0

ts
'ar:status': {
  readonly status: 'disabled' | 'unsupported' | 'activating' | 'active' | 'error' | 'other';
  readonly place?: {
    readonly state: string;
    readonly hint: string;
  };
};

The AR launch state changed. While Holostep's in-page AR runs on the camera route, 'active' repeats with place each time it changes.

Fields ​

status ​

ts
readonly status: 'disabled' | 'unsupported' | 'activating' | 'active' | 'error' | 'other';

place ​

ts
readonly place?: { … }

Holostep's in-page AR on the camera route: what the session does and the line its screens show now, for a page that draws its own (ui: 'headless') or adds to them. On 'active', and on 'error' when the session never showed the camera; absent from every other viewer. Both fields are open sets: ignore an id you don't know. state: 'starting', 'searching' (looking for the floor), 'found' (the product places itself once the aim is steady), 'placed', 'limited' (tracking is weak), 'lost' (the product holds its spot), 'paused' (the page is hidden or turning), 'failed' (the session can't go on: hint says why). hint ('' none): 'starting', 'move-phone', 'point-at-floor', 'hold-still', 'tap-floor', 'placed', 'placed-preview', 'gestures', 'move-for-true-size', 'true-size', 'too-fast', 'too-dark', 'few-features', 'occluded', 'lens-switch', 'tracking-weak', 'tracking-lost', 'point-back', 'place-again', 'keep-awake', 'tap-wall' (a wall product: tap where the wall meets the floor), 'tape-start', 'tape-end', 'tape-retry'; with 'failed': 'camera-denied', 'motion-denied', 'camera-busy', 'tap-to-resume', 'load-failed', 'too-hot', 'too-slow', 'context-lost', 'unsupported'.

place.state ​

ts
readonly state: string;

place.hint ​

ts
readonly hint: string;

Generic-API test (spec 3.1) ​

Rule Result
1. Neutral name pass: ar:status names no product
2. A precedent not recorded: no ledger row (coverage.json) names this member or its owner
3. Two apps, or labs pass: 21 apps (fleet cross-check: app-04c2774145, app-0c773a4ee3, app-37356bf09f, app-378d190f1b, app-4762caacdc, app-4fd23bc869, app-822bb9d6aa, app-8675b3225c and 13 more)
4. The cheaper fix first not recorded per member (Appendix B decides it per need)