gps-plus-slam-app-framework 1.9.0 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{alignment-lerper-gD70k7Fq.d.ts → alignment-lerper-B4COh_0p.d.ts} +0 -6
- package/dist/{app-selectors-BbAiCRUT.d.ts → app-selectors-CV7ggGoo.d.ts} +23 -13
- package/dist/ar/bresenham3d.d.ts +1 -1
- package/dist/ar/camera-blit-capture.d.ts +1 -1
- package/dist/ar/capability-checker.d.ts +1 -1
- package/dist/ar/capture-failure-tracker.d.ts +1 -1
- package/dist/ar/chromium-camera-access-workaround.d.ts +1 -1
- package/dist/ar/depth-grid-lookup.d.ts +1 -1
- package/dist/ar/depth-occluder.d.ts +1 -1
- package/dist/ar/depth-sampler.d.ts +2 -2
- package/dist/ar/depth-sampler.js +16 -5
- package/dist/ar/depth-unprojection.d.ts +1 -1
- package/dist/ar/enable-gps-ar.d.ts +1 -1
- package/dist/ar/enable-gps-ar.js +1 -1
- package/dist/ar/frame-loop.d.ts +1 -1
- package/dist/ar/image-capture.d.ts +1 -1
- package/dist/ar/image-capture.js +1 -1
- package/dist/ar/image-quality.d.ts +1 -1
- package/dist/ar/image-quality.js +28 -9
- package/dist/ar/index.d.ts +32 -32
- package/dist/ar/index.js +7 -7
- package/dist/ar/occlusion-mesh-worker.d.ts +2 -2
- package/dist/ar/occlusion-mesh-worker.js +1 -1
- package/dist/ar/occupancy-grid.d.ts +1 -1
- package/dist/ar/occupancy-grid.js +1 -1
- package/dist/ar/occupancy-mesher.d.ts +1 -1
- package/dist/ar/occupancy-mesher.js +3 -4
- package/dist/ar/planar-pnp.d.ts +1 -1
- package/dist/ar/qr-debug-view.d.ts +1 -1
- package/dist/ar/qr-derived-pose.d.ts +1 -1
- package/dist/ar/qr-derived-pose.js +1 -1
- package/dist/ar/qr-detection-controller.d.ts +1 -1
- package/dist/ar/qr-detection-controller.js +1 -1
- package/dist/ar/qr-frontend.d.ts +1 -1
- package/dist/ar/qr-pose.d.ts +1 -1
- package/dist/ar/qr-size-depth-context.d.ts +2 -2
- package/dist/ar/qr-size-measurer.d.ts +1 -1
- package/dist/ar/qr-size-measurer.js +1 -1
- package/dist/ar/replay-scene.d.ts +1 -1
- package/dist/ar/replay-scene.js +1 -1
- package/dist/ar/scene-node-names.d.ts +1 -1
- package/dist/ar/webxr-nue-basis.d.ts +1 -1
- package/dist/ar/webxr-session.d.ts +3 -3
- package/dist/ar/webxr-session.js +1 -1
- package/dist/ar/xr-camera-texture.d.ts +1 -1
- package/dist/ar/xr-error-handler.d.ts +1 -1
- package/dist/ar/xr-frame-loop.d.ts +1 -1
- package/dist/{ar-BqCudtqE.js → ar-D-03Kso-.js} +18 -14
- package/dist/{ar-types-Cc5yvBwn.d.ts → ar-types-CBafnxhE.d.ts} +16 -1
- package/dist/{ar-world-group-alignment-Cfg0trC3.d.ts → ar-world-group-alignment-B6XiA1cT.d.ts} +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/{create-slam-app-store-D1QSMuKu.d.ts → create-slam-app-store-CH31erpP.d.ts} +4 -4
- package/dist/{create-slam-app-store-DXiAnJwR.js → create-slam-app-store-DLv5ZwqU.js} +2 -2
- package/dist/{depth-grid-lookup-D5atpNZ3.d.ts → depth-grid-lookup-DY6zYTLx.d.ts} +1 -1
- package/dist/{depth-sampler-CwObAwEA.d.ts → depth-sampler-txG8evgQ.d.ts} +14 -4
- package/dist/{depth-unprojection-DRdBU90S.d.ts → depth-unprojection-JKkeqJrV.d.ts} +1 -1
- package/dist/device-orientation-cache-BjEaEAmh.js +20 -0
- package/dist/{enable-gps-ar-BBtRO2FJ.d.ts → enable-gps-ar-BbNWyqp5.d.ts} +4 -4
- package/dist/{frame-conversions-DDcNHkTb.d.ts → frame-conversions-CH7E2Iv_.d.ts} +1 -1
- package/dist/{fused-path-C5pp0PJU.d.ts → fused-path-DOKzVMiO.d.ts} +1 -1
- package/dist/geo/h3-proximity.d.ts +1 -1
- package/dist/geo/index.d.ts +1 -1
- package/dist/{gps-CDKDQokE.d.ts → gps-CX5b9g3s.d.ts} +8 -1
- package/dist/{gps-anchor-CEjGqEVD.d.ts → gps-anchor-BaqyRsPC.d.ts} +14 -4
- package/dist/{gps-ar-pose-sampler-DEGNk2CI.d.ts → gps-ar-pose-sampler-BOOV0jJk.d.ts} +1 -1
- package/dist/{gps-event-coordinator-BWpgBrHq.d.ts → gps-event-coordinator-03rVh_us.d.ts} +16 -29
- package/dist/{image-capture-DVcuqMtX.js → image-capture-BUqqsOi3.js} +11 -9
- package/dist/{image-capture-Bp6Pd4Md.d.ts → image-capture-Cr_rljeV.d.ts} +3 -3
- package/dist/{index-cCQWuYqy.d.ts → index-C2Bo0buN.d.ts} +4 -6
- package/dist/{index-B6iBnO_K.d.ts → index-CuHaGY0F.d.ts} +1 -1
- package/dist/index.d.ts +82 -82
- package/dist/index.js +16 -14
- package/dist/{leaflet-map-overlay-C8GS4cUy.d.ts → leaflet-map-overlay-QhF199BW.d.ts} +1 -1
- package/dist/{map-data-CUnTzRIC.d.ts → map-data-D8sSxpOr.d.ts} +1 -1
- package/dist/{map-overlay-draw-6WJeq0Kg.d.ts → map-overlay-draw-1E61FLKs.d.ts} +1 -1
- package/dist/median-Bla_W50f.js +44 -0
- package/dist/{null-storage-backend-B1-jlpin.d.ts → null-storage-backend-DXXuwG8T.d.ts} +2 -2
- package/dist/{occlusion-mesh-kXCQ2FM1.d.ts → occlusion-mesh-CZ4i_SW2.d.ts} +3 -11
- package/dist/{occupancy-grid-BV7RhB7I.d.ts → occupancy-grid-f0I07UxI.d.ts} +2 -2
- package/dist/{occupancy-mesher-C2ecWhNp.d.ts → occupancy-mesher-BqnRd10x.d.ts} +4 -9
- package/dist/{opfs-storage-backend-D6Z03fML.d.ts → opfs-storage-backend-D1ZpeNEL.d.ts} +2 -2
- package/dist/{persistence-middleware-CG-t08X4.d.ts → persistence-middleware-CI4Cetnl.d.ts} +1 -1
- package/dist/{planar-pnp-D7bc_rLX.d.ts → planar-pnp-CPLhg5MX.d.ts} +1 -1
- package/dist/{qr-debug-view-BJooqbiP.d.ts → qr-debug-view-BmbWo06j.d.ts} +1 -1
- package/dist/{qr-derived-pose-BwNWn8oV.d.ts → qr-derived-pose-DEYT85ul.d.ts} +2 -2
- package/dist/{qr-detected-slice-TzVb8bij.d.ts → qr-detected-slice-CPEkGbxh.d.ts} +4 -4
- package/dist/{qr-detection-controller-Bo4XfQTP.d.ts → qr-detection-controller-IcMRpTjV.d.ts} +3 -3
- package/dist/{qr-frontend-BPURlh3S.d.ts → qr-frontend-61SKPSyU.d.ts} +1 -1
- package/dist/{qr-pose-aggregation-CypnmjA-.d.ts → qr-pose-aggregation-BL6gfl0s.d.ts} +1 -1
- package/dist/{qr-pose-aggregation-DBiaLW0O.js → qr-pose-aggregation-H-O_Jjz9.js} +5 -10
- package/dist/{qr-size-depth-context-apAOmbrZ.d.ts → qr-size-depth-context-DJsYqbqY.d.ts} +2 -2
- package/dist/{qr-size-measurer-DLb33geH.js → qr-size-measurer-BVOIg-He.js} +6 -12
- package/dist/{qr-size-measurer-DxiMqRUw.d.ts → qr-size-measurer-Bl_i-umk.d.ts} +3 -3
- package/dist/{recording-options-DYKWVI93.d.ts → recording-options-Cai9D14V.d.ts} +16 -9
- package/dist/{recording-replayer-BJ8Lf0QY.d.ts → recording-replayer-DyIN13nG.d.ts} +2 -2
- package/dist/{recording-slice-BW8SiLo1.d.ts → recording-slice-DziOl7P5.d.ts} +2 -2
- package/dist/{replay-engine-DmCAc7WM.d.ts → replay-engine-DAymjsd1.d.ts} +1 -1
- package/dist/{replay-scene-zJ8SFDjE.d.ts → replay-scene-CZdWgcpc.d.ts} +3 -3
- package/dist/sensors/absolute-orientation.d.ts +1 -1
- package/dist/sensors/gps-error-handler.d.ts +1 -1
- package/dist/sensors/gps.d.ts +1 -1
- package/dist/sensors/gps.js +10 -8
- package/dist/sensors/index.d.ts +4 -4
- package/dist/sensors/index.js +1 -1
- package/dist/sensors/permission-checker.d.ts +1 -1
- package/dist/sensors/permission-checker.js +71 -40
- package/dist/state/app-selectors.d.ts +1 -1
- package/dist/state/combined-root-state.d.ts +1 -1
- package/dist/state/create-slam-app-store.d.ts +1 -1
- package/dist/state/create-slam-app-store.js +1 -1
- package/dist/state/gps-ar-pose-sampler.d.ts +2 -3
- package/dist/state/gps-ar-pose-sampler.js +1 -1
- package/dist/state/gps-event-coordinator.d.ts +2 -1
- package/dist/state/gps-event-coordinator.js +4 -46
- package/dist/state/index.d.ts +19 -19
- package/dist/state/index.js +5 -3
- package/dist/state/persistence-middleware.d.ts +1 -1
- package/dist/state/qr-detected-slice.d.ts +3 -3
- package/dist/state/qr-detected-slice.js +5 -9
- package/dist/state/recording-options.d.ts +1 -1
- package/dist/state/recording-options.js +74 -45
- package/dist/state/recording-replayer.d.ts +2 -2
- package/dist/state/recording-replayer.js +1 -1
- package/dist/state/recording-slice.d.ts +1 -1
- package/dist/state/replay-engine.d.ts +1 -1
- package/dist/state/store-subscribers.d.ts +2 -2
- package/dist/state/store-subscribers.js +23 -6
- package/dist/state/subscribe-to-selector.d.ts +1 -1
- package/dist/state/tracking-quality.d.ts +1 -1
- package/dist/state/tracking-quality.js +14 -11
- package/dist/state/tracking-slice.d.ts +1 -1
- package/dist/{state-BeKvn4B-.js → state-U45ioVyB.js} +2 -3
- package/dist/storage/file-system-utils.d.ts +1 -1
- package/dist/storage/index.d.ts +8 -8
- package/dist/storage/null-storage-backend.d.ts +1 -1
- package/dist/storage/opfs-storage-backend.d.ts +1 -1
- package/dist/storage/opfs-storage.d.ts +1 -1
- package/dist/storage/storage-backend.d.ts +1 -1
- package/dist/storage/zip-coverage-embed.d.ts +1 -1
- package/dist/storage/zip-export.d.ts +1 -1
- package/dist/storage/zip-export.js +10 -4
- package/dist/storage/zip-reader.d.ts +1 -1
- package/dist/{storage-backend-sEtmM4yW.d.ts → storage-backend-BX7egQKi.d.ts} +1 -1
- package/dist/{store-subscribers-DJUErW-o.d.ts → store-subscribers-DtwakLrQ.d.ts} +2 -2
- package/dist/{subscribe-to-selector-dQV8SpsO.d.ts → subscribe-to-selector-Cgo9JTfS.d.ts} +1 -1
- package/dist/test-utils/browser-mocks.d.ts +1 -1
- package/dist/test-utils/zip-round-trip-helpers.d.ts +1 -1
- package/dist/{tracking-slice-DMkHlbny.d.ts → tracking-slice-Bt2OEQhA.d.ts} +1 -1
- package/dist/types/ar-types.d.ts +2 -2
- package/dist/types/ar-types.js +31 -1
- package/dist/types/geo-types.d.ts +1 -1
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.js +2 -1
- package/dist/utils/concurrency.d.ts +1 -1
- package/dist/utils/failure-tracker.d.ts +1 -1
- package/dist/utils/format-file-size.d.ts +1 -1
- package/dist/utils/fused-path.d.ts +1 -1
- package/dist/utils/fused-path.js +1 -1
- package/dist/utils/index.d.ts +7 -7
- package/dist/utils/index.js +1 -1
- package/dist/utils/list-formatter.d.ts +1 -1
- package/dist/utils/logger.d.ts +1 -1
- package/dist/utils/logger.js +30 -20
- package/dist/visualization/accuracy-circles.d.ts +1 -1
- package/dist/visualization/alignment-lerper.d.ts +1 -1
- package/dist/visualization/alignment-lerper.js +20 -5
- package/dist/visualization/ar-world-group-alignment.d.ts +1 -1
- package/dist/visualization/ar-world-group-alignment.js +1 -1
- package/dist/visualization/camera-follower.d.ts +1 -1
- package/dist/visualization/css3d-renderer-manager.d.ts +1 -1
- package/dist/visualization/frame-conversions.d.ts +1 -1
- package/dist/visualization/frustum-visibility.d.ts +1 -1
- package/dist/visualization/gps-anchor.d.ts +1 -1
- package/dist/visualization/gps-anchor.js +43 -18
- package/dist/visualization/gps-compass-cubes.d.ts +1 -1
- package/dist/visualization/gps-event-markers.d.ts +1 -1
- package/dist/visualization/gps-event-markers.js +1 -1
- package/dist/visualization/hit-test-reticle.d.ts +1 -1
- package/dist/visualization/index.d.ts +19 -19
- package/dist/visualization/index.js +2 -2
- package/dist/visualization/leaflet-map-overlay.d.ts +1 -1
- package/dist/visualization/leaflet-map-overlay.js +1 -1
- package/dist/visualization/lerp-utils.d.ts +1 -1
- package/dist/visualization/map-data.d.ts +1 -1
- package/dist/visualization/map-data.js +1 -1
- package/dist/visualization/map-overlay-draw.d.ts +1 -1
- package/dist/visualization/map-overlay.d.ts +1 -1
- package/dist/visualization/occluder-mesh-driver.d.ts +2 -2
- package/dist/visualization/occlusion-mesh.d.ts +1 -1
- package/dist/visualization/occlusion-mesh.js +1 -11
- package/dist/visualization/three-dispose.d.ts +1 -1
- package/dist/visualization/vis-colors.d.ts +1 -1
- package/dist/{webxr-session-BWCpGd-2.d.ts → webxr-session-CGFZ429B.d.ts} +8 -8
- package/dist/{webxr-session-BCP2XK7k.js → webxr-session-DWKUsCN9.js} +7 -7
- package/package.json +4 -4
- /package/dist/{absolute-orientation-BAxc15J6.d.ts → absolute-orientation-C_IxDR_j.d.ts} +0 -0
- /package/dist/{accuracy-circles-DkWBkF5g.d.ts → accuracy-circles-BE7tbvYV.d.ts} +0 -0
- /package/dist/{bresenham3d-DGc4nIb-.d.ts → bresenham3d-D-t9i_b5.d.ts} +0 -0
- /package/dist/{camera-blit-capture-BimSdyih.d.ts → camera-blit-capture-BlC-arRb.d.ts} +0 -0
- /package/dist/{camera-follower-DfBm2J5i.d.ts → camera-follower-B6zA3dy9.d.ts} +0 -0
- /package/dist/{capability-checker-BTTpygvZ.d.ts → capability-checker-DEo-ktWI.d.ts} +0 -0
- /package/dist/{capture-failure-tracker-_BVfhpxv.d.ts → capture-failure-tracker-BAUKjtXU.d.ts} +0 -0
- /package/dist/{capture-motion-gate-BGoAMkmf.d.ts → capture-motion-gate-BmjiWUJv.d.ts} +0 -0
- /package/dist/{capture-motion-gate-_NdTSwKi.js → capture-motion-gate-D1eyGC_o.js} +0 -0
- /package/dist/{cell-key-DIB4rOTV.js → cell-key-Bj-eYTLA.js} +0 -0
- /package/dist/{chromium-camera-access-workaround-C6yJLXz9.d.ts → chromium-camera-access-workaround-DCd8SP2N.d.ts} +0 -0
- /package/dist/{concurrency-DPeGBH0X.d.ts → concurrency-DW0jQo3G.d.ts} +0 -0
- /package/dist/{css3d-renderer-manager-CPpVtvgs.d.ts → css3d-renderer-manager-DbrSY7Mh.d.ts} +0 -0
- /package/dist/{failure-tracker-CeKf5HIc.d.ts → failure-tracker-B7fzPfZo.d.ts} +0 -0
- /package/dist/{file-system-utils-DueXHxo9.d.ts → file-system-utils-CfLTj5Ra.d.ts} +0 -0
- /package/dist/{format-file-size-DxN-EBLc.d.ts → format-file-size-Da8rZgfs.d.ts} +0 -0
- /package/dist/{frame-loop-7GBMBu68.d.ts → frame-loop-7HigCj7m.d.ts} +0 -0
- /package/dist/{frustum-visibility-CokkgS_i.d.ts → frustum-visibility-COPfzruF.d.ts} +0 -0
- /package/dist/{geo-types-DrGVu8nS.d.ts → geo-types-BfDK8kJu.d.ts} +0 -0
- /package/dist/{geodesic-angle-BTldfFgs.js → geodesic-angle-HXBWiXiI.js} +0 -0
- /package/dist/{gps-compass-cubes-1mooS3BS.d.ts → gps-compass-cubes-CT3TWctJ.d.ts} +0 -0
- /package/dist/{gps-error-handler-C34GQuTu.d.ts → gps-error-handler-DjVuLXve.d.ts} +0 -0
- /package/dist/{gps-event-markers-Di2nBzx-.d.ts → gps-event-markers-BsC2Ynlh.d.ts} +0 -0
- /package/dist/{h3-proximity-D0GTHQmr.d.ts → h3-proximity-pFluGfwL.d.ts} +0 -0
- /package/dist/{hit-test-reticle-CaQbrhbk.d.ts → hit-test-reticle-DhnCMOsc.d.ts} +0 -0
- /package/dist/{image-quality-BMx2ko9-.d.ts → image-quality-BjBLoTec.d.ts} +0 -0
- /package/dist/{index-DXPVzOpP.d.ts → index-CjxbDm8W.d.ts} +0 -0
- /package/dist/{index-D74JTX4I.d.ts → index-Nr3qg4IH.d.ts} +0 -0
- /package/dist/{leaflet-map-overlay-CBWPvaX9.js → leaflet-map-overlay-BRkUhZMD.js} +0 -0
- /package/dist/{lerp-utils-Qs8OhumS.d.ts → lerp-utils-bwMwVCpU.d.ts} +0 -0
- /package/dist/{list-formatter-DLFDnS70.d.ts → list-formatter-1ttG18MQ.d.ts} +0 -0
- /package/dist/{logger-CqTd5Kpk.d.ts → logger-B4StJUDb.d.ts} +0 -0
- /package/dist/{map-data-1tF5gcYV.js → map-data-D3oE8AQP.js} +0 -0
- /package/dist/{map-overlay-BCQgvIgU.d.ts → map-overlay-0yJOcEVO.d.ts} +0 -0
- /package/dist/{opfs-storage-CTkxvxN4.d.ts → opfs-storage-S_odkCk1.d.ts} +0 -0
- /package/dist/{permission-checker-B-VtjnBA.d.ts → permission-checker-D1C5zvo-.d.ts} +0 -0
- /package/dist/{qr-detection-controller-B-tLVd-S.js → qr-detection-controller-bRTJXC6G.js} +0 -0
- /package/dist/{qr-pose-y3vaEd6x.d.ts → qr-pose-CCTF1PP0.d.ts} +0 -0
- /package/dist/{scene-node-names-CGb-ylBd.d.ts → scene-node-names-DWzhE7Ro.d.ts} +0 -0
- /package/dist/{session-disposers-BPrMplIC.js → session-disposers-BZS-hi8u.js} +0 -0
- /package/dist/{three-dispose-BMOAmPhb.d.ts → three-dispose-C9mdpSRX.d.ts} +0 -0
- /package/dist/{vis-colors-C7HI0u9_.d.ts → vis-colors-DjStl_tD.d.ts} +0 -0
- /package/dist/{webxr-nue-basis-CaCnYxuq.d.ts → webxr-nue-basis-C3vTqkE2.d.ts} +0 -0
- /package/dist/{xr-camera-texture-q0eIDSRg.d.ts → xr-camera-texture-C6Z4d7RR.d.ts} +0 -0
- /package/dist/{xr-error-handler-uVGDu9IX.d.ts → xr-error-handler-D9y5r8ok.d.ts} +0 -0
- /package/dist/{xr-frame-loop-DX3JPpAU.d.ts → xr-frame-loop-25gM4B0K.d.ts} +0 -0
- /package/dist/{zip-coverage-embed-ncVbaZAz.d.ts → zip-coverage-embed-BrodRLq0.d.ts} +0 -0
- /package/dist/{zip-export-CtiUnAlJ.d.ts → zip-export-CuBimX1J.d.ts} +0 -0
- /package/dist/{zip-reader-BzENzMH6.d.ts → zip-reader-BHc_b_iA.d.ts} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as getCameraFollower, c as getReplayState, d as updateOrbitTarget, i as getAlignmentLerper, l as initReplayScene, n as ReplaySceneState, o as getCameraMode, r as disposeReplayScene, s as getCss3dManager, t as CameraMode, u as toggleCameraMode } from "../replay-scene-
|
|
1
|
+
import { a as getCameraFollower, c as getReplayState, d as updateOrbitTarget, i as getAlignmentLerper, l as initReplayScene, n as ReplaySceneState, o as getCameraMode, r as disposeReplayScene, s as getCss3dManager, t as CameraMode, u as toggleCameraMode } from "../replay-scene-CZdWgcpc.js";
|
|
2
2
|
export { CameraMode, ReplaySceneState, disposeReplayScene, getAlignmentLerper, getCameraFollower, getCameraMode, getCss3dManager, getReplayState, initReplayScene, toggleCameraMode, updateOrbitTarget };
|
package/dist/ar/replay-scene.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createLogger } from "../utils/logger.js";
|
|
2
|
-
import { A as setArWorldGroup, L as setScene, j as setCamera, k as setArPose, s as createSceneHierarchy } from "../webxr-session-
|
|
2
|
+
import { A as setArWorldGroup, L as setScene, j as setCamera, k as setArPose, s as createSceneHierarchy } from "../webxr-session-DWKUsCN9.js";
|
|
3
3
|
import { createCss3dRendererManager } from "../visualization/css3d-renderer-manager.js";
|
|
4
4
|
import { createCameraFollower } from "../visualization/camera-follower.js";
|
|
5
5
|
import { createAlignmentLerper } from "../visualization/alignment-lerper.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SCENE_NODE } from "../scene-node-names-
|
|
1
|
+
import { t as SCENE_NODE } from "../scene-node-names-DWzhE7Ro.js";
|
|
2
2
|
export { SCENE_NODE };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as WEBXR_TO_NUE } from "../webxr-nue-basis-
|
|
1
|
+
import { t as WEBXR_TO_NUE } from "../webxr-nue-basis-C3vTqkE2.js";
|
|
2
2
|
export { WEBXR_TO_NUE };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as DepthSample, t as ARPose } from "../ar-types-
|
|
2
|
-
import { n as CapturedImage } from "../image-capture-
|
|
3
|
-
import { $ as stopImageCapture, A as nuePositionToWebXR, B as setImageQualityAnalyzer, C as getImageCaptureFrameCount, D as initAR, E as getXrCameraFromPose, F as setCamera, G as setTrackingRecoveredCallback, H as setSessionEndCallback, I as setCameraFrameCallback, J as startCameraFrameCapture, K as setTrackingStore, L as setDepthCaptureCallback, M as resetWebXRState, N as setArPose, O as isWebXRSupported, P as setArWorldGroup, Q as stopDepthCapture, R as setFrameCallback, S as getDepthSampleCount, T as getScene, U as setTrackingCallbacks, V as setScene, W as setTrackingLostCallback, X as startImageCapture, Y as startDepthCapture, Z as stopCameraFrameCapture, _ as getCamera, a as DEFAULT_CAMERA_FRAME_CAPTURE_SIZE, b as getCurrentArPose, c as TrackingSubscribableStore, d as createSceneHierarchy, f as endARSession, g as getArWorldGroup, h as getArPose, i as CameraFrameCaptureConfig, j as nueQuaternionToWebXR, k as isXRCameraLike, l as applyAlignmentMatrix, m as extractResetTransformData, n as AR_CAMERA_FOV, o as SessionEndInfo, p as extractPoseFromViewer, q as shouldLogCameraAccessDiagnostic, r as AR_CAMERA_NEAR, s as SessionFeatureOptions, t as AR_CAMERA_FAR, u as buildSessionOptions, v as getCameraFrameCaptureSize, w as getLiveCss3dManager, x as getDepthInfoFromFrame, y as getCameraFrameCount, z as setImageCaptureCallback } from "../webxr-session-
|
|
1
|
+
import { i as DepthSample, t as ARPose } from "../ar-types-CBafnxhE.js";
|
|
2
|
+
import { n as CapturedImage } from "../image-capture-Cr_rljeV.js";
|
|
3
|
+
import { $ as stopImageCapture, A as nuePositionToWebXR, B as setImageQualityAnalyzer, C as getImageCaptureFrameCount, D as initAR, E as getXrCameraFromPose, F as setCamera, G as setTrackingRecoveredCallback, H as setSessionEndCallback, I as setCameraFrameCallback, J as startCameraFrameCapture, K as setTrackingStore, L as setDepthCaptureCallback, M as resetWebXRState, N as setArPose, O as isWebXRSupported, P as setArWorldGroup, Q as stopDepthCapture, R as setFrameCallback, S as getDepthSampleCount, T as getScene, U as setTrackingCallbacks, V as setScene, W as setTrackingLostCallback, X as startImageCapture, Y as startDepthCapture, Z as stopCameraFrameCapture, _ as getCamera, a as DEFAULT_CAMERA_FRAME_CAPTURE_SIZE, b as getCurrentArPose, c as TrackingSubscribableStore, d as createSceneHierarchy, f as endARSession, g as getArWorldGroup, h as getArPose, i as CameraFrameCaptureConfig, j as nueQuaternionToWebXR, k as isXRCameraLike, l as applyAlignmentMatrix, m as extractResetTransformData, n as AR_CAMERA_FOV, o as SessionEndInfo, p as extractPoseFromViewer, q as shouldLogCameraAccessDiagnostic, r as AR_CAMERA_NEAR, s as SessionFeatureOptions, t as AR_CAMERA_FAR, u as buildSessionOptions, v as getCameraFrameCaptureSize, w as getLiveCss3dManager, x as getDepthInfoFromFrame, y as getCameraFrameCount, z as setImageCaptureCallback } from "../webxr-session-CGFZ429B.js";
|
|
4
4
|
export { ARPose, AR_CAMERA_FAR, AR_CAMERA_FOV, AR_CAMERA_NEAR, CameraFrameCaptureConfig, CapturedImage, DEFAULT_CAMERA_FRAME_CAPTURE_SIZE, DepthSample, SessionEndInfo, SessionFeatureOptions, TrackingSubscribableStore, applyAlignmentMatrix, buildSessionOptions, createSceneHierarchy, endARSession, extractPoseFromViewer, extractResetTransformData, getArPose, getArWorldGroup, getCamera, getCameraFrameCaptureSize, getCameraFrameCount, getCurrentArPose, getDepthInfoFromFrame, getDepthSampleCount, getImageCaptureFrameCount, getLiveCss3dManager, getScene, getXrCameraFromPose, initAR, isWebXRSupported, isXRCameraLike, nuePositionToWebXR, nueQuaternionToWebXR, resetWebXRState, setArPose, setArWorldGroup, setCamera, setCameraFrameCallback, setDepthCaptureCallback, setFrameCallback, setImageCaptureCallback, setImageQualityAnalyzer, setScene, setSessionEndCallback, setTrackingCallbacks, setTrackingLostCallback, setTrackingRecoveredCallback, setTrackingStore, shouldLogCameraAccessDiagnostic, startCameraFrameCapture, startDepthCapture, startImageCapture, stopCameraFrameCapture, stopDepthCapture, stopImageCapture };
|
package/dist/ar/webxr-session.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as setArWorldGroup, B as setTrackingLostCallback, C as initAR, D as nueQuaternionToWebXR, E as nuePositionToWebXR, F as setImageCaptureCallback, G as startDepthCapture, H as setTrackingStore, I as setImageQualityAnalyzer, J as stopDepthCapture, K as startImageCapture, L as setScene, M as setCameraFrameCallback, N as setDepthCaptureCallback, O as resetWebXRState, P as setFrameCallback, R as setSessionEndCallback, S as getXrCameraFromPose, T as isXRCameraLike, U as shouldLogCameraAccessDiagnostic, V as setTrackingRecoveredCallback, W as startCameraFrameCapture, Y as stopImageCapture, _ as getDepthInfoFromFrame, a as applyAlignmentMatrix, b as getLiveCss3dManager, c as endARSession, d as getArPose, f as getArWorldGroup, g as getCurrentArPose, h as getCameraFrameCount, i as DEFAULT_CAMERA_FRAME_CAPTURE_SIZE, j as setCamera, k as setArPose, l as extractPoseFromViewer, m as getCameraFrameCaptureSize, n as AR_CAMERA_FOV, o as buildSessionOptions, p as getCamera, q as stopCameraFrameCapture, r as AR_CAMERA_NEAR, s as createSceneHierarchy, t as AR_CAMERA_FAR, u as extractResetTransformData, v as getDepthSampleCount, w as isWebXRSupported, x as getScene, y as getImageCaptureFrameCount, z as setTrackingCallbacks } from "../webxr-session-
|
|
1
|
+
import { A as setArWorldGroup, B as setTrackingLostCallback, C as initAR, D as nueQuaternionToWebXR, E as nuePositionToWebXR, F as setImageCaptureCallback, G as startDepthCapture, H as setTrackingStore, I as setImageQualityAnalyzer, J as stopDepthCapture, K as startImageCapture, L as setScene, M as setCameraFrameCallback, N as setDepthCaptureCallback, O as resetWebXRState, P as setFrameCallback, R as setSessionEndCallback, S as getXrCameraFromPose, T as isXRCameraLike, U as shouldLogCameraAccessDiagnostic, V as setTrackingRecoveredCallback, W as startCameraFrameCapture, Y as stopImageCapture, _ as getDepthInfoFromFrame, a as applyAlignmentMatrix, b as getLiveCss3dManager, c as endARSession, d as getArPose, f as getArWorldGroup, g as getCurrentArPose, h as getCameraFrameCount, i as DEFAULT_CAMERA_FRAME_CAPTURE_SIZE, j as setCamera, k as setArPose, l as extractPoseFromViewer, m as getCameraFrameCaptureSize, n as AR_CAMERA_FOV, o as buildSessionOptions, p as getCamera, q as stopCameraFrameCapture, r as AR_CAMERA_NEAR, s as createSceneHierarchy, t as AR_CAMERA_FAR, u as extractResetTransformData, v as getDepthSampleCount, w as isWebXRSupported, x as getScene, y as getImageCaptureFrameCount, z as setTrackingCallbacks } from "../webxr-session-DWKUsCN9.js";
|
|
2
2
|
export { AR_CAMERA_FAR, AR_CAMERA_FOV, AR_CAMERA_NEAR, DEFAULT_CAMERA_FRAME_CAPTURE_SIZE, applyAlignmentMatrix, buildSessionOptions, createSceneHierarchy, endARSession, extractPoseFromViewer, extractResetTransformData, getArPose, getArWorldGroup, getCamera, getCameraFrameCaptureSize, getCameraFrameCount, getCurrentArPose, getDepthInfoFromFrame, getDepthSampleCount, getImageCaptureFrameCount, getLiveCss3dManager, getScene, getXrCameraFromPose, initAR, isWebXRSupported, isXRCameraLike, nuePositionToWebXR, nueQuaternionToWebXR, resetWebXRState, setArPose, setArWorldGroup, setCamera, setCameraFrameCallback, setDepthCaptureCallback, setFrameCallback, setImageCaptureCallback, setImageQualityAnalyzer, setScene, setSessionEndCallback, setTrackingCallbacks, setTrackingLostCallback, setTrackingRecoveredCallback, setTrackingStore, shouldLogCameraAccessDiagnostic, startCameraFrameCapture, startDepthCapture, startImageCapture, stopCameraFrameCapture, stopDepthCapture, stopImageCapture };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as acquireCameraTexture, n as RendererLike, r as XRCameraLike, t as CameraTextureResult } from "../xr-camera-texture-
|
|
1
|
+
import { i as acquireCameraTexture, n as RendererLike, r as XRCameraLike, t as CameraTextureResult } from "../xr-camera-texture-C6Z4d7RR.js";
|
|
2
2
|
export { CameraTextureResult, RendererLike, XRCameraLike, acquireCameraTexture };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as XR_ERROR_MESSAGE_UNKNOWN, r as getXrErrorMessage, t as XR_ERROR_MESSAGES } from "../xr-error-handler-
|
|
1
|
+
import { n as XR_ERROR_MESSAGE_UNKNOWN, r as getXrErrorMessage, t as XR_ERROR_MESSAGES } from "../xr-error-handler-D9y5r8ok.js";
|
|
2
2
|
export { XR_ERROR_MESSAGES, XR_ERROR_MESSAGE_UNKNOWN, getXrErrorMessage };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as runXrFrameUpdates, i as registerXrFrameUpdate, n as XrFrameUpdate, r as clearXrFrameUpdates, t as XrFrameContext } from "../xr-frame-loop-
|
|
1
|
+
import { a as runXrFrameUpdates, i as registerXrFrameUpdate, n as XrFrameUpdate, r as clearXrFrameUpdates, t as XrFrameContext } from "../xr-frame-loop-25gM4B0K.js";
|
|
2
2
|
export { XrFrameContext, XrFrameUpdate, clearXrFrameUpdates, registerXrFrameUpdate, runXrFrameUpdates };
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import "./ar/camera-blit-capture.js";
|
|
2
2
|
import "./ar/chromium-camera-access-workaround.js";
|
|
3
3
|
import "./ar/capture-failure-tracker.js";
|
|
4
|
-
import "./ar/depth-sampler.js";
|
|
5
4
|
import "./ar/depth-unprojection.js";
|
|
6
|
-
import "./qr-size-measurer-
|
|
5
|
+
import "./qr-size-measurer-BVOIg-He.js";
|
|
7
6
|
import "./ar/qr-size-depth-context.js";
|
|
8
7
|
import { buildObjectPoints, transformPoint } from "./ar/qr-pose.js";
|
|
9
8
|
import "./ar/qr-derived-pose.js";
|
|
10
9
|
import "./ar/webxr-nue-basis.js";
|
|
11
10
|
import "./ar/qr-debug-view.js";
|
|
12
|
-
import { n as createDetectionScheduler } from "./qr-detection-controller-
|
|
13
|
-
import "./qr-pose-aggregation-
|
|
14
|
-
import "./webxr-session-
|
|
11
|
+
import { n as createDetectionScheduler } from "./qr-detection-controller-bRTJXC6G.js";
|
|
12
|
+
import "./qr-pose-aggregation-H-O_Jjz9.js";
|
|
13
|
+
import "./webxr-session-DWKUsCN9.js";
|
|
15
14
|
import "./ar/occupancy-grid.js";
|
|
16
15
|
import "./ar/occupancy-mesher.js";
|
|
17
16
|
import "./ar/frame-loop.js";
|
|
18
17
|
import "./ar/xr-frame-loop.js";
|
|
19
|
-
import "./image-capture-
|
|
18
|
+
import "./image-capture-BUqqsOi3.js";
|
|
20
19
|
import "./ar/xr-camera-texture.js";
|
|
21
20
|
import "./ar/enable-gps-ar.js";
|
|
22
21
|
import "./ar/replay-scene.js";
|
|
22
|
+
import { calcGpsCoords } from "gps-plus-slam-js";
|
|
23
23
|
//#region ../src/ar/qr-level.ts
|
|
24
24
|
/** Thrown when a fetched level file fails validation. */
|
|
25
25
|
var QrLevelValidationError = class extends Error {
|
|
@@ -108,8 +108,6 @@ async function fetchQrLevel(url, options = {}) {
|
|
|
108
108
|
}
|
|
109
109
|
//#endregion
|
|
110
110
|
//#region ../src/ar/qr-gps-vote.ts
|
|
111
|
-
/** Mean meters per degree of latitude (WGS-84 average). */
|
|
112
|
-
const METERS_PER_DEG_LAT = 111320;
|
|
113
111
|
/**
|
|
114
112
|
* `count` points evenly spaced on a circle of radius `baselineM` in the QR
|
|
115
113
|
* plane (z = 0), starting at local +x. The symmetric ring's centroid is the QR
|
|
@@ -144,12 +142,18 @@ function localPlaneToEnu(localX, localY, headingDeg) {
|
|
|
144
142
|
}
|
|
145
143
|
/** Apply an ENU meter offset to a geo pose (equirectangular; exact enough for sub-meter QR corners). */
|
|
146
144
|
function offsetGeo(center, enu) {
|
|
147
|
-
const
|
|
148
|
-
const
|
|
149
|
-
|
|
145
|
+
const nearPole = Math.abs(Math.cos(center.lat * Math.PI / 180)) < 1e-14;
|
|
146
|
+
const { lat, lon } = calcGpsCoords({
|
|
147
|
+
lat: center.lat,
|
|
148
|
+
lon: center.lon
|
|
149
|
+
}, [
|
|
150
|
+
enu.north,
|
|
151
|
+
enu.up,
|
|
152
|
+
nearPole ? 0 : enu.east
|
|
153
|
+
]);
|
|
150
154
|
return {
|
|
151
|
-
latitude:
|
|
152
|
-
longitude:
|
|
155
|
+
latitude: lat,
|
|
156
|
+
longitude: lon,
|
|
153
157
|
altitude: center.alt + enu.up
|
|
154
158
|
};
|
|
155
159
|
}
|
|
@@ -380,4 +384,4 @@ function checkQrPlausibility(qrCenterWorld, cameraPosWorld, grid, options = {})
|
|
|
380
384
|
};
|
|
381
385
|
}
|
|
382
386
|
//#endregion
|
|
383
|
-
export {
|
|
387
|
+
export { offsetGeo as a, parseQrLevel as c, localPlaneToEnu as i, createQrTrackingController as n, QrLevelValidationError as o, buildQrGpsVotes as r, fetchQrLevel as s, checkQrPlausibility as t };
|
|
@@ -43,6 +43,21 @@ interface ARPose {
|
|
|
43
43
|
readonly position: WebXRVec3;
|
|
44
44
|
readonly orientation: WebXRQuaternion;
|
|
45
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Extract the raw odometry position tuple from an {@link ARPose}.
|
|
48
|
+
*
|
|
49
|
+
* Returns the raw WebXR position without coordinate conversion — the reducer
|
|
50
|
+
* applies the WebXR→NUE transform when storing into state (raw-storage
|
|
51
|
+
* pattern, see docs/2026-04-09-raw-storage-convert-on-read.md).
|
|
52
|
+
* WebXR local-floor frame: X=East, Y=Up, Z=South (toward viewer / backward).
|
|
53
|
+
*
|
|
54
|
+
* Lives next to the type (quality-review G-8 — it used to sit in
|
|
55
|
+
* `state/gps-event-coordinator.ts`, forcing an ar→state import in
|
|
56
|
+
* `ar/depth-sampler.ts`).
|
|
57
|
+
*/
|
|
58
|
+
declare function extractOdomPosition(arPose: ARPose): Vector3;
|
|
59
|
+
/** Extract the raw odometry rotation tuple from an {@link ARPose}. */
|
|
60
|
+
declare function extractOdomRotation(arPose: ARPose): Quaternion;
|
|
46
61
|
/**
|
|
47
62
|
* An sRGB color triple, 0–255 integers per channel. Kept as plain ints so
|
|
48
63
|
* persisted JSON stays compact (~3 bytes/point in practice).
|
|
@@ -102,4 +117,4 @@ interface DepthSample {
|
|
|
102
117
|
readonly projectionMatrix?: Matrix4;
|
|
103
118
|
}
|
|
104
119
|
//#endregion
|
|
105
|
-
export { RgbTuple as a, DepthSample as i, ArPoseTuples as n, WebXRQuaternion as o, DepthPoint as r, WebXRVec3 as s, ARPose as t };
|
|
120
|
+
export { RgbTuple as a, extractOdomPosition as c, DepthSample as i, extractOdomRotation as l, ArPoseTuples as n, WebXRQuaternion as o, DepthPoint as r, WebXRVec3 as s, ARPose as t };
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { S as webxrToNUE, _ as createLoopClosureHandler, a as LibraryRootState, b as odometryTrackingRestarted, c as Matrix4, d as Vector3, f as arNorthBearingDeg, g as createGpsSlamStore, h as calcRelativeCoordsInMeters, i as LatLongAlt, l as Quaternion, m as calcGpsCoords, n as GpsPoint, o as LoopClosureHandler, p as bearingDeltaDeg, r as LatLong, s as LoopClosureHandlerConfig, t as ArImageCapture, u as RootState, v as isIdentityMatrix4, x as validateLicenseKey, y as magneticHeadingFromEnuQuat } from "../index-
|
|
1
|
+
import { S as webxrToNUE, _ as createLoopClosureHandler, a as LibraryRootState, b as odometryTrackingRestarted, c as Matrix4, d as Vector3, f as arNorthBearingDeg, g as createGpsSlamStore, h as calcRelativeCoordsInMeters, i as LatLongAlt, l as Quaternion, m as calcGpsCoords, n as GpsPoint, o as LoopClosureHandler, p as bearingDeltaDeg, r as LatLong, s as LoopClosureHandlerConfig, t as ArImageCapture, u as RootState, v as isIdentityMatrix4, x as validateLicenseKey, y as magneticHeadingFromEnuQuat } from "../index-CjxbDm8W.js";
|
|
2
2
|
export { ArImageCapture, GpsPoint, LatLong, LatLongAlt, LibraryRootState, LoopClosureHandler, LoopClosureHandlerConfig, Matrix4, Quaternion, RootState, Vector3, arNorthBearingDeg, bearingDeltaDeg, calcGpsCoords, calcRelativeCoordsInMeters, createGpsSlamStore, createLoopClosureHandler, isIdentityMatrix4, magneticHeadingFromEnuQuat, odometryTrackingRestarted, validateLicenseKey, webxrToNUE };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { a as TrackingSliceState } from "./tracking-slice-
|
|
2
|
-
import { t as RecordingState } from "./recording-slice-
|
|
3
|
-
import { n as SessionMetadata } from "./opfs-storage-
|
|
4
|
-
import { n as StorageBackend } from "./storage-backend-
|
|
1
|
+
import { a as TrackingSliceState } from "./tracking-slice-Bt2OEQhA.js";
|
|
2
|
+
import { t as RecordingState } from "./recording-slice-DziOl7P5.js";
|
|
3
|
+
import { n as SessionMetadata } from "./opfs-storage-S_odkCk1.js";
|
|
4
|
+
import { n as StorageBackend } from "./storage-backend-BX7egQKi.js";
|
|
5
5
|
import { GpsPoint, LatLong, Matrix4, RootState, Vector3 } from "gps-plus-slam-js";
|
|
6
6
|
import * as _$_reduxjs_toolkit0 from "@reduxjs/toolkit";
|
|
7
7
|
import { Middleware, Reducer, ReducersMapObject, configureStore } from "@reduxjs/toolkit";
|
|
@@ -132,8 +132,8 @@ function createSlamAppStore(options) {
|
|
|
132
132
|
const store = configureStore({
|
|
133
133
|
reducer,
|
|
134
134
|
middleware: (getDefaultMiddleware) => getDefaultMiddleware({
|
|
135
|
-
serializableCheck: enableDevChecks,
|
|
136
|
-
immutableCheck: enableDevChecks
|
|
135
|
+
serializableCheck: enableDevChecks ? { ignoredActions: ["tracking/poseReceived"] } : false,
|
|
136
|
+
immutableCheck: enableDevChecks ? { ignoredPaths: ["tracking"] } : false
|
|
137
137
|
}).prepend(...prependedListeners).concat(createPersistenceMiddleware({
|
|
138
138
|
storageBackend,
|
|
139
139
|
onWriteFailure,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as RgbTuple, i as DepthSample, t as ARPose } from "./ar-types-
|
|
1
|
+
import { a as RgbTuple, i as DepthSample, t as ARPose } from "./ar-types-CBafnxhE.js";
|
|
2
2
|
import { Matrix4 } from "gps-plus-slam-js";
|
|
3
3
|
|
|
4
4
|
//#region ../src/ar/depth-rgb-lookup.d.ts
|
|
@@ -169,12 +169,22 @@ declare class DepthSampler {
|
|
|
169
169
|
*/
|
|
170
170
|
updateConfig(config: Partial<DepthSamplerConfig>): void;
|
|
171
171
|
/**
|
|
172
|
-
* Called each frame with depth
|
|
172
|
+
* Called each frame with a LAZY depth provider (quality-review E-4: the
|
|
173
|
+
* caller used to acquire + wrap the depth info every frame while this
|
|
174
|
+
* method threw ~59 of 60 acquisitions away at the interval check — the
|
|
175
|
+
* provider is now invoked only when a sample is due).
|
|
176
|
+
*
|
|
177
|
+
* Unavailability detection is preserved by construction:
|
|
178
|
+
* `lastSampleTime` only advances when a sample is EMITTED, so while depth
|
|
179
|
+
* is unavailable the sampler stays "due" and probes the provider every
|
|
180
|
+
* frame — exactly the cadence the old per-frame acquisition gave
|
|
181
|
+
* `checkDepthUnavailability` (Field Test Readiness Issue #8).
|
|
173
182
|
*
|
|
174
183
|
* @param timestamp - Current frame timestamp in milliseconds
|
|
175
|
-
* @param
|
|
184
|
+
* @param acquireDepthInfo - Returns the frame's depth info, or null if
|
|
185
|
+
* unavailable. Only invoked when a sample is due.
|
|
176
186
|
*/
|
|
177
|
-
onFrame(timestamp: number,
|
|
187
|
+
onFrame(timestamp: number, acquireDepthInfo: () => DepthInfo | null): void;
|
|
178
188
|
/**
|
|
179
189
|
* Acquire the per-sample RGB lookup, gated by `config.rgb` and guarded so
|
|
180
190
|
* a failing acquisition (e.g. GL context loss during the blit) can never
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region ../src/sensors/device-orientation-cache.ts
|
|
2
|
+
let lastDeviceOrientation = null;
|
|
3
|
+
/**
|
|
4
|
+
* Update the cached device orientation.
|
|
5
|
+
* Called by the host's orientation watch; read when a GPS event arrives and
|
|
6
|
+
* by the XR frame loop's orientation snapshot.
|
|
7
|
+
*/
|
|
8
|
+
function updateDeviceOrientation(orientation) {
|
|
9
|
+
lastDeviceOrientation = orientation;
|
|
10
|
+
}
|
|
11
|
+
/** Get the current cached device orientation (null before the first reading). */
|
|
12
|
+
function getLastDeviceOrientation() {
|
|
13
|
+
return lastDeviceOrientation;
|
|
14
|
+
}
|
|
15
|
+
/** Clear the cache (testing / session reset). */
|
|
16
|
+
function resetDeviceOrientationCache() {
|
|
17
|
+
lastDeviceOrientation = null;
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { resetDeviceOrientationCache as n, updateDeviceOrientation as r, getLastDeviceOrientation as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t as ArCrashIsolationOptions } from "./recording-options-
|
|
2
|
-
import { n as RawDeviceOrientation, t as GpsPosition } from "./gps-
|
|
3
|
-
import { n as PermissionStatus } from "./permission-checker-
|
|
4
|
-
import { s as SessionFeatureOptions } from "./webxr-session-
|
|
1
|
+
import { t as ArCrashIsolationOptions } from "./recording-options-Cai9D14V.js";
|
|
2
|
+
import { n as RawDeviceOrientation, t as GpsPosition } from "./gps-CX5b9g3s.js";
|
|
3
|
+
import { n as PermissionStatus } from "./permission-checker-D1C5zvo-.js";
|
|
4
|
+
import { s as SessionFeatureOptions } from "./webxr-session-CGFZ429B.js";
|
|
5
5
|
|
|
6
6
|
//#region ../src/ar/enable-gps-ar.d.ts
|
|
7
7
|
/**
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as findNearbyGeoAnchor, c as h3CellsMatch, i as clusterCellsByZoom, l as isH3Index, n as KnownGeoAnchor, o as gpsPathToCoverageCells, r as approxDistanceMetres, s as gpsToH3, t as H3_RESOLUTION } from "../h3-proximity-
|
|
1
|
+
import { a as findNearbyGeoAnchor, c as h3CellsMatch, i as clusterCellsByZoom, l as isH3Index, n as KnownGeoAnchor, o as gpsPathToCoverageCells, r as approxDistanceMetres, s as gpsToH3, t as H3_RESOLUTION } from "../h3-proximity-pFluGfwL.js";
|
|
2
2
|
export { H3_RESOLUTION, KnownGeoAnchor, approxDistanceMetres, clusterCellsByZoom, findNearbyGeoAnchor, gpsPathToCoverageCells, gpsToH3, h3CellsMatch, isH3Index };
|
package/dist/geo/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as findNearbyGeoAnchor, c as h3CellsMatch, i as clusterCellsByZoom, l as isH3Index, n as KnownGeoAnchor, o as gpsPathToCoverageCells, r as approxDistanceMetres, s as gpsToH3, t as H3_RESOLUTION } from "../h3-proximity-
|
|
1
|
+
import { a as findNearbyGeoAnchor, c as h3CellsMatch, i as clusterCellsByZoom, l as isH3Index, n as KnownGeoAnchor, o as gpsPathToCoverageCells, r as approxDistanceMetres, s as gpsToH3, t as H3_RESOLUTION } from "../h3-proximity-pFluGfwL.js";
|
|
2
2
|
export { H3_RESOLUTION, type KnownGeoAnchor, approxDistanceMetres, clusterCellsByZoom, findNearbyGeoAnchor, gpsPathToCoverageCells, gpsToH3, h3CellsMatch, isH3Index };
|
|
@@ -47,7 +47,14 @@ declare function startOrientationWatch(onOrientation: OrientationCallback): void
|
|
|
47
47
|
*/
|
|
48
48
|
declare function stopOrientationWatch(): void;
|
|
49
49
|
/**
|
|
50
|
-
* Request permission for device orientation (required on iOS 13+)
|
|
50
|
+
* Request permission for device orientation (required on iOS 13+).
|
|
51
|
+
*
|
|
52
|
+
* Boolean-contract wrapper around the permission-checker's
|
|
53
|
+
* `requestOrientationPermission` superset (quality-review A-4 — the two
|
|
54
|
+
* public implementations had already drifted once; this one lacked the
|
|
55
|
+
* missing-API guard and threw a ReferenceError where `DeviceOrientationEvent`
|
|
56
|
+
* does not exist). `true` only for an explicit grant (or the non-iOS
|
|
57
|
+
* no-permission-needed case); denied, failed, or unsupported → `false`.
|
|
51
58
|
*/
|
|
52
59
|
declare function requestOrientationPermission(): Promise<boolean>;
|
|
53
60
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as LatLongAlt, r as LatLong } from "./index-
|
|
1
|
+
import { i as LatLongAlt, r as LatLong } from "./index-CjxbDm8W.js";
|
|
2
2
|
import * as THREE from "three";
|
|
3
3
|
|
|
4
4
|
//#region ../src/visualization/gps-anchor.d.ts
|
|
@@ -19,8 +19,19 @@ interface GpsAnchorOptions {
|
|
|
19
19
|
readonly skipBootstrap?: boolean;
|
|
20
20
|
readonly getAlignmentMatrix: () => readonly number[] | null;
|
|
21
21
|
readonly getGpsZeroRef: () => LatLong | null;
|
|
22
|
-
/**
|
|
23
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Returns the current bootstrap sample, or null to skip this tick.
|
|
24
|
+
*
|
|
25
|
+
* OPTIONAL since quality-review G-6: when omitted, the anchor samples the
|
|
26
|
+
* OBJECT's own world pose converted to GPS via `worldNueToGps` (the
|
|
27
|
+
* "object-pose" source) — pinning the anchor to the placed point, not the
|
|
28
|
+
* device. This was previously hand-built (scratch vector + zero/alignment
|
|
29
|
+
* guards) in every consumer and was the subtlest piece of anchor wiring:
|
|
30
|
+
* re-deriving it incorrectly anchored silently wrong. Provide a custom
|
|
31
|
+
* reader only when the samples should come from somewhere else (e.g. the
|
|
32
|
+
* phone's GPS fix).
|
|
33
|
+
*/
|
|
34
|
+
readonly getCurrentGpsPoint?: () => GpsAnchorSamplePoint | null;
|
|
24
35
|
/**
|
|
25
36
|
* Optional callback invoked whenever the bootstrap median is committed (the
|
|
26
37
|
* anchor's GPS reference is (re)assigned). Receives the exact committed point
|
|
@@ -36,7 +47,6 @@ interface GpsAnchorOptions {
|
|
|
36
47
|
readonly floorY?: () => number | null;
|
|
37
48
|
readonly distanceThreshold?: number;
|
|
38
49
|
readonly angleThresholdInDegrees?: number;
|
|
39
|
-
readonly targetPosRefreshRateInSec?: number;
|
|
40
50
|
/** Number of 1 Hz samples collected during bootstrap. Default 7. */
|
|
41
51
|
readonly secondsToAccumulateGpsPose?: number;
|
|
42
52
|
/** Wait window (seconds) at phase entry during which no samples are taken. Default 0. */
|
|
@@ -1,10 +1,20 @@
|
|
|
1
|
-
import { t as ARPose } from "./ar-types-
|
|
2
|
-
import { n as RawDeviceOrientation, t as GpsPosition } from "./gps-
|
|
3
|
-
import { t as AbsoluteOrientationReading } from "./absolute-orientation-
|
|
4
|
-
import { i as SlamAppStore } from "./create-slam-app-store-
|
|
5
|
-
import {
|
|
1
|
+
import { t as ARPose } from "./ar-types-CBafnxhE.js";
|
|
2
|
+
import { n as RawDeviceOrientation, t as GpsPosition } from "./gps-CX5b9g3s.js";
|
|
3
|
+
import { t as AbsoluteOrientationReading } from "./absolute-orientation-C_IxDR_j.js";
|
|
4
|
+
import { i as SlamAppStore } from "./create-slam-app-store-CH31erpP.js";
|
|
5
|
+
import { RawAbsoluteOrientation, RawGpsPoint, RecordGpsEventPayload, eulerToQuaternion } from "gps-plus-slam-js";
|
|
6
6
|
import { ReducersMapObject } from "@reduxjs/toolkit";
|
|
7
7
|
|
|
8
|
+
//#region ../src/sensors/device-orientation-cache.d.ts
|
|
9
|
+
/**
|
|
10
|
+
* Update the cached device orientation.
|
|
11
|
+
* Called by the host's orientation watch; read when a GPS event arrives and
|
|
12
|
+
* by the XR frame loop's orientation snapshot.
|
|
13
|
+
*/
|
|
14
|
+
declare function updateDeviceOrientation(orientation: RawDeviceOrientation): void;
|
|
15
|
+
/** Get the current cached device orientation (null before the first reading). */
|
|
16
|
+
declare function getLastDeviceOrientation(): RawDeviceOrientation | null;
|
|
17
|
+
//#endregion
|
|
8
18
|
//#region ../src/state/gps-event-coordinator.d.ts
|
|
9
19
|
/**
|
|
10
20
|
* Configuration for the recording coordinator
|
|
@@ -15,33 +25,10 @@ interface RecordingCoordinatorConfig {
|
|
|
15
25
|
/** Function to get current AR pose (from WebXR module) */
|
|
16
26
|
getArPose: () => ARPose | null;
|
|
17
27
|
}
|
|
18
|
-
/**
|
|
19
|
-
* Update the cached device orientation.
|
|
20
|
-
* Called by orientation watch, used when GPS event arrives.
|
|
21
|
-
*/
|
|
22
|
-
declare function updateDeviceOrientation(orientation: RawDeviceOrientation): void;
|
|
23
|
-
/**
|
|
24
|
-
* Get the current cached device orientation.
|
|
25
|
-
*/
|
|
26
|
-
declare function getLastDeviceOrientation(): RawDeviceOrientation | null;
|
|
27
28
|
/**
|
|
28
29
|
* Clear cached state (for testing or session reset)
|
|
29
30
|
*/
|
|
30
31
|
declare function resetCoordinatorState(): void;
|
|
31
|
-
/**
|
|
32
|
-
* Extract raw odometry position tuple from ARPose.
|
|
33
|
-
*
|
|
34
|
-
* Returns the raw WebXR position without coordinate conversion.
|
|
35
|
-
* The reducer applies the WebXR→NUE transform when storing into state
|
|
36
|
-
* (raw-storage pattern, see docs/2026-04-09-raw-storage-convert-on-read.md).
|
|
37
|
-
*
|
|
38
|
-
* WebXR local-floor frame: X=East, Y=Up, Z=South (toward viewer / backward).
|
|
39
|
-
*/
|
|
40
|
-
declare function extractOdomPosition(arPose: ARPose): Vector3;
|
|
41
|
-
/**
|
|
42
|
-
* Extract odometry rotation tuple from ARPose.
|
|
43
|
-
*/
|
|
44
|
-
declare function extractOdomRotation(arPose: ARPose): Quaternion;
|
|
45
32
|
/**
|
|
46
33
|
* Build a RawGpsPoint from GPS position data.
|
|
47
34
|
* Returns only raw sensor fields — no derived fields (coordinates, weight,
|
|
@@ -89,4 +76,4 @@ declare function buildRecordGpsEventPayload(gpsPosition: GpsPosition, arPose: AR
|
|
|
89
76
|
*/
|
|
90
77
|
declare function createGpsPositionHandler(config: RecordingCoordinatorConfig): (position: GpsPosition) => void;
|
|
91
78
|
//#endregion
|
|
92
|
-
export { eulerToQuaternion as a, getLastDeviceOrientation as c,
|
|
79
|
+
export { eulerToQuaternion as a, getLastDeviceOrientation as c, createGpsPositionHandler as i, updateDeviceOrientation as l, buildRawGpsPoint as n, resetCoordinatorState as o, buildRecordGpsEventPayload as r, toRawAbsoluteOrientation as s, RecordingCoordinatorConfig as t };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createLogger } from "./utils/logger.js";
|
|
2
|
-
import { t as geodesicAngleRad } from "./geodesic-angle-
|
|
3
|
-
import { n as MotionWindow, r as decideCapture, t as DEFAULT_MOTION_FILTER } from "./capture-motion-gate-
|
|
2
|
+
import { t as geodesicAngleRad } from "./geodesic-angle-HXBWiXiI.js";
|
|
3
|
+
import { n as MotionWindow, r as decideCapture, t as DEFAULT_MOTION_FILTER } from "./capture-motion-gate-D1eyGC_o.js";
|
|
4
4
|
import { DEFAULT_QUALITY_FILTER } from "./ar/image-quality.js";
|
|
5
5
|
import { quat } from "gl-matrix";
|
|
6
6
|
//#region ../src/ar/pose-motion.ts
|
|
@@ -21,14 +21,16 @@ import { quat } from "gl-matrix";
|
|
|
21
21
|
* Angular velocity reuses the shared `geodesicAngleRad` kernel rather than a
|
|
22
22
|
* fresh `acos` (CLAUDE.md: search first, prefer refactor over re-implementation).
|
|
23
23
|
*/
|
|
24
|
+
const _scratchQuatPrev = quat.create();
|
|
25
|
+
const _scratchQuatCur = quat.create();
|
|
24
26
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
27
|
+
* Write a WebXR object-form quaternion into `out`, normalized. Normalizing
|
|
28
|
+
* defends against slightly non-unit inputs (the gate must not throw on
|
|
29
|
+
* imperfect tracking data).
|
|
28
30
|
*/
|
|
29
|
-
function toGlQuat(q) {
|
|
30
|
-
|
|
31
|
-
return quat.normalize(
|
|
31
|
+
function toGlQuat(q, out) {
|
|
32
|
+
quat.set(out, q.x, q.y, q.z, q.w);
|
|
33
|
+
return quat.normalize(out, out);
|
|
32
34
|
}
|
|
33
35
|
/**
|
|
34
36
|
* Angular velocity in radians/second between two orientations.
|
|
@@ -43,7 +45,7 @@ function toGlQuat(q) {
|
|
|
43
45
|
*/
|
|
44
46
|
function angularVelocity(qPrev, qCur, dtSeconds) {
|
|
45
47
|
if (!(dtSeconds > 0)) return 0;
|
|
46
|
-
return geodesicAngleRad(toGlQuat(qPrev), toGlQuat(qCur)) / dtSeconds;
|
|
48
|
+
return geodesicAngleRad(toGlQuat(qPrev, _scratchQuatPrev), toGlQuat(qCur, _scratchQuatCur)) / dtSeconds;
|
|
47
49
|
}
|
|
48
50
|
/**
|
|
49
51
|
* Linear velocity in metres/second between two positions.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { o as WebXRQuaternion, s as WebXRVec3, t as ARPose } from "./ar-types-
|
|
2
|
-
import { t as MotionFilterConfig } from "./capture-motion-gate-
|
|
3
|
-
import { a as QualityFilterConfig } from "./image-quality-
|
|
1
|
+
import { o as WebXRQuaternion, s as WebXRVec3, t as ARPose } from "./ar-types-CBafnxhE.js";
|
|
2
|
+
import { t as MotionFilterConfig } from "./capture-motion-gate-BmjiWUJv.js";
|
|
3
|
+
import { a as QualityFilterConfig } from "./image-quality-BjBLoTec.js";
|
|
4
4
|
|
|
5
5
|
//#region ../src/ar/image-capture.d.ts
|
|
6
6
|
/**
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { t as GridCell } from "./bresenham3d-
|
|
2
|
-
import { a as QrPoseSolution, i as Pose, r as Point2, t as CameraIntrinsics } from "./qr-pose-
|
|
3
|
-
import { a as QrFrontEnd, o as RgbaImage } from "./qr-frontend-
|
|
1
|
+
import { t as GridCell } from "./bresenham3d-D-t9i_b5.js";
|
|
2
|
+
import { a as QrPoseSolution, i as Pose, r as Point2, t as CameraIntrinsics } from "./qr-pose-CCTF1PP0.js";
|
|
3
|
+
import { a as QrFrontEnd, o as RgbaImage } from "./qr-frontend-61SKPSyU.js";
|
|
4
4
|
import { Quaternion, RecordGpsEventPayload, Vector3 } from "gps-plus-slam-js";
|
|
5
5
|
|
|
6
6
|
//#region ../src/ar/qr-gps-vote.d.ts
|
|
7
|
-
/** Mean meters per degree of latitude (WGS-84 average). */
|
|
8
|
-
declare const METERS_PER_DEG_LAT = 111320;
|
|
9
7
|
/** Absolute geo pose of the printed QR, from the level file. */
|
|
10
8
|
interface QrGeoPose {
|
|
11
9
|
lat: number;
|
|
@@ -396,4 +394,4 @@ interface QrPlausibilityOptions {
|
|
|
396
394
|
*/
|
|
397
395
|
declare function checkQrPlausibility(qrCenterWorld: Vector3, cameraPosWorld: Vector3, grid: OccupancySurface, options?: QrPlausibilityOptions): QrPlausibility;
|
|
398
396
|
//#endregion
|
|
399
|
-
export {
|
|
397
|
+
export { buildQrGpsVotes as A, QrLevel as C, Enu as D, parseQrLevel as E, offsetGeo as M, QrGeoPose as O, FetchQrLevelOptions as S, fetchQrLevel as T, QrTrackingController as _, checkQrPlausibility as a, createQrTrackingController as b, QrDetectionScheduler as c, createQrDetectionScheduler as d, CameraFrameSource as f, QrSolvePoseInput as g, QrDetectionEvent as h, QrPlausibilityVerdict as i, localPlaneToEnu as j, QrGpsVoteInput as k, QrDetectionSchedulerConfig as l, CameraFrameSourceConfig as m, QrPlausibility as n, DetectionScheduler as o, CameraFrameSourceCallbacks as p, QrPlausibilityOptions as r, DetectionSchedulerConfig as s, OccupancySurface as t, createDetectionScheduler as u, QrTrackingControllerConfig as v, QrLevelValidationError as w, FetchLike as x, QrTrackingStatus as y };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { N as CombinedRootState, m as TrackingQualityReport } from "./create-slam-app-store-
|
|
1
|
+
import { N as CombinedRootState, m as TrackingQualityReport } from "./create-slam-app-store-CH31erpP.js";
|
|
2
2
|
import { Add2dImagePayload, GpsPoint as GpsPoint$1, LatLong as LatLong$1, RawDeviceOrientation, RawGpsPoint as RawGpsPoint$1, RecordGpsEventPayload as RecordGpsEventPayload$1, add2dImage, calcRelativeCoordsInMeters, recordGpsEvent as recordGpsEvent$1, setZeroPos as setZeroPos$1 } from "gps-plus-slam-js";
|
|
3
3
|
|
|
4
4
|
//#region ../src/state/onboarding-guidance.d.ts
|