AssetManifest ​

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 { AssetManifest } from '@holostep-configurators/runtime-client/contract'; · stable · since 2.0.0 · section 17. Assets: describe, manifest, validation

The per-GLB manifest (asset.extras.holostep.manifest, and the sidecar). Schema owned by the runtime release.

Members ​

Member Kind Summary
$schema property The schema id.
element property The product element the GLB holds, e.g. 'kozepso_60': asset.extras.holostep.element, else the original file name without .glb (spec section 7.1).
front property The canon (Blender +Y) exports as glTF −Z.
origin property Where the GLB's origin sits: on the floor under the centre, or at the centre; measured from the dimsM box within 1 mm (spec section 7.1).
dimsM property The measured size, metres: the world-space box of the drawn meshes, connector planes excluded (spec section 7.1).
parts property Every authored part.
slots property Every material slot, by slot name.
connectors property Every connector plane, GLB-local.
animations property The clip names.
variants property The KHR_materials_variants names.
provenance property Who stamped the file, and when.

Declaration ​

ts
export interface AssetManifest {
  readonly $schema: 'holostep.gltf.asset/1';
  readonly element: string;
  readonly front: '-Z' | 'other';
  readonly origin: 'floor-centre' | 'centre' | 'other';
  readonly dimsM: {
    readonly width: number;
    readonly height: number;
    readonly depth: number;
  };
  readonly parts: readonly ManifestPart[];
  readonly slots: Readonly<Record<string, ManifestSlot>>;
  readonly connectors: readonly ManifestConnector[];
  readonly animations: readonly string[];
  readonly variants: readonly string[];
  readonly provenance: {
    readonly sha256: string;
    readonly stampedBy: 'upload' | 'asset-library' | 'backfill' | 'optimizer' | 'recompress' | 'plugin' | 'other';
    readonly stampedAt: string;
    readonly ticket?: string;
  };
}

Generic-API test (spec 3.1) ​

Rule Result
1. Neutral name pass: AssetManifest 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)