testing.FakeModel ​

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

Interface · import type { FakeModel } from '@holostep-configurators/runtime-client/testing'; · stable · since 2.0.0 · section 24. /testing

A GLB as the fake knows it: its node tree, connectors, manifest, clips and load behaviour.

Members ​

Member Kind Summary
nodes property Declared node tree of a GLB (names, ids, tags, slots, joints, local bounds).
connectors? property The GLB's connector planes in its local frame, as the manifest lists them.
manifest? property What describe(node).manifest returns.
variants? property · labs The GLB's KHR_materials_variants names, as the runtime reads them from the loaded file, stamped or not: a MaterialSpec.variant this list lacks records 'unsupported-spec' at 'patch.material.variant', as on the runtime.
clips? property Clip names, lengths and animated nodes, for animations.
load? property Simulated load: time and outcome.

Declaration ​

ts
export interface FakeModel {
  nodes: ReadonlyArray<{
    name: string;
    id?: string;
    parent?: string | null;
    mesh?: boolean;
    tags?: string[];
    slot?: string;
    joint?: boolean;
    bounds?: {
      min: {
        x: number;
        y: number;
        z: number;
      };
      max: {
        x: number;
        y: number;
        z: number;
      };
    };
    doubleSided?: boolean;
    uvChannels?: number[];
    material?: Pick<MaterialSpec, 'baseColor' | 'metallic' | 'roughness' | 'alpha' | 'alphaMode' | 'alphaCutoff' | 'side' | 'emissive' | 'emissiveStrength'>;
  }>;
  connectors?: readonly ManifestConnector[];
  manifest?: AssetManifest;
  variants?: readonly string[];
  clips?: ReadonlyArray<{
    name: string;
    durationMs: number;
    nodes?: readonly string[];
  }>;
  load?: {
    ms?: number;
    fail?: boolean;
    progressEveryMs?: number;
  };
}

Generic-API test (spec 3.1) ​

Rule Result
1. Neutral name pass: FakeModel names no product
2. A precedent not recorded: no ledger row (coverage.json) names this member or its owner
3. Two apps, or labs not recorded: no ledger row names this member or its owner
4. The cheaper fix first not recorded per member (Appendix B decides it per need)