AssetManifest ​Contract 2.0.0 · package sha256
a857eca95b35921109faf997094bb4192f12527d9d0fcd4be7e97f06425bad6e· generated fromconfigurator-runtime.d.tsbyservices/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.
| 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. |
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;
};
}
| 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) |