CameraLimits.collision ​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.
Property of CameraLimits · stable · since 2.0.0
collision?: boolean | null;
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 pinch, and autoRotate, stop at that clearance and
slide along the surface, and no limits value changes. View writes (set, fit,
views.go) and Frame.camera land as written, a durationMs: 0 write exactly, where 1.x
also stopped a view glide (spec section 5.6). When it turns on, and after each commit that
changes the drawn parts, a camera inside a pickable part is moved out of it to the clearance
once no view move runs and no Frame.camera view holds, as 1.x on enable() and a model load
(:257-282). As in 1.x, a part is seen from inside only where its material draws both sides
(glTF's default draws front faces only), so a camera inside a front-sided part stays there.
Default: unchanged (the document's, else false)
| Rule | Result |
|---|---|
| 1. Neutral name | pass: collision names no product |
| 2. A precedent | pass: Unity Camera.fieldOfView (row K40); Unity Camera.lensShift (row K40); Babylon.js ArcRotateCamera limits (row K40) |
| 3. Two apps, or labs | pass: 27 apps (ledger: app-378d190f1b, app-59c5b5751e, app-b4ae2fce25, app-bcb7ef21da, app-ddfb017681, app-e3b47169bc, app-e61a0b42ad, app-fd09090420; 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 | decided per need in Appendix B: rows K40 at tier stable (a member only where no rule, data, asset or app code serves the need) |