InfoReport ​

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 { InfoReport } from '@holostep-configurators/runtime-client/contract'; · stable · since 2.0.0 · section 19. Info and capabilities

A diagnostic snapshot (session.info()). Safe to log or send with a bug report.

Members ​

Member Kind Summary
contract property This runtime's contract (RUNTIME_CONTRACT).
runtime property version: RUNTIME_VERSION.
renderer property The renderer on this device.
device property maxTextureSize: the largest texture side this device takes, pixels.
scene property · labs What the last drawn frame cost, for checking a scene against a phone budget.
ar property AR on this device for this account: read it before showing an AR control.
document property The viewer document's layers and the last apply.
problems property This session's recent Problems, oldest first: the last 50 of any code, plus the last 20 'asset-failed', 'sync-failed' and 'render-lost' entries even when older, so budget codes never push those out.
session property id: this session's id; bootMs: how long boot took, ms.

Declaration ​

ts
export interface InfoReport {
  readonly contract: RuntimeContract;
  readonly runtime: {
    readonly version: string;
  };
  readonly renderer: {
    readonly backend: 'webgl2' | 'webgpu' | 'other';
    readonly engineConflict: boolean;
    readonly tier: 'low' | 'medium' | 'high' | 'other';
    readonly limits: {
      readonly linkedLights: number;
    };
  };
  readonly device: {
    readonly maxTextureSize: number;
  };
  readonly scene: {
    readonly triangles: number;
    readonly drawCalls: number;
    readonly geometries: number;
    readonly textures: number;
    readonly programs: number;
  };
  readonly ar: {
    readonly enabled: boolean;
    readonly modes: ReadonlyArray<'scene-viewer' | 'quick-look' | 'webxr' | 'other'>;
    readonly fileModes: ReadonlyArray<'scene-viewer' | 'quick-look' | 'other'>;
    readonly pending: boolean;
  };
  readonly document: {
    readonly layers: readonly string[];
    readonly lastReport: ApplyReport | null;
  };
  readonly problems: readonly Problem[];
  readonly session: {
    readonly id: string;
    readonly accountId: number;
    readonly configuratorId: string | null;
    readonly bootMs: number;
  };
}

Generic-API test (spec 3.1) ​

Rule Result
1. Neutral name pass: InfoReport 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: 4 apps (fleet cross-check: app-b362a81c85, app-f9a32142f1, app-fc07850558, app-fd09090420)
4. The cheaper fix first not recorded per member (Appendix B decides it per need)