Pose ​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 { Pose } from '@holostep-configurators/runtime-client/contract'; · stable · since 2.0.0 · section 1. Basics
A pose read. Not a PoseInput: to write one back, copy { position, quaternion, scale } (one
rotation, with its scale, which carries a mirror: scale). Leave scale out only when it holds
a 0 (a stored zero IModelNode.scale), which no pose write takes.
| Member | Kind | Summary |
|---|---|---|
position |
property | Metres. |
rotationDeg |
property | Degrees, intrinsic X then Y then Z; the same rotation as quaternion. |
quaternion |
property | Unit quaternion; the same rotation as rotationDeg. |
scale |
property | 1 on each axis is the authored size. |
frame |
property | The drawn frame an observed pose comes from (clips, bones, follow, a drag in progress); null for intent and derived poses. |
export interface Pose {
readonly position: ReadonlyPoint3;
readonly rotationDeg: ReadonlyPoint3;
readonly quaternion: Readonly<Quat>;
readonly scale: ReadonlyPoint3;
readonly frame: number | null;
}
| Rule | Result |
|---|---|
| 1. Neutral name | pass: Pose 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: 7 apps (fleet cross-check: app-04c2774145, app-37356bf09f, app-4762caacdc, app-c1384707fc, app-ceb4eccc72, app-f3598fad77, app-f9a32142f1) |
| 4. The cheaper fix first | not recorded per member (Appendix B decides it per need) |