Pose ​

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 { 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.

Members ​

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.

Declaration ​

ts
export interface Pose {
  readonly position: ReadonlyPoint3;
  readonly rotationDeg: ReadonlyPoint3;
  readonly quaternion: Readonly<Quat>;
  readonly scale: ReadonlyPoint3;
  readonly frame: number | null;
}

Generic-API test (spec 3.1) ​

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)