PoseInput ​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.
Type · import type { PoseInput } from '@holostep-configurators/runtime-client/contract'; · stable · since 2.0.0 · section 1. Basics
A pose to write, with at most one rotation: rotationDeg or quaternion, never both (a type
error; an untyped call with both rejects HoloInputError 'rotation-twice'). A Pose read carries
both, so it is not a PoseInput: copy { position, quaternion, scale } from it (see Pose).
Omitted fields keep the current value as a Pose read shows it (one decomposition: a mirror on
y or z as −1 on scale.x with a half-turn in the rotation), so a rotation-only write built from
a read keeps a mirror. A positive absolute scale on a mirrored part names its rotation too,
or the read's half-turn stays and the mirror goes.
export type PoseInput = {
position?: Point3;
scale?: Point3 | number;
} & ({
rotationDeg?: Point3;
quaternion?: never;
} | {
quaternion?: Quat;
rotationDeg?: never;
});
| Rule | Result |
|---|---|
| 1. Neutral name | pass: PoseInput 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) |