ManifestConnector ​

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

Local frame of the GLB.

Members ​

Member Kind Summary
id property extras.holostep.connector.id, else the plane node's cleaned name (never meshes[].name): whitespace becomes _, [ ] . : / are removed, and a name already taken in the GLB gets _<n> (spec section 6.9, ID1).
name property The plane node's authored name in the delivered file; its cleaned form is what meshName matches.
type property The connector type, e.g. 'left'.
accepts property Types it accepts; empty: any.
priority property Higher wins when a pair is chosen.
enabled property False: never attached.
meta? property The plane's glTF mesh extras and node extras outside holostep, the node's value winning per key, as 1.4's userData merged them (align, frontDir, allowRotatedSnap, multi, app keys); the stored plane config…
center property The plane's centroid, GLB-local metres.
normal property The plane's normal, GLB-local, unit length: the mean of its NORMAL attribute through the inverse-transpose of the plane node's matrix in the GLB's scene, never the triangle winding, so a mirrored plane keeps its…
polygon property The plane's convex hull, GLB-local metres.

Declaration ​

ts
export interface ManifestConnector {
  readonly id: string;
  readonly name: string;
  readonly type: string;
  readonly accepts: readonly string[];
  readonly priority: number;
  readonly enabled: boolean;
  readonly meta?: Readonly<Record<string, JsonValue>>;
  readonly center: ReadonlyPoint3;
  readonly normal: ReadonlyPoint3;
  readonly polygon: readonly ReadonlyPoint3[];
}

Generic-API test (spec 3.1) ​

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