Connector ​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 { Connector } from '@holostep-configurators/runtime-client/contract'; · stable · since 2.0.0 · section 12. Assembly
Authored facts plus derived world positions (computed on read). The stored plane config
(IMagneticPlaneConfig) lies over the GLB's extras.holostep.connector (spec section 6.12).
| Member | Kind | Summary |
|---|---|---|
ref |
property | Which node and which plane. |
type |
property | extras.holostep.connector.type, else the type segment of the plane node's cleaned name (mp_<type>_…), else 'default'. |
accepts |
property | The config's allowedTypes, else the GLB's accepts. |
free |
property | No connection yet, or the config sets multi: true. |
enabled |
property | The config's, else the GLB's, else true. |
priority |
property | The config's, else the GLB's, else 0. |
position |
property | Derived: the plane's centroid, world metres. |
normal |
property | Derived: the plane's mean normal, world, unit length: its NORMAL attribute through the inverse-transpose of its world matrix (spec section 6.12). |
polygon |
property | Derived: the plane's convex hull, world metres. |
peer |
property | The connector it is connected to, or null (from connections()). |
meta |
property | The merged plane config and GLB extras: connector (the side), align, frontDir, allowRotatedSnap, multi and your app's own keys. |
export interface Connector {
readonly ref: ConnectorRef;
readonly type: string;
readonly accepts: readonly string[];
readonly free: boolean;
readonly enabled: boolean;
readonly priority: number;
readonly position: ReadonlyPoint3;
readonly normal: ReadonlyPoint3;
readonly polygon: readonly ReadonlyPoint3[];
readonly peer: ConnectorRef | null;
readonly meta: Readonly<Record<string, JsonValue>>;
}
| Rule | Result |
|---|---|
| 1. Neutral name | pass: Connector 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-04c2774145, app-4762caacdc, app-c1384707fc, app-f9a32142f1) |
| 4. The cheaper fix first | not recorded per member (Appendix B decides it per need) |