CameraLimits ​

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 { CameraLimits } from '@holostep-configurators/runtime-client/contract'; · stable · since 2.0.0 · section 10. Camera

A JSON Merge Patch (RFC 7396) over your app limits, which lie over the document's. A field you omit keeps its value; null removes your value, so the document's shows. App limits are sticky: no automatic rule rewrites them.

Members ​

Member Kind Summary
minDistance? property Metres.
maxDistance? property Metres.
maxDistanceFit? property Caps the distance at this multiple of the sphere-fit distance r / sin(h): r is half the diagonal of the role 'product' bounds box (or of what the last fit framed), h the smaller horizontal or vertical half field of…
minPolarDeg? property Degrees in [0, 180]; 0 = from above.
maxPolarDeg? property Degrees in [0, 180]; see minPolarDeg.
minAzimuthDeg? property Degrees.
maxAzimuthDeg? property Degrees; see minAzimuthDeg.
target? property The orbit target stays inside this box.
collision? property The camera keeps 0.08 m clear of pickable product and scenery parts, as 1.x's collision plugin (bufferDistance, viewer/plugins/camera-collision-plugin.ts:193 at eb5ce2afe): the shopper's orbit, pan, dolly, wheel and…
touchpadDollyScale? property Dolly speed for touchpad pinch, relative to wheel.
panAxes? property Which screen axes a pan moves the orbit target along.
rotateSpeed? property Orbit speed on both axes, a multiplier.
dollySpeed? property Wheel and pinch dolly speed; touchpadDollyScale multiplies it for a touchpad, and coarsePointerDollyScale on a coarse pointer.
panSpeed? property Pan speed; coarsePointerPanScale multiplies it on a coarse pointer.
coarsePointerDollyScale? property On a device whose primary pointer is coarse (the (pointer: coarse) media query: a phone or a tablet), dollySpeed is multiplied by this.
coarsePointerPanScale? property As coarsePointerDollyScale, for panSpeed.
dollyToCursor? property A dolly moves toward the point under the pointer, not the view's centre.
gestures? property · labs How the view shares touch and the wheel with the page.

Declaration ​

ts
export interface CameraLimits {
  minDistance?: number | null;
  maxDistance?: number | null;
  maxDistanceFit?: number | null;
  minPolarDeg?: number | null;
  maxPolarDeg?: number | null;
  minAzimuthDeg?: number | null;
  maxAzimuthDeg?: number | null;
  target?: {
    min: Point3;
    max: Point3;
  } | null;
  collision?: boolean | null;
  touchpadDollyScale?: number | null;
  panAxes?: 'both' | 'horizontal' | 'none' | null;
  rotateSpeed?: number | null;
  dollySpeed?: number | null;
  panSpeed?: number | null;
  coarsePointerDollyScale?: number | null;
  coarsePointerPanScale?: number | null;
  dollyToCursor?: boolean | null;
  gestures?: 'greedy' | 'cooperative' | null;
}

Generic-API test (spec 3.1) ​

Rule Result
1. Neutral name pass: CameraLimits 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: 26 apps (fleet cross-check: app-04c2774145, app-37356bf09f, app-378d190f1b, app-4762caacdc, app-4f16d2f6da, app-4fd23bc869, app-510d750508, app-59c5b5751e and 18 more)
4. The cheaper fix first not recorded per member (Appendix B decides it per need)