gps-plus-slam-app-framework 1.7.0 → 1.8.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/{accuracy-circles-BtqOP_v1.d.ts → accuracy-circles-DkWBkF5g.d.ts} +16 -6
- package/dist/{app-selectors-ikTUQZpe.d.ts → app-selectors-JqydaUMN.d.ts} +1 -1
- 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 +127 -0
- package/dist/ar/depth-occluder.js +299 -0
- package/dist/ar/depth-sampler.d.ts +2 -2
- package/dist/ar/depth-sampler.js +24 -4
- package/dist/ar/depth-unprojection.d.ts +1 -1
- package/dist/ar/depth-unprojection.js +52 -21
- 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/frame-loop.js +12 -2
- 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 +2 -1
- package/dist/ar/index.d.ts +32 -31
- package/dist/ar/index.js +5 -4
- package/dist/ar/occlusion-mesh-worker.d.ts +58 -0
- package/dist/ar/occlusion-mesh-worker.js +129 -0
- package/dist/ar/occupancy-grid.d.ts +2 -2
- package/dist/ar/occupancy-grid.js +287 -31
- package/dist/ar/occupancy-mesher.d.ts +2 -0
- package/dist/ar/occupancy-mesher.js +638 -0
- 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-detection-controller.d.ts +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/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 +4 -4
- package/dist/ar/webxr-session.js +2 -2
- 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/xr-frame-loop.js +12 -2
- package/dist/{ar-MFpFlV7j.js → ar-BqCudtqE.js} +3 -2
- package/dist/{ar-world-group-alignment-69fgnB39.d.ts → ar-world-group-alignment-BlvGcIAk.d.ts} +1 -1
- package/dist/{capture-motion-gate-4EscNZCw.js → capture-motion-gate-_NdTSwKi.js} +17 -5
- package/dist/cell-key-DIB4rOTV.js +51 -0
- package/dist/core/index.d.ts +1 -1
- package/dist/{create-slam-app-store-n_VF63D5.d.ts → create-slam-app-store-D3nzh9Wb.d.ts} +4 -4
- package/dist/{create-slam-app-store-DkCHOpvb.js → create-slam-app-store-DXiAnJwR.js} +9 -2
- package/dist/{depth-grid-lookup-DQ-IYhO3.d.ts → depth-grid-lookup-D5atpNZ3.d.ts} +1 -1
- package/dist/{depth-sampler-asc8exHt.d.ts → depth-sampler-CwObAwEA.d.ts} +33 -1
- package/dist/{depth-unprojection-DjsbJW9L.d.ts → depth-unprojection-DRdBU90S.d.ts} +1 -1
- package/dist/{enable-gps-ar-DkNhFv4Y.d.ts → enable-gps-ar-DvGzBOrp.d.ts} +4 -4
- package/dist/{frame-conversions-DObhj8Wf.d.ts → frame-conversions-C4bnNOEY.d.ts} +1 -1
- package/dist/{fused-path-v6eOmLl3.d.ts → fused-path-C5pp0PJU.d.ts} +1 -1
- package/dist/geo/h3-proximity.d.ts +1 -1
- package/dist/geo/index.d.ts +1 -1
- package/dist/{gps-anchor-BeFO2RYa.d.ts → gps-anchor-BjECcYnD.d.ts} +1 -1
- package/dist/{gps-ar-pose-sampler-DHMZmYAc.d.ts → gps-ar-pose-sampler-DEGNk2CI.d.ts} +1 -1
- package/dist/{gps-event-coordinator-CjWW636x.d.ts → gps-event-coordinator-CHtIkhb7.d.ts} +4 -4
- package/dist/{image-capture-CNZDrQXG.d.ts → image-capture-Bp6Pd4Md.d.ts} +3 -3
- package/dist/{image-capture-B2-b6tKK.js → image-capture-DVcuqMtX.js} +1 -1
- package/dist/{index-BODDUTvD.d.ts → index-DlsOo2IB.d.ts} +1 -1
- package/dist/{index-BneSj4_5.d.ts → index-cCQWuYqy.d.ts} +3 -3
- package/dist/index.d.ts +82 -80
- package/dist/index.js +10 -8
- package/dist/{leaflet-map-overlay-CmIyiE8n.d.ts → leaflet-map-overlay-BOZFW5kT.d.ts} +64 -10
- package/dist/leaflet-map-overlay-CBWPvaX9.js +452 -0
- package/dist/lerp-utils-Qs8OhumS.d.ts +42 -0
- package/dist/map-data-D7rpMC6f.js +120 -0
- package/dist/{map-data-B4oEehUh.d.ts → map-data-PNfGKGWx.d.ts} +22 -2
- package/dist/{map-overlay-draw-ymz1s7fG.d.ts → map-overlay-draw-DiroaJed.d.ts} +1 -1
- package/dist/{null-storage-backend-B9rtyDfG.d.ts → null-storage-backend-B1-jlpin.d.ts} +2 -2
- package/dist/occlusion-mesh-b28lRJ6S.d.ts +194 -0
- package/dist/occupancy-grid-BV7RhB7I.d.ts +194 -0
- package/dist/occupancy-mesher-C2ecWhNp.d.ts +100 -0
- package/dist/{opfs-storage-3VZh-qH6.d.ts → opfs-storage-CTkxvxN4.d.ts} +5 -0
- package/dist/{opfs-storage-backend-JJiUJo-3.d.ts → opfs-storage-backend-D6Z03fML.d.ts} +2 -2
- package/dist/{persistence-middleware-DAPTTwB2.d.ts → persistence-middleware-CG-t08X4.d.ts} +1 -1
- package/dist/{planar-pnp-my9bqULS.d.ts → planar-pnp-D7bc_rLX.d.ts} +1 -1
- package/dist/{qr-debug-view-Brl73HGO.d.ts → qr-debug-view-BJooqbiP.d.ts} +1 -1
- package/dist/{qr-derived-pose-CmxTP2m4.d.ts → qr-derived-pose-BwNWn8oV.d.ts} +2 -2
- package/dist/{qr-detected-slice-VQssZmQJ.d.ts → qr-detected-slice-TzVb8bij.d.ts} +4 -4
- package/dist/{qr-detection-controller-CDurHv8E.d.ts → qr-detection-controller-Bo4XfQTP.d.ts} +3 -3
- package/dist/{qr-frontend--fFX25mV.d.ts → qr-frontend-BPURlh3S.d.ts} +1 -1
- package/dist/{qr-pose-aggregation-B7tWJq7j.d.ts → qr-pose-aggregation-CypnmjA-.d.ts} +1 -1
- package/dist/{qr-size-depth-context-CeAG53fy.d.ts → qr-size-depth-context-apAOmbrZ.d.ts} +2 -2
- package/dist/{qr-size-measurer-DQdAsid1.d.ts → qr-size-measurer-DxiMqRUw.d.ts} +3 -3
- package/dist/{recording-options-BPCpMHLK.d.ts → recording-options-vASCFzc5.d.ts} +177 -24
- package/dist/{recording-replayer-DQKpAGyQ.d.ts → recording-replayer-D0V9WkmY.d.ts} +2 -2
- package/dist/{recording-slice-DaxHZvNu.d.ts → recording-slice-DTUtSVgd.d.ts} +2 -2
- package/dist/{replay-engine-CmKh_4wf.d.ts → replay-engine-xdrUgWJi.d.ts} +1 -1
- package/dist/{replay-scene-DBlDrV_x.d.ts → replay-scene-zJ8SFDjE.d.ts} +3 -3
- package/dist/sensors/absolute-orientation.d.ts +1 -1
- package/dist/sensors/absolute-orientation.js +23 -6
- package/dist/sensors/gps-error-handler.d.ts +1 -1
- package/dist/sensors/gps.d.ts +1 -1
- package/dist/sensors/index.d.ts +4 -4
- package/dist/sensors/permission-checker.d.ts +1 -1
- 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 +3 -3
- package/dist/state/gps-event-coordinator.d.ts +1 -1
- package/dist/state/index.d.ts +19 -19
- package/dist/state/index.js +2 -2
- package/dist/state/persistence-middleware.d.ts +1 -1
- package/dist/state/qr-detected-slice.d.ts +3 -3
- package/dist/state/recording-options.d.ts +2 -2
- package/dist/state/recording-options.js +134 -15
- 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 +2 -1
- 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 +10 -1
- package/dist/state/tracking-slice.d.ts +1 -1
- package/dist/{state-E51QT_-j.js → state-BeKvn4B-.js} +1 -1
- 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/opfs-storage.js +25 -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-reader.d.ts +1 -1
- package/dist/{storage-backend-BdVLD0dU.d.ts → storage-backend-sEtmM4yW.d.ts} +1 -1
- package/dist/{store-subscribers-CA6AJH_8.d.ts → store-subscribers-DScA7tdT.d.ts} +2 -2
- package/dist/{subscribe-to-selector-B6EUmQ3I.d.ts → subscribe-to-selector-B9ylM5Oh.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-BuAZxXZ5.d.ts → tracking-slice-DMkHlbny.d.ts} +1 -1
- package/dist/types/ar-types.d.ts +1 -1
- package/dist/types/geo-types.d.ts +1 -1
- package/dist/types/index.d.ts +2 -2
- 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/index.d.ts +7 -7
- package/dist/utils/list-formatter.d.ts +1 -1
- package/dist/utils/logger.d.ts +1 -1
- package/dist/visualization/accuracy-circles.d.ts +1 -1
- package/dist/visualization/accuracy-circles.js +17 -8
- package/dist/visualization/alignment-lerper.d.ts +1 -1
- 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-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 +20 -19
- package/dist/visualization/index.js +4 -3
- package/dist/visualization/leaflet-map-overlay.d.ts +1 -1
- package/dist/visualization/leaflet-map-overlay.js +1 -282
- package/dist/visualization/lerp-utils.d.ts +2 -2
- package/dist/visualization/lerp-utils.js +27 -3
- package/dist/visualization/map-data.d.ts +1 -1
- package/dist/visualization/map-data.js +1 -32
- package/dist/visualization/map-overlay-draw.d.ts +1 -1
- package/dist/visualization/map-overlay-draw.js +24 -2
- package/dist/visualization/map-overlay.d.ts +1 -1
- package/dist/visualization/occluder-mesh-driver.d.ts +130 -0
- package/dist/visualization/occluder-mesh-driver.js +219 -0
- package/dist/visualization/occlusion-mesh.d.ts +2 -0
- package/dist/visualization/occlusion-mesh.js +437 -0
- package/dist/visualization/three-dispose.d.ts +1 -1
- package/dist/visualization/vis-colors.d.ts +1 -1
- package/dist/{webxr-session-DG-eNfny.js → webxr-session-BCP2XK7k.js} +88 -13
- package/dist/{webxr-session-Do5L6G3B.d.ts → webxr-session-cRG2SYAQ.d.ts} +73 -10
- package/package.json +4 -4
- package/dist/lerp-utils-BLmHhkVe.d.ts +0 -20
- package/dist/occupancy-grid-DnOc-6PU.d.ts +0 -82
- /package/dist/{absolute-orientation-CAEh840t.d.ts → absolute-orientation-BAxc15J6.d.ts} +0 -0
- /package/dist/{alignment-lerper-Bil6vbVw.d.ts → alignment-lerper-gD70k7Fq.d.ts} +0 -0
- /package/dist/{ar-types-BFX2r1wk.d.ts → ar-types-Cc5yvBwn.d.ts} +0 -0
- /package/dist/{bresenham3d-CU1Gv2W4.d.ts → bresenham3d-DGc4nIb-.d.ts} +0 -0
- /package/dist/{camera-blit-capture-NKT9H5-e.d.ts → camera-blit-capture-BimSdyih.d.ts} +0 -0
- /package/dist/{camera-follower-CqJJ7zRj.d.ts → camera-follower-DfBm2J5i.d.ts} +0 -0
- /package/dist/{capability-checker-DUQLg6gq.d.ts → capability-checker-BTTpygvZ.d.ts} +0 -0
- /package/dist/{capture-failure-tracker-gsm8q7yi.d.ts → capture-failure-tracker-_BVfhpxv.d.ts} +0 -0
- /package/dist/{capture-motion-gate-0Yl2NpQG.d.ts → capture-motion-gate-BGoAMkmf.d.ts} +0 -0
- /package/dist/{chromium-camera-access-workaround-D4K2uwwQ.d.ts → chromium-camera-access-workaround-C6yJLXz9.d.ts} +0 -0
- /package/dist/{concurrency-By0oOTZt.d.ts → concurrency-DPeGBH0X.d.ts} +0 -0
- /package/dist/{css3d-renderer-manager-B3kGNtcn.d.ts → css3d-renderer-manager-CPpVtvgs.d.ts} +0 -0
- /package/dist/{failure-tracker-BO7M7jF_.d.ts → failure-tracker-CeKf5HIc.d.ts} +0 -0
- /package/dist/{file-system-utils-DOajnMm-.d.ts → file-system-utils-DueXHxo9.d.ts} +0 -0
- /package/dist/{format-file-size-Dc98ulzB.d.ts → format-file-size-DxN-EBLc.d.ts} +0 -0
- /package/dist/{frame-loop-CpVjQ1dH.d.ts → frame-loop-7GBMBu68.d.ts} +0 -0
- /package/dist/{frustum-visibility-CeoCZchO.d.ts → frustum-visibility-CokkgS_i.d.ts} +0 -0
- /package/dist/{geo-types-3Ip1NzVR.d.ts → geo-types-DrGVu8nS.d.ts} +0 -0
- /package/dist/{gps-BBO3hKfT.d.ts → gps-CDKDQokE.d.ts} +0 -0
- /package/dist/{gps-compass-cubes-DSN87L8p.d.ts → gps-compass-cubes-1mooS3BS.d.ts} +0 -0
- /package/dist/{gps-error-handler-BbPsfw-_.d.ts → gps-error-handler-C34GQuTu.d.ts} +0 -0
- /package/dist/{gps-event-markers-Cz9RMA2k.d.ts → gps-event-markers-Di2nBzx-.d.ts} +0 -0
- /package/dist/{h3-proximity-C-j0pw1j.d.ts → h3-proximity-D0GTHQmr.d.ts} +0 -0
- /package/dist/{hit-test-reticle-DV-2TpB9.d.ts → hit-test-reticle-CaQbrhbk.d.ts} +0 -0
- /package/dist/{image-quality-smCBoFj1.d.ts → image-quality-BMx2ko9-.d.ts} +0 -0
- /package/dist/{index-_Rhgoqkh.d.ts → index-D4vrgV4b.d.ts} +0 -0
- /package/dist/{index-BAPokxMb.d.ts → index-D74JTX4I.d.ts} +0 -0
- /package/dist/{list-formatter-KNMS0ay2.d.ts → list-formatter-DLFDnS70.d.ts} +0 -0
- /package/dist/{logger-CLnPrHiD.d.ts → logger-CqTd5Kpk.d.ts} +0 -0
- /package/dist/{map-overlay-Dh2B97MP.d.ts → map-overlay-BCQgvIgU.d.ts} +0 -0
- /package/dist/{permission-checker-CDuI8BwC.d.ts → permission-checker-B-VtjnBA.d.ts} +0 -0
- /package/dist/{qr-pose-D2rfu5DA.d.ts → qr-pose-y3vaEd6x.d.ts} +0 -0
- /package/dist/{scene-node-names-BiShOQDB.d.ts → scene-node-names-CGb-ylBd.d.ts} +0 -0
- /package/dist/{session-disposers-zv9OGXPB.js → session-disposers-BPrMplIC.js} +0 -0
- /package/dist/{three-dispose-Bt1k7WKh.d.ts → three-dispose-BMOAmPhb.d.ts} +0 -0
- /package/dist/{vis-colors-Obw2pLqT.d.ts → vis-colors-C7HI0u9_.d.ts} +0 -0
- /package/dist/{webxr-nue-basis-3nfjDJJp.d.ts → webxr-nue-basis-CaCnYxuq.d.ts} +0 -0
- /package/dist/{xr-camera-texture-Cva1q3Qj.d.ts → xr-camera-texture-q0eIDSRg.d.ts} +0 -0
- /package/dist/{xr-error-handler-CtvHpjfm.d.ts → xr-error-handler-uVGDu9IX.d.ts} +0 -0
- /package/dist/{xr-frame-loop-DIYtRcUa.d.ts → xr-frame-loop-DX3JPpAU.d.ts} +0 -0
- /package/dist/{zip-coverage-embed-DCAREVmw.d.ts → zip-coverage-embed-ncVbaZAz.d.ts} +0 -0
- /package/dist/{zip-export-ol0S_Ofd.d.ts → zip-export-CtiUnAlJ.d.ts} +0 -0
- /package/dist/{zip-reader-D9iPQwdQ.d.ts → zip-reader-CvruaGvD.d.ts} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as MotionFilterConfig } from "./capture-motion-gate-
|
|
2
|
-
import { a as QualityFilterConfig } from "./image-quality-
|
|
1
|
+
import { t as MotionFilterConfig } from "./capture-motion-gate-BGoAMkmf.js";
|
|
2
|
+
import { a as QualityFilterConfig } from "./image-quality-BMx2ko9-.js";
|
|
3
3
|
|
|
4
4
|
//#region ../src/state/recording-options.d.ts
|
|
5
5
|
/**
|
|
@@ -24,9 +24,16 @@ interface RecordingOptionsInput {
|
|
|
24
24
|
* feature); Stage C + the WebXR-consistency gate stay experimental (default
|
|
25
25
|
* OFF) until the §6a field-data matrix is in.
|
|
26
26
|
*
|
|
27
|
-
* On-device caveat: the resulting `gpsData` actions persist into the
|
|
28
|
-
* so
|
|
29
|
-
*
|
|
27
|
+
* On-device caveat: the resulting `gpsData` opt-in actions persist into the
|
|
28
|
+
* recording, so the DEFAULT `replayAll` re-enables them. This does NOT modify the
|
|
29
|
+
* raw recorded stream (`rawAbsoluteOrientation`, GPS, odometry) — only the
|
|
30
|
+
* *derived* alignment — so an investigation that re-solves from the raw
|
|
31
|
+
* observations under a chosen `AlignmentConfig` (`recomputeAlignment`) is
|
|
32
|
+
* unaffected by the capture-time flag state. Turning the flags off during capture
|
|
33
|
+
* only matters if you want the LIVE app to behave as the GPS-only baseline; it is
|
|
34
|
+
* not required for clean §6a analysis data. See
|
|
35
|
+
* `GpsPlusSlamJs_Docs/docs/2026-06-26-stage0-field-collection-and-enablement.md`
|
|
36
|
+
* (2026-07-01 update).
|
|
30
37
|
*/
|
|
31
38
|
interface CompassDebugOptions {
|
|
32
39
|
/** Stage 0 — cold-start compass yaw override (`setColdStartOverrideEnabled`). Default ON. */
|
|
@@ -71,11 +78,12 @@ interface ArCrashIsolationOptions {
|
|
|
71
78
|
interface DepthCaptureOptions {
|
|
72
79
|
/** Whether to capture depth samples. Default: true */
|
|
73
80
|
enabled: boolean;
|
|
74
|
-
/** Interval between samples in milliseconds. Default:
|
|
81
|
+
/** Interval between samples in milliseconds. Default: 500 (FAST-reconstruction tuning, 2026-07-01). */
|
|
75
82
|
intervalMs: number;
|
|
76
83
|
/**
|
|
77
|
-
* Grid size (N×N points per sample). Default:
|
|
78
|
-
* populate the AR-space occupancy
|
|
84
|
+
* Grid size (N×N points per sample). Default: 32 (FAST-reconstruction
|
|
85
|
+
* tuning, 2026-07-01) — dense enough to populate the AR-space occupancy
|
|
86
|
+
* grid (2026-06-11 port plan §1).
|
|
79
87
|
*/
|
|
80
88
|
gridSize: number;
|
|
81
89
|
/**
|
|
@@ -125,6 +133,40 @@ interface ImageCaptureOptions {
|
|
|
125
133
|
* so they also apply when replaying an existing recording, letting the same
|
|
126
134
|
* session be re-quantized at a different resolution.
|
|
127
135
|
*/
|
|
136
|
+
/**
|
|
137
|
+
* Mesher strategy for the **persistent occluder** mesh, exposed as a recorder
|
|
138
|
+
* setting (2026-06-30 occluder-tuning, F2/F2b) so the two surface-hugging
|
|
139
|
+
* approaches can be A/B-tested on-device against the blocky baseline:
|
|
140
|
+
* - `'greedy'` — blocky greedy cubes (the existing default; fewest triangles).
|
|
141
|
+
* - `'corner-fit'` — cubes with corners pulled to the measured centroids
|
|
142
|
+
* (surface-hugging **and** watertight).
|
|
143
|
+
* - `'smooth'` — surface nets: smoothest, hugs the measured surface, but an open
|
|
144
|
+
* sheet over thin features.
|
|
145
|
+
*
|
|
146
|
+
* Maps directly onto `meshOccupiedCells` / `OcclusionMesh` `MeshMode` (a subset).
|
|
147
|
+
* `'per-face'` is intentionally not offered (same shape as `'greedy'`, more
|
|
148
|
+
* triangles — no on-device value).
|
|
149
|
+
*/
|
|
150
|
+
declare const OCCLUDER_MESH_MODES: readonly ["greedy", "corner-fit", "smooth"];
|
|
151
|
+
type OccluderMeshMode = (typeof OCCLUDER_MESH_MODES)[number];
|
|
152
|
+
/**
|
|
153
|
+
* Debug-visualization style for the **persistent occluder** mesh (2026-07-02
|
|
154
|
+
* debug-viz-styles plan) — which visible debug skin(s) `OcclusionMesh` renders
|
|
155
|
+
* on top of the invisible depth-only occluder:
|
|
156
|
+
* - `'off'` — no debug rendering (the shipped default; occlusion is invisible).
|
|
157
|
+
* - `'matcap'` — the original shiny semi-transparent cyan skin.
|
|
158
|
+
* - `'depth-shaded'` — matcap + camera-distance fade + white fresnel rim, so
|
|
159
|
+
* overlapping near/far surfaces read as separate shells.
|
|
160
|
+
* - `'wireframe'` — the raw triangulation as GL lines (mesh-structure
|
|
161
|
+
* inspection: triangle density, mesher seams, degenerate spots).
|
|
162
|
+
* - `'depth-shaded-wireframe'` — both of the above composed.
|
|
163
|
+
*
|
|
164
|
+
* Values array module-private (validation only; the settings `<select>`
|
|
165
|
+
* options are hardcoded in the recorder's `index.html`), type exported —
|
|
166
|
+
* mirroring `OCCLUDER_MESH_MODES` / {@link OccluderMeshMode}.
|
|
167
|
+
*/
|
|
168
|
+
declare const OCCLUDER_DEBUG_STYLES: readonly ["off", "matcap", "depth-shaded", "wireframe", "depth-shaded-wireframe"];
|
|
169
|
+
type OccluderDebugStyle = (typeof OCCLUDER_DEBUG_STYLES)[number];
|
|
128
170
|
interface OccupancyOptions {
|
|
129
171
|
/**
|
|
130
172
|
* Voxel edge length in metres. Drives the occupancy-grid quantization, the
|
|
@@ -149,6 +191,84 @@ interface OccupancyOptions {
|
|
|
149
191
|
* `GpsPlusSlamJs_Docs/docs/2026-06-22-occupancy-grid-behind-surface-noise-plan.md`.
|
|
150
192
|
*/
|
|
151
193
|
minConfidence: number;
|
|
194
|
+
/**
|
|
195
|
+
* Render a **persistent depth-only occlusion mesh** of the occupancy grid:
|
|
196
|
+
* the grid's occupied cells are meshed (`meshOccupiedCells`) and drawn
|
|
197
|
+
* invisible-but-depth-writing under `arWorldGroup`, so real geometry the
|
|
198
|
+
* camera saw earlier hides virtual objects placed behind it — including
|
|
199
|
+
* out-of-view surfaces a live depth occluder cannot remember. Default
|
|
200
|
+
* **true** (since 2026-07-01): the Web-Worker mesh offload removed the
|
|
201
|
+
* per-refresh render stall that was the reason to keep it opt-in, so the
|
|
202
|
+
* remembered occluder ships on by the default `'smooth'` mesher. Read once when
|
|
203
|
+
* the mesh is wired (Enter-AR / replay load), like the other occupancy knobs.
|
|
204
|
+
* See `GpsPlusSlamJs_Docs/docs/2026-06-13-occupancy-mesh-options-plan.md` and
|
|
205
|
+
* `GpsPlusSlamJs_Docs/docs/2026-07-01-occluder-worker-and-chunked-remesh-plan.md`.
|
|
206
|
+
*
|
|
207
|
+
* **Migration:** this field replaces the former `occlusionMeshEnabled`
|
|
208
|
+
* boolean — `validateOccupancyOptions` maps a persisted
|
|
209
|
+
* `occlusionMeshEnabled === true` onto `persistentOcclusion` (see that
|
|
210
|
+
* function and `2026-06-29-occupancy-mesh-followups.md`).
|
|
211
|
+
*/
|
|
212
|
+
persistentOcclusion: boolean;
|
|
213
|
+
/**
|
|
214
|
+
* Enable the **live CPU-depth occluder** — a per-frame depth occluder that
|
|
215
|
+
* hides virtual content behind the real surface the camera sees *right now*,
|
|
216
|
+
* sharp and registration-free (no out-of-view memory). It composes with
|
|
217
|
+
* {@link persistentOcclusion}: both can be on (the live occluder wins where
|
|
218
|
+
* this frame has depth, the persistent mesh fills out-of-view / depth holes —
|
|
219
|
+
* `2026-06-14-webxr-depth-occlusion-plan.md` §5). Requires the
|
|
220
|
+
* `requestDepthOcclusion` session feature so `cpu-optimized` depth is
|
|
221
|
+
* negotiated even without depth recording. **Live-AR only** — replay has no
|
|
222
|
+
* live depth stream, so this flag is a no-op there (persistent still applies).
|
|
223
|
+
* Default **false**: the live occluder's on-device occlusion quality is still
|
|
224
|
+
* device-gated/unverified. Read once when the AR session is wired (Enter-AR).
|
|
225
|
+
*/
|
|
226
|
+
liveOcclusion: boolean;
|
|
227
|
+
/**
|
|
228
|
+
* Which **visible debug skin(s)** render the persistent occluder mesh (see
|
|
229
|
+
* {@link OccluderDebugStyle}) so its shape/structure can be judged on-device.
|
|
230
|
+
* All styles are additive overlays — the invisible depth-only mesh keeps
|
|
231
|
+
* writing depth unchanged, so occlusion is identical in every style. Only has
|
|
232
|
+
* a visible effect when {@link persistentOcclusion} is on (it is that
|
|
233
|
+
* occluder's mesh); any other value is a harmless no-op. Default **`'off'`**.
|
|
234
|
+
* Read once when the mesh is wired (Enter-AR / replay load), like the other
|
|
235
|
+
* occupancy knobs. See
|
|
236
|
+
* `GpsPlusSlamJs_Docs/docs/2026-07-02-occluder-debug-viz-styles-plan.md` and
|
|
237
|
+
* `GpsPlusSlamJs_Docs/docs/2026-06-29-occlusion-debug-viz-and-live-occluder-user-feedback.md`.
|
|
238
|
+
*
|
|
239
|
+
* **Migration:** this field replaces the former `occluderDebugViz` boolean —
|
|
240
|
+
* `validateOccupancyOptions` maps a persisted `occluderDebugViz: true` onto
|
|
241
|
+
* `'matcap'` (the skin the boolean used to enable) when this field is absent,
|
|
242
|
+
* mirroring the `occlusionMeshEnabled` → {@link persistentOcclusion}
|
|
243
|
+
* migration.
|
|
244
|
+
*/
|
|
245
|
+
occluderDebugStyle: OccluderDebugStyle;
|
|
246
|
+
/**
|
|
247
|
+
* Which mesher builds the **persistent occluder** mesh (see
|
|
248
|
+
* {@link OccluderMeshMode}). Default `'smooth'` (since 2026-07-01) — Naive
|
|
249
|
+
* Surface Nets, the smoothest and lightest mesh. Switch to `'greedy'` (blocky
|
|
250
|
+
* cubes, watertight) or `'corner-fit'` (surface-hugging + watertight) if the
|
|
251
|
+
* smooth mesh's open concave seams leak occlusion in practice (combine with
|
|
252
|
+
* {@link occluderDebugStyle} to actually *see* the mesh shape). Only has an
|
|
253
|
+
* effect when {@link persistentOcclusion} is on. Read once when the mesh is
|
|
254
|
+
* wired (Enter-AR / replay load), like the other occupancy knobs. See
|
|
255
|
+
* `GpsPlusSlamJs_Docs/docs/2026-06-30-occluder-tuning-followups.md`.
|
|
256
|
+
*/
|
|
257
|
+
occluderMeshMode: OccluderMeshMode;
|
|
258
|
+
/**
|
|
259
|
+
* Camera-local window for the **persistent occluder** snapshot (Step 2 of
|
|
260
|
+
* the 2026-07-03 long-session fps plan): each re-mesh reads only the
|
|
261
|
+
* occupied cells within this many meters of the camera
|
|
262
|
+
* (`OccupancyGrid.getOccupiedCellsWithinFlat`), so snapshot/pack/mesh cost
|
|
263
|
+
* is bounded by the neighbourhood instead of the whole session. Default
|
|
264
|
+
* **25 m** — a 15 cm voxel at 25 m subtends ~0.3°, so occlusion errors
|
|
265
|
+
* beyond that are imperceptible. `0` = unbounded (the pre-Step-2
|
|
266
|
+
* behaviour, the safe fallback). The grid forgets nothing: walking back
|
|
267
|
+
* re-meshes far geometry from memory — exactly the persistent-grid intent.
|
|
268
|
+
* Only has an effect when {@link persistentOcclusion} is on. Read once at
|
|
269
|
+
* Enter-AR / replay load like the other occupancy knobs.
|
|
270
|
+
*/
|
|
271
|
+
occluderRadiusM: number;
|
|
152
272
|
}
|
|
153
273
|
/**
|
|
154
274
|
* Configuration for how captured frame tiles are DISPLAYED in AR (D7-resolution,
|
|
@@ -170,6 +290,17 @@ interface FrameTileDisplayOptions {
|
|
|
170
290
|
* `images.resolutionDivisor`.
|
|
171
291
|
*/
|
|
172
292
|
divisor: number;
|
|
293
|
+
/**
|
|
294
|
+
* FIFO cap on the **live** frame-tile planes (Step 4 of the 2026-07-03
|
|
295
|
+
* long-session fps plan): adding a tile over the cap removes + disposes the
|
|
296
|
+
* oldest, bounding draw calls / GPU texture memory / scene-graph size for
|
|
297
|
+
* arbitrarily long sessions while keeping the recent-path breadcrumb.
|
|
298
|
+
* `0` = unlimited. Default 100 (a ~5-min walk captures 112–145 frames, so
|
|
299
|
+
* the cap binds on real walks). **Live only** (2026-07-03 interview): in
|
|
300
|
+
* replay the tiles audit coverage of the full recorded path, so the replay
|
|
301
|
+
* wiring stays uncapped regardless of this value.
|
|
302
|
+
*/
|
|
303
|
+
maxTiles: number;
|
|
173
304
|
}
|
|
174
305
|
/**
|
|
175
306
|
* Visibility toggles for the live AR debug overlays (Finding B / DB-2 of
|
|
@@ -177,12 +308,15 @@ interface FrameTileDisplayOptions {
|
|
|
177
308
|
*
|
|
178
309
|
* These gate **only what is drawn live during recording** — they never change
|
|
179
310
|
* what is captured (frame blobs, depth samples, occupancy data, GPS events all
|
|
180
|
-
* continue regardless) and they never affect replay
|
|
181
|
-
* captured overlays is the whole point). Read once at
|
|
182
|
-
* mid-session applies on the next Enter-AR, not
|
|
311
|
+
* continue regardless) and, with one exception, they never affect replay
|
|
312
|
+
* (where reviewing the captured overlays is the whole point). Read once at
|
|
313
|
+
* Enter-AR: toggling mid-session applies on the next Enter-AR, not
|
|
314
|
+
* retroactively.
|
|
183
315
|
*
|
|
184
|
-
*
|
|
185
|
-
* still renders until the operator opts out.
|
|
316
|
+
* The debug overlays default ON, so the group is purely additive — every
|
|
317
|
+
* overlay still renders until the operator opts out. The exception on both
|
|
318
|
+
* counts is {@link VisualizationOptions.statsOverlay}: a perf-measurement tool
|
|
319
|
+
* that defaults OFF and, when on, also runs in replay (see its docs).
|
|
186
320
|
*/
|
|
187
321
|
interface VisualizationOptions {
|
|
188
322
|
/** Live frame-tile planes (`FrameTileVisualizer`). Default: true */
|
|
@@ -193,6 +327,24 @@ interface VisualizationOptions {
|
|
|
193
327
|
gpsAlignmentMarkers: boolean;
|
|
194
328
|
/** N/E/S/W compass orientation cubes (`createGpsCompassCubes`). Default: true */
|
|
195
329
|
compassCubes: boolean;
|
|
330
|
+
/**
|
|
331
|
+
* Rotate the live in-AR minimap so the user's view direction always points
|
|
332
|
+
* up/forward (heading-up) instead of fixed north-up. Unlike the other flags
|
|
333
|
+
* in this group this is a map-orientation preference, not a show/hide — but it
|
|
334
|
+
* shares their live-only semantics (read at Enter-AR, never affects replay).
|
|
335
|
+
* Default: true. See the 2026-06-29 heading-up plan.
|
|
336
|
+
*/
|
|
337
|
+
headingUpMap: boolean;
|
|
338
|
+
/**
|
|
339
|
+
* Performance stats overlay (Stats.js: FPS / frame ms / MB panels) for
|
|
340
|
+
* long-session fps attribution (2026-07-03 long-session fps plan §0).
|
|
341
|
+
* Two exceptions to this group's rules: it is a debug tool, so it defaults
|
|
342
|
+
* **OFF** (must not cost the default path), and unlike the live-only
|
|
343
|
+
* overlays it also runs in **replay** (frame time matters there too).
|
|
344
|
+
* In immersive AR it composites via the dom-overlay feature, so it is
|
|
345
|
+
* invisible when `arCrashIsolation.enableDomOverlay` is off.
|
|
346
|
+
*/
|
|
347
|
+
statsOverlay: boolean;
|
|
196
348
|
}
|
|
197
349
|
/**
|
|
198
350
|
* Configuration for live QR detection + RAW recording (decision §0 of the
|
|
@@ -264,7 +416,7 @@ declare const DEPTH_CONSTRAINTS: {
|
|
|
264
416
|
};
|
|
265
417
|
readonly gridSize: {
|
|
266
418
|
readonly min: 2;
|
|
267
|
-
readonly max:
|
|
419
|
+
readonly max: 64;
|
|
268
420
|
readonly step: 1;
|
|
269
421
|
};
|
|
270
422
|
};
|
|
@@ -370,6 +522,11 @@ declare const OCCUPANCY_CONSTRAINTS: {
|
|
|
370
522
|
readonly max: 10;
|
|
371
523
|
readonly step: 1;
|
|
372
524
|
};
|
|
525
|
+
readonly occluderRadiusM: {
|
|
526
|
+
readonly min: 0;
|
|
527
|
+
readonly max: 200;
|
|
528
|
+
readonly step: 5;
|
|
529
|
+
};
|
|
373
530
|
};
|
|
374
531
|
/**
|
|
375
532
|
* Validation constraints for the frame-tile display-resolution divisor.
|
|
@@ -385,6 +542,11 @@ declare const FRAME_TILE_DISPLAY_CONSTRAINTS: {
|
|
|
385
542
|
readonly max: 8;
|
|
386
543
|
readonly step: 1;
|
|
387
544
|
};
|
|
545
|
+
readonly maxTiles: {
|
|
546
|
+
readonly min: 0;
|
|
547
|
+
readonly max: 2000;
|
|
548
|
+
readonly step: 10;
|
|
549
|
+
};
|
|
388
550
|
};
|
|
389
551
|
/**
|
|
390
552
|
* Validation constraints for QR-capture options.
|
|
@@ -463,15 +625,6 @@ declare function validateQualityFilterOptions(options: Partial<QualityFilterConf
|
|
|
463
625
|
* Invalid values are clamped to valid ranges.
|
|
464
626
|
*/
|
|
465
627
|
declare function validateImageOptions(options: Partial<ImageCaptureOptions>): ImageCaptureOptions;
|
|
466
|
-
/**
|
|
467
|
-
* Validate and normalize occupancy options.
|
|
468
|
-
* Invalid values are clamped to valid ranges.
|
|
469
|
-
*
|
|
470
|
-
* Note the explicit `Number.isFinite` guard: `OccupancyGrid` throws a
|
|
471
|
-
* `RangeError` on a non-finite cell size, and `clamp(NaN, …)` would otherwise
|
|
472
|
-
* pass `NaN` straight through (it is `typeof 'number'`). Falling back to the
|
|
473
|
-
* default keeps a corrupted stored value from crashing grid construction.
|
|
474
|
-
*/
|
|
475
628
|
declare function validateOccupancyOptions(options: Partial<OccupancyOptions>): OccupancyOptions;
|
|
476
629
|
/**
|
|
477
630
|
* Validate and normalize frame-tile display options. `divisor` is clamped to
|
|
@@ -511,4 +664,4 @@ declare function resetRecordingOptions(storageKey?: string): RecordingOptions;
|
|
|
511
664
|
*/
|
|
512
665
|
declare function cloneRecordingOptions(options: RecordingOptions): RecordingOptions;
|
|
513
666
|
//#endregion
|
|
514
|
-
export {
|
|
667
|
+
export { validateImageOptions as A, loadRecordingOptions as C, validateCompassDebugOptions as D, validateArCrashIsolationOptions as E, validateRecordingOptions as F, validateVisualizationOptions as I, validateOccupancyOptions as M, validateQrOptions as N, validateDepthOptions as O, validateQualityFilterOptions as P, cloneRecordingOptions as S, saveRecordingOptions as T, QrCaptureOptions as _, DepthCaptureOptions as a, STORAGE_KEY as b, IMAGE_CONSTRAINTS as c, OCCUPANCY_CONSTRAINTS as d, OccluderDebugStyle as f, QUALITY_FILTER_CONSTRAINTS as g, QR_CONSTRAINTS as h, DEPTH_CONSTRAINTS as i, validateMotionFilterOptions as j, validateFrameTileDisplayOptions as k, ImageCaptureOptions as l, OccupancyOptions as m, CompassDebugOptions as n, FRAME_TILE_DISPLAY_CONSTRAINTS as o, OccluderMeshMode as p, DEFAULT_RECORDING_OPTIONS as r, FrameTileDisplayOptions as s, ArCrashIsolationOptions as t, MOTION_FILTER_CONSTRAINTS as u, RecordingOptions as v, resetRecordingOptions as w, VisualizationOptions as x, RecordingOptionsInput as y };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { N as CombinedRootState } from "./create-slam-app-store-
|
|
2
|
-
import { i as RecordedAction } from "./zip-reader-
|
|
1
|
+
import { N as CombinedRootState } from "./create-slam-app-store-D3nzh9Wb.js";
|
|
2
|
+
import { i as RecordedAction } from "./zip-reader-CvruaGvD.js";
|
|
3
3
|
|
|
4
4
|
//#region ../src/state/recording-replayer.d.ts
|
|
5
5
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { i as DepthSample } from "./ar-types-
|
|
2
|
-
import {
|
|
1
|
+
import { i as DepthSample } from "./ar-types-Cc5yvBwn.js";
|
|
2
|
+
import { v as RecordingOptions } from "./recording-options-vASCFzc5.js";
|
|
3
3
|
import * as _$_reduxjs_toolkit0 from "@reduxjs/toolkit";
|
|
4
4
|
|
|
5
5
|
//#region ../src/state/recording-slice.d.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as Css3dRendererManager } from "./css3d-renderer-manager-
|
|
2
|
-
import { t as CameraFollower } from "./camera-follower-
|
|
3
|
-
import { t as AlignmentLerper } from "./alignment-lerper-
|
|
1
|
+
import { t as Css3dRendererManager } from "./css3d-renderer-manager-CPpVtvgs.js";
|
|
2
|
+
import { t as CameraFollower } from "./camera-follower-DfBm2J5i.js";
|
|
3
|
+
import { t as AlignmentLerper } from "./alignment-lerper-gD70k7Fq.js";
|
|
4
4
|
import * as THREE from "three";
|
|
5
5
|
import { OrbitControls } from "three/addons/controls/OrbitControls.js";
|
|
6
6
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as startAbsoluteOrientationWatch, i as isAbsoluteOrientationAvailable, n as AbsoluteOrientationStatus, o as stopAbsoluteOrientationWatch, r as getLatestAbsoluteOrientation, t as AbsoluteOrientationReading } from "../absolute-orientation-
|
|
1
|
+
import { a as startAbsoluteOrientationWatch, i as isAbsoluteOrientationAvailable, n as AbsoluteOrientationStatus, o as stopAbsoluteOrientationWatch, r as getLatestAbsoluteOrientation, t as AbsoluteOrientationReading } from "../absolute-orientation-BAxc15J6.js";
|
|
2
2
|
export { AbsoluteOrientationReading, AbsoluteOrientationStatus, getLatestAbsoluteOrientation, isAbsoluteOrientationAvailable, startAbsoluteOrientationWatch, stopAbsoluteOrientationWatch };
|
|
@@ -45,11 +45,18 @@ function currentScreenAngleDeg() {
|
|
|
45
45
|
async function sensorPermissionsUsable() {
|
|
46
46
|
const permissions = navigator.permissions;
|
|
47
47
|
if (!permissions || typeof permissions.query !== "function") return true;
|
|
48
|
+
const queryState = async (name) => {
|
|
49
|
+
try {
|
|
50
|
+
return (await permissions.query({ name })).state;
|
|
51
|
+
} catch {
|
|
52
|
+
return "granted";
|
|
53
|
+
}
|
|
54
|
+
};
|
|
48
55
|
return (await Promise.all([
|
|
49
56
|
"accelerometer",
|
|
50
57
|
"gyroscope",
|
|
51
58
|
"magnetometer"
|
|
52
|
-
].map(
|
|
59
|
+
].map(queryState))).every((s) => s === "granted" || s === "prompt");
|
|
53
60
|
}
|
|
54
61
|
/**
|
|
55
62
|
* Start capturing absolute orientation. Idempotent (stops any prior watch first).
|
|
@@ -61,9 +68,16 @@ async function sensorPermissionsUsable() {
|
|
|
61
68
|
async function startAbsoluteOrientationWatch(onStatus = () => {}) {
|
|
62
69
|
stopAbsoluteOrientationWatch();
|
|
63
70
|
const myGeneration = watchGeneration;
|
|
71
|
+
const reportStatus = (status) => {
|
|
72
|
+
try {
|
|
73
|
+
onStatus(status);
|
|
74
|
+
} catch (err) {
|
|
75
|
+
log.error("onStatus callback threw; continuing", err);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
64
78
|
const Ctor = getSensorCtor();
|
|
65
79
|
if (!isAbsoluteOrientationAvailable() || Ctor === null) {
|
|
66
|
-
|
|
80
|
+
reportStatus({
|
|
67
81
|
state: "unavailable",
|
|
68
82
|
reason: "no AbsoluteOrientationSensor / insecure context"
|
|
69
83
|
});
|
|
@@ -71,7 +85,7 @@ async function startAbsoluteOrientationWatch(onStatus = () => {}) {
|
|
|
71
85
|
}
|
|
72
86
|
try {
|
|
73
87
|
if (!await sensorPermissionsUsable()) {
|
|
74
|
-
|
|
88
|
+
reportStatus({
|
|
75
89
|
state: "unavailable",
|
|
76
90
|
reason: "sensor permission denied"
|
|
77
91
|
});
|
|
@@ -84,6 +98,7 @@ async function startAbsoluteOrientationWatch(onStatus = () => {}) {
|
|
|
84
98
|
});
|
|
85
99
|
sensor = created;
|
|
86
100
|
created.addEventListener("reading", () => {
|
|
101
|
+
if (created !== sensor) return;
|
|
87
102
|
const q = created.quaternion;
|
|
88
103
|
if (!q || q.length < 4) return;
|
|
89
104
|
const x = q[0];
|
|
@@ -104,14 +119,16 @@ async function startAbsoluteOrientationWatch(onStatus = () => {}) {
|
|
|
104
119
|
};
|
|
105
120
|
});
|
|
106
121
|
created.addEventListener("activate", () => {
|
|
122
|
+
if (created !== sensor) return;
|
|
107
123
|
log.info("active");
|
|
108
|
-
|
|
124
|
+
reportStatus({ state: "active" });
|
|
109
125
|
});
|
|
110
126
|
created.addEventListener("error", (event) => {
|
|
127
|
+
if (created !== sensor) return;
|
|
111
128
|
latest = null;
|
|
112
129
|
const reason = event?.error?.name ?? "SensorError";
|
|
113
130
|
log.error("sensor error:", reason);
|
|
114
|
-
|
|
131
|
+
reportStatus({
|
|
115
132
|
state: "error",
|
|
116
133
|
reason
|
|
117
134
|
});
|
|
@@ -120,7 +137,7 @@ async function startAbsoluteOrientationWatch(onStatus = () => {}) {
|
|
|
120
137
|
} catch (err) {
|
|
121
138
|
sensor = null;
|
|
122
139
|
latest = null;
|
|
123
|
-
|
|
140
|
+
reportStatus({
|
|
124
141
|
state: "error",
|
|
125
142
|
reason: err?.name ?? String(err)
|
|
126
143
|
});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as getGpsErrorMessage, i as createGpsErrorHandler, n as GPS_ERROR_MESSAGES, r as GPS_ERROR_MESSAGE_UNKNOWN, t as GPS_ERROR_CODES } from "../gps-error-handler-
|
|
1
|
+
import { a as getGpsErrorMessage, i as createGpsErrorHandler, n as GPS_ERROR_MESSAGES, r as GPS_ERROR_MESSAGE_UNKNOWN, t as GPS_ERROR_CODES } from "../gps-error-handler-C34GQuTu.js";
|
|
2
2
|
export { GPS_ERROR_CODES, GPS_ERROR_MESSAGES, GPS_ERROR_MESSAGE_UNKNOWN, createGpsErrorHandler, getGpsErrorMessage };
|
package/dist/sensors/gps.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as startOrientationWatch, i as startGpsWatch, n as RawDeviceOrientation, o as stopGpsWatch, r as requestOrientationPermission, s as stopOrientationWatch, t as GpsPosition } from "../gps-
|
|
1
|
+
import { a as startOrientationWatch, i as startGpsWatch, n as RawDeviceOrientation, o as stopGpsWatch, r as requestOrientationPermission, s as stopOrientationWatch, t as GpsPosition } from "../gps-CDKDQokE.js";
|
|
2
2
|
export { GpsPosition, RawDeviceOrientation, requestOrientationPermission, startGpsWatch, startOrientationWatch, stopGpsWatch, stopOrientationWatch };
|
package/dist/sensors/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as startOrientationWatch, i as startGpsWatch, n as RawDeviceOrientation, o as stopGpsWatch, r as requestOrientationPermission, s as stopOrientationWatch, t as GpsPosition } from "../gps-
|
|
2
|
-
import { a as checkCameraPermission, c as checkOrientationPermission, d as requestCameraPermission, f as requestGeolocationPermission, g as setFileSystemState, h as resetFileSystemState, i as checkAllPermissions, l as checkWebXRSupport, m as requestWebXRWithDepthPermission, n as PermissionStatus, o as checkFileSystemPermission, p as requestOrientationPermission$1, s as checkGeolocationPermission, t as PermissionCheckResult, u as requestAllPermissions } from "../permission-checker-
|
|
3
|
-
import { a as startAbsoluteOrientationWatch, i as isAbsoluteOrientationAvailable, n as AbsoluteOrientationStatus, o as stopAbsoluteOrientationWatch, r as getLatestAbsoluteOrientation, t as AbsoluteOrientationReading } from "../absolute-orientation-
|
|
4
|
-
import { a as getGpsErrorMessage, i as createGpsErrorHandler, n as GPS_ERROR_MESSAGES, r as GPS_ERROR_MESSAGE_UNKNOWN, t as GPS_ERROR_CODES } from "../gps-error-handler-
|
|
1
|
+
import { a as startOrientationWatch, i as startGpsWatch, n as RawDeviceOrientation, o as stopGpsWatch, r as requestOrientationPermission, s as stopOrientationWatch, t as GpsPosition } from "../gps-CDKDQokE.js";
|
|
2
|
+
import { a as checkCameraPermission, c as checkOrientationPermission, d as requestCameraPermission, f as requestGeolocationPermission, g as setFileSystemState, h as resetFileSystemState, i as checkAllPermissions, l as checkWebXRSupport, m as requestWebXRWithDepthPermission, n as PermissionStatus, o as checkFileSystemPermission, p as requestOrientationPermission$1, s as checkGeolocationPermission, t as PermissionCheckResult, u as requestAllPermissions } from "../permission-checker-B-VtjnBA.js";
|
|
3
|
+
import { a as startAbsoluteOrientationWatch, i as isAbsoluteOrientationAvailable, n as AbsoluteOrientationStatus, o as stopAbsoluteOrientationWatch, r as getLatestAbsoluteOrientation, t as AbsoluteOrientationReading } from "../absolute-orientation-BAxc15J6.js";
|
|
4
|
+
import { a as getGpsErrorMessage, i as createGpsErrorHandler, n as GPS_ERROR_MESSAGES, r as GPS_ERROR_MESSAGE_UNKNOWN, t as GPS_ERROR_CODES } from "../gps-error-handler-C34GQuTu.js";
|
|
5
5
|
export { type AbsoluteOrientationReading, type AbsoluteOrientationStatus, GPS_ERROR_CODES, GPS_ERROR_MESSAGES, GPS_ERROR_MESSAGE_UNKNOWN, type GpsPosition, type PermissionCheckResult, type PermissionStatus, type RawDeviceOrientation, checkAllPermissions, checkCameraPermission, checkFileSystemPermission, checkGeolocationPermission, checkOrientationPermission, checkWebXRSupport, createGpsErrorHandler, getGpsErrorMessage, getLatestAbsoluteOrientation, isAbsoluteOrientationAvailable, requestAllPermissions, requestCameraPermission, requestOrientationPermission as requestDeviceOrientationPermission, requestGeolocationPermission, requestOrientationPermission$1 as requestOrientationPermission, requestWebXRWithDepthPermission, resetFileSystemState, setFileSystemState, startAbsoluteOrientationWatch, startGpsWatch, startOrientationWatch, stopAbsoluteOrientationWatch, stopGpsWatch, stopOrientationWatch };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { _ as subscribePermissionChanges, a as checkCameraPermission, c as checkOrientationPermission, d as requestCameraPermission, f as requestGeolocationPermission, g as setFileSystemState, h as resetFileSystemState, i as checkAllPermissions, l as checkWebXRSupport, m as requestWebXRWithDepthPermission, n as PermissionStatus, o as checkFileSystemPermission, p as requestOrientationPermission, r as PermissionSubscription, s as checkGeolocationPermission, t as PermissionCheckResult, u as requestAllPermissions } from "../permission-checker-
|
|
1
|
+
import { _ as subscribePermissionChanges, a as checkCameraPermission, c as checkOrientationPermission, d as requestCameraPermission, f as requestGeolocationPermission, g as setFileSystemState, h as resetFileSystemState, i as checkAllPermissions, l as checkWebXRSupport, m as requestWebXRWithDepthPermission, n as PermissionStatus, o as checkFileSystemPermission, p as requestOrientationPermission, r as PermissionSubscription, s as checkGeolocationPermission, t as PermissionCheckResult, u as requestAllPermissions } from "../permission-checker-B-VtjnBA.js";
|
|
2
2
|
export { PermissionCheckResult, PermissionStatus, PermissionSubscription, checkAllPermissions, checkCameraPermission, checkFileSystemPermission, checkGeolocationPermission, checkOrientationPermission, checkWebXRSupport, requestAllPermissions, requestCameraPermission, requestGeolocationPermission, requestOrientationPermission, requestWebXRWithDepthPermission, resetFileSystemState, setFileSystemState, subscribePermissionChanges };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as selectOdometryRotations, i as selectOdometryPositions, n as selectFrameTilesInWebXR, o as selectZeroReference, r as selectGpsPositions, t as selectAlignmentMatrix } from "../app-selectors-
|
|
1
|
+
import { a as selectOdometryRotations, i as selectOdometryPositions, n as selectFrameTilesInWebXR, o as selectZeroReference, r as selectGpsPositions, t as selectAlignmentMatrix } from "../app-selectors-JqydaUMN.js";
|
|
2
2
|
export { selectAlignmentMatrix, selectFrameTilesInWebXR, selectGpsPositions, selectOdometryPositions, selectOdometryRotations, selectZeroReference };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { N as CombinedRootState } from "../create-slam-app-store-
|
|
1
|
+
import { N as CombinedRootState } from "../create-slam-app-store-D3nzh9Wb.js";
|
|
2
2
|
export { CombinedRootState };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as SlamAppStoreOptions, i as SlamAppStore, n as SlamAppMiddleware, o as createSlamAppStore, r as SlamAppRootState, t as SlamAppCombinedState } from "../create-slam-app-store-
|
|
1
|
+
import { a as SlamAppStoreOptions, i as SlamAppStore, n as SlamAppMiddleware, o as createSlamAppStore, r as SlamAppRootState, t as SlamAppCombinedState } from "../create-slam-app-store-D3nzh9Wb.js";
|
|
2
2
|
export { SlamAppCombinedState, SlamAppMiddleware, SlamAppRootState, SlamAppStore, SlamAppStoreOptions, createSlamAppStore };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as createSlamAppStore } from "../create-slam-app-store-
|
|
1
|
+
import { t as createSlamAppStore } from "../create-slam-app-store-DXiAnJwR.js";
|
|
2
2
|
export { createSlamAppStore };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as ARPose } from "../ar-types-
|
|
2
|
-
import { o as extractOdomPosition, s as extractOdomRotation } from "../gps-event-coordinator-
|
|
3
|
-
import { i as captureGpsAnchorSample, n as GpsAnchorSample, r as GpsAnchorSampleGpsPoint, t as CaptureGpsAnchorSampleOptions } from "../gps-ar-pose-sampler-
|
|
1
|
+
import { t as ARPose } from "../ar-types-Cc5yvBwn.js";
|
|
2
|
+
import { o as extractOdomPosition, s as extractOdomRotation } from "../gps-event-coordinator-CHtIkhb7.js";
|
|
3
|
+
import { i as captureGpsAnchorSample, n as GpsAnchorSample, r as GpsAnchorSampleGpsPoint, t as CaptureGpsAnchorSampleOptions } from "../gps-ar-pose-sampler-DEGNk2CI.js";
|
|
4
4
|
export { ARPose, CaptureGpsAnchorSampleOptions, GpsAnchorSample, GpsAnchorSampleGpsPoint, captureGpsAnchorSample, extractOdomPosition, extractOdomRotation };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as eulerToQuaternion, c as getLastDeviceOrientation, d as updateDeviceOrientation, i as createGpsPositionHandler, l as resetCoordinatorState, n as buildRawGpsPoint, o as extractOdomPosition, r as buildRecordGpsEventPayload, s as extractOdomRotation, t as RecordingCoordinatorConfig, u as toRawAbsoluteOrientation } from "../gps-event-coordinator-
|
|
1
|
+
import { a as eulerToQuaternion, c as getLastDeviceOrientation, d as updateDeviceOrientation, i as createGpsPositionHandler, l as resetCoordinatorState, n as buildRawGpsPoint, o as extractOdomPosition, r as buildRecordGpsEventPayload, s as extractOdomRotation, t as RecordingCoordinatorConfig, u as toRawAbsoluteOrientation } from "../gps-event-coordinator-CHtIkhb7.js";
|
|
2
2
|
export { RecordingCoordinatorConfig, buildRawGpsPoint, buildRecordGpsEventPayload, createGpsPositionHandler, eulerToQuaternion, extractOdomPosition, extractOdomRotation, getLastDeviceOrientation, resetCoordinatorState, toRawAbsoluteOrientation, updateDeviceOrientation };
|
package/dist/state/index.d.ts
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { i as DepthSample, r as DepthPoint } from "../ar-types-
|
|
2
|
-
import {
|
|
3
|
-
import { a as TrackingSliceState, c as poseLost, d as selectLastRestartedPayload, f as selectLastSensorOrientation, g as trackingReducer, h as selectTrackingPhase, i as TrackingPhase, l as poseReceived, m as selectLostFrameCount, n as PoseReceivedPayload, o as clearLastRestartedPayload, p as selectLastValidPose, r as ResetTransformData, s as originReset, t as DeviceOrientation, u as resetTracking } from "../tracking-slice-
|
|
4
|
-
import { d as QrSizeStatus, l as QrSizeEstimate } from "../qr-size-measurer-
|
|
5
|
-
import { a as QrPoseStability, o as QrPoseStabilityOptions, s as QrPoseStabilityStatus } from "../qr-pose-aggregation-
|
|
6
|
-
import { a as recordWriteFailure, i as recordDepthSample, n as SessionMetadata$1, o as recordingReducer, r as endSession, s as startSession, t as RecordingState } from "../recording-slice-
|
|
7
|
-
import { C as setQrMaxHistory, S as selectStableQrPose, _ as selectQrPoseStability, a as RootWithQrDetected, b as selectResolvedQrSizeM, c as medianQrPosition, d as recordQrDetection, f as recordQrSizeEstimate, g as selectQrMarkers, h as selectQrMarker, i as QrMarkerState, l as pruneQrDetections, m as selectLatestQrDetection, n as QrDetectedState, o as clearAllQrMarkers, p as selectDerivedQrPlacement, r as QrDetectionEntry, s as clearQrMarker, t as DEFAULT_QR_MAX_HISTORY, u as qrDetectedReducer, v as selectQrRawObservations, x as selectSolvedQrPose, y as selectQrSize } from "../qr-detected-slice-
|
|
8
|
-
import { n as SessionMetadata } from "../opfs-storage-
|
|
9
|
-
import { n as StorageBackend } from "../storage-backend-
|
|
10
|
-
import { A as snapshotPushed, C as createTrackingQualityListenerMiddleware, D as resetTrackingQuality, E as reportUpdated, M as trackingQualityReducer, O as selectRecentAlignments, S as computeTrackingQualityReport, T as matrixDelta, _ as computeConvergence, a as SlamAppStoreOptions, b as computeGpsVsFusedDivergence, g as TrackingQualityState, h as TrackingQualitySliceState, i as SlamAppStore, j as snapshotsTrimmed, k as selectTrackingQuality, m as TrackingQualityReport, n as SlamAppMiddleware, o as createSlamAppStore, p as TrackingQualityOptions, r as SlamAppRootState, s as AlignmentSnapshot, t as SlamAppCombinedState, u as DEFAULT_TRACKING_QUALITY_OPTIONS, v as computeCoverage, w as degradedCountUpdated, x as computeResidualConsensus, y as computeGpsAccuracy } from "../create-slam-app-store-
|
|
11
|
-
import { a as eulerToQuaternion, c as getLastDeviceOrientation, d as updateDeviceOrientation, i as createGpsPositionHandler, l as resetCoordinatorState, n as buildRawGpsPoint, o as extractOdomPosition, r as buildRecordGpsEventPayload, s as extractOdomRotation, t as RecordingCoordinatorConfig } from "../gps-event-coordinator-
|
|
12
|
-
import { i as captureGpsAnchorSample, n as GpsAnchorSample, r as GpsAnchorSampleGpsPoint, t as CaptureGpsAnchorSampleOptions } from "../gps-ar-pose-sampler-
|
|
13
|
-
import { n as replayRecording, t as ReplayRecordingOptions } from "../recording-replayer-
|
|
14
|
-
import { n as createPersistenceMiddleware, r as slicePrefixOf, t as PersistenceMiddlewareOptions } from "../persistence-middleware-
|
|
15
|
-
import { a as ReplayAction, c as computeInterActionDelay, i as ProgressCallback, l as extractActionTimestamp, n as DEFAULT_MAX_DELAY_MS, o as ReplayEngine, r as ErrorCallback, s as ReplayState, t as CompleteCallback } from "../replay-engine-
|
|
16
|
-
import { n as subscribeToSelector, t as SubscribableStore } from "../subscribe-to-selector-
|
|
17
|
-
import { n as wireStoreSubscribers, t as StoreSubscriberDeps } from "../store-subscribers-
|
|
18
|
-
import { a as selectOdometryRotations, i as selectOdometryPositions, n as selectFrameTilesInWebXR, o as selectZeroReference, r as selectGpsPositions, t as selectAlignmentMatrix } from "../app-selectors-
|
|
19
|
-
import { a as RawGpsPoint, c as calcRelativeCoordsInMeters, d as OnboardingGuidance, f as OnboardingPhase, i as RawDeviceOrientation, l as recordGpsEvent, m as selectOnboardingGuidance, n as GpsPoint, o as RecordGpsEventPayload, p as computeOnboardingGuidance, r as LatLong, s as add2dImage, t as Add2dImagePayload, u as setZeroPos } from "../index-
|
|
1
|
+
import { i as DepthSample, r as DepthPoint } from "../ar-types-Cc5yvBwn.js";
|
|
2
|
+
import { A as validateImageOptions, C as loadRecordingOptions, F as validateRecordingOptions, O as validateDepthOptions, S as cloneRecordingOptions, T as saveRecordingOptions, a as DepthCaptureOptions, b as STORAGE_KEY, c as IMAGE_CONSTRAINTS, i as DEPTH_CONSTRAINTS, l as ImageCaptureOptions, r as DEFAULT_RECORDING_OPTIONS, w as resetRecordingOptions, y as RecordingOptionsInput } from "../recording-options-vASCFzc5.js";
|
|
3
|
+
import { a as TrackingSliceState, c as poseLost, d as selectLastRestartedPayload, f as selectLastSensorOrientation, g as trackingReducer, h as selectTrackingPhase, i as TrackingPhase, l as poseReceived, m as selectLostFrameCount, n as PoseReceivedPayload, o as clearLastRestartedPayload, p as selectLastValidPose, r as ResetTransformData, s as originReset, t as DeviceOrientation, u as resetTracking } from "../tracking-slice-DMkHlbny.js";
|
|
4
|
+
import { d as QrSizeStatus, l as QrSizeEstimate } from "../qr-size-measurer-DxiMqRUw.js";
|
|
5
|
+
import { a as QrPoseStability, o as QrPoseStabilityOptions, s as QrPoseStabilityStatus } from "../qr-pose-aggregation-CypnmjA-.js";
|
|
6
|
+
import { a as recordWriteFailure, i as recordDepthSample, n as SessionMetadata$1, o as recordingReducer, r as endSession, s as startSession, t as RecordingState } from "../recording-slice-DTUtSVgd.js";
|
|
7
|
+
import { C as setQrMaxHistory, S as selectStableQrPose, _ as selectQrPoseStability, a as RootWithQrDetected, b as selectResolvedQrSizeM, c as medianQrPosition, d as recordQrDetection, f as recordQrSizeEstimate, g as selectQrMarkers, h as selectQrMarker, i as QrMarkerState, l as pruneQrDetections, m as selectLatestQrDetection, n as QrDetectedState, o as clearAllQrMarkers, p as selectDerivedQrPlacement, r as QrDetectionEntry, s as clearQrMarker, t as DEFAULT_QR_MAX_HISTORY, u as qrDetectedReducer, v as selectQrRawObservations, x as selectSolvedQrPose, y as selectQrSize } from "../qr-detected-slice-TzVb8bij.js";
|
|
8
|
+
import { n as SessionMetadata } from "../opfs-storage-CTkxvxN4.js";
|
|
9
|
+
import { n as StorageBackend } from "../storage-backend-sEtmM4yW.js";
|
|
10
|
+
import { A as snapshotPushed, C as createTrackingQualityListenerMiddleware, D as resetTrackingQuality, E as reportUpdated, M as trackingQualityReducer, O as selectRecentAlignments, S as computeTrackingQualityReport, T as matrixDelta, _ as computeConvergence, a as SlamAppStoreOptions, b as computeGpsVsFusedDivergence, g as TrackingQualityState, h as TrackingQualitySliceState, i as SlamAppStore, j as snapshotsTrimmed, k as selectTrackingQuality, m as TrackingQualityReport, n as SlamAppMiddleware, o as createSlamAppStore, p as TrackingQualityOptions, r as SlamAppRootState, s as AlignmentSnapshot, t as SlamAppCombinedState, u as DEFAULT_TRACKING_QUALITY_OPTIONS, v as computeCoverage, w as degradedCountUpdated, x as computeResidualConsensus, y as computeGpsAccuracy } from "../create-slam-app-store-D3nzh9Wb.js";
|
|
11
|
+
import { a as eulerToQuaternion, c as getLastDeviceOrientation, d as updateDeviceOrientation, i as createGpsPositionHandler, l as resetCoordinatorState, n as buildRawGpsPoint, o as extractOdomPosition, r as buildRecordGpsEventPayload, s as extractOdomRotation, t as RecordingCoordinatorConfig } from "../gps-event-coordinator-CHtIkhb7.js";
|
|
12
|
+
import { i as captureGpsAnchorSample, n as GpsAnchorSample, r as GpsAnchorSampleGpsPoint, t as CaptureGpsAnchorSampleOptions } from "../gps-ar-pose-sampler-DEGNk2CI.js";
|
|
13
|
+
import { n as replayRecording, t as ReplayRecordingOptions } from "../recording-replayer-D0V9WkmY.js";
|
|
14
|
+
import { n as createPersistenceMiddleware, r as slicePrefixOf, t as PersistenceMiddlewareOptions } from "../persistence-middleware-CG-t08X4.js";
|
|
15
|
+
import { a as ReplayAction, c as computeInterActionDelay, i as ProgressCallback, l as extractActionTimestamp, n as DEFAULT_MAX_DELAY_MS, o as ReplayEngine, r as ErrorCallback, s as ReplayState, t as CompleteCallback } from "../replay-engine-xdrUgWJi.js";
|
|
16
|
+
import { n as subscribeToSelector, t as SubscribableStore } from "../subscribe-to-selector-B9ylM5Oh.js";
|
|
17
|
+
import { n as wireStoreSubscribers, t as StoreSubscriberDeps } from "../store-subscribers-DScA7tdT.js";
|
|
18
|
+
import { a as selectOdometryRotations, i as selectOdometryPositions, n as selectFrameTilesInWebXR, o as selectZeroReference, r as selectGpsPositions, t as selectAlignmentMatrix } from "../app-selectors-JqydaUMN.js";
|
|
19
|
+
import { a as RawGpsPoint, c as calcRelativeCoordsInMeters, d as OnboardingGuidance, f as OnboardingPhase, i as RawDeviceOrientation, l as recordGpsEvent, m as selectOnboardingGuidance, n as GpsPoint, o as RecordGpsEventPayload, p as computeOnboardingGuidance, r as LatLong, s as add2dImage, t as Add2dImagePayload, u as setZeroPos } from "../index-DlsOo2IB.js";
|
|
20
20
|
export { Add2dImagePayload, AlignmentSnapshot, CaptureGpsAnchorSampleOptions, CompleteCallback, DEFAULT_MAX_DELAY_MS, DEFAULT_QR_MAX_HISTORY, DEFAULT_RECORDING_OPTIONS, DEFAULT_TRACKING_QUALITY_OPTIONS, DEPTH_CONSTRAINTS, DepthCaptureOptions, DepthPoint, DepthSample, DeviceOrientation, ErrorCallback, GpsAnchorSample, GpsAnchorSampleGpsPoint, GpsPoint, IMAGE_CONSTRAINTS, ImageCaptureOptions, LatLong, OnboardingGuidance, OnboardingPhase, SessionMetadata as OpfsSessionMetadata, PersistenceMiddlewareOptions, PoseReceivedPayload, ProgressCallback, QrDetectedState, QrDetectionEntry, QrMarkerState, QrPoseStability, QrPoseStabilityOptions, QrPoseStabilityStatus, QrSizeEstimate, QrSizeStatus, RawDeviceOrientation, RawGpsPoint, RecordGpsEventPayload, RecordingCoordinatorConfig, RecordingOptionsInput, RecordingState, ReplayAction, ReplayEngine, ReplayRecordingOptions, ReplayState, ResetTransformData, RootWithQrDetected, STORAGE_KEY, SessionMetadata$1 as SessionMetadata, SlamAppCombinedState, SlamAppMiddleware, SlamAppRootState, SlamAppStore, SlamAppStoreOptions, StorageBackend, StoreSubscriberDeps, SubscribableStore, TrackingPhase, TrackingQualityOptions, TrackingQualityReport, TrackingQualitySliceState, TrackingQualityState, TrackingSliceState, add2dImage, buildRawGpsPoint, buildRecordGpsEventPayload, calcRelativeCoordsInMeters, captureGpsAnchorSample, clearAllQrMarkers, clearLastRestartedPayload, clearQrMarker, cloneRecordingOptions, computeConvergence, computeCoverage, computeGpsAccuracy, computeGpsVsFusedDivergence, computeInterActionDelay, computeOnboardingGuidance, computeResidualConsensus, computeTrackingQualityReport, createGpsPositionHandler, createPersistenceMiddleware, createSlamAppStore, createTrackingQualityListenerMiddleware, degradedCountUpdated, endSession, eulerToQuaternion, extractActionTimestamp, extractOdomPosition, extractOdomRotation, getLastDeviceOrientation, loadRecordingOptions, matrixDelta, medianQrPosition, originReset, poseLost, poseReceived, pruneQrDetections, qrDetectedReducer, recordDepthSample, recordGpsEvent, recordQrDetection, recordQrSizeEstimate, recordWriteFailure, recordingReducer, replayRecording, reportUpdated, resetCoordinatorState, resetRecordingOptions, resetTracking, resetTrackingQuality, saveRecordingOptions, selectAlignmentMatrix, selectDerivedQrPlacement, selectFrameTilesInWebXR, selectGpsPositions, selectLastRestartedPayload, selectLastSensorOrientation, selectLastValidPose, selectLatestQrDetection, selectLostFrameCount, selectOdometryPositions, selectOdometryRotations, selectOnboardingGuidance, selectQrMarker, selectQrMarkers, selectQrPoseStability, selectQrRawObservations, selectQrSize, selectRecentAlignments, selectResolvedQrSizeM, selectSolvedQrPose, selectStableQrPose, selectTrackingPhase, selectTrackingQuality, selectZeroReference, setQrMaxHistory, setZeroPos, slicePrefixOf, snapshotPushed, snapshotsTrimmed, startSession, subscribeToSelector, trackingQualityReducer, trackingReducer, updateDeviceOrientation, validateDepthOptions, validateImageOptions, validateRecordingOptions, wireStoreSubscribers };
|
package/dist/state/index.js
CHANGED
|
@@ -7,10 +7,10 @@ import { captureGpsAnchorSample } from "./gps-ar-pose-sampler.js";
|
|
|
7
7
|
import { selectAlignmentMatrix, selectFrameTilesInWebXR, selectGpsPositions, selectOdometryPositions, selectOdometryRotations, selectZeroReference } from "./app-selectors.js";
|
|
8
8
|
import { DEFAULT_TRACKING_QUALITY_OPTIONS, computeConvergence, computeCoverage, computeGpsAccuracy, computeGpsVsFusedDivergence, computeResidualConsensus, computeTrackingQualityReport, createTrackingQualityListenerMiddleware, degradedCountUpdated, matrixDelta, reportUpdated, resetTrackingQuality, selectRecentAlignments, selectTrackingQuality, snapshotPushed, snapshotsTrimmed, trackingQualityReducer } from "./tracking-quality.js";
|
|
9
9
|
import { createPersistenceMiddleware, slicePrefixOf } from "./persistence-middleware.js";
|
|
10
|
-
import { t as createSlamAppStore } from "../create-slam-app-store-
|
|
10
|
+
import { t as createSlamAppStore } from "../create-slam-app-store-DXiAnJwR.js";
|
|
11
11
|
import { replayRecording } from "./recording-replayer.js";
|
|
12
12
|
import { DEFAULT_MAX_DELAY_MS, ReplayEngine, computeInterActionDelay, extractActionTimestamp } from "./replay-engine.js";
|
|
13
13
|
import { subscribeToSelector } from "./subscribe-to-selector.js";
|
|
14
14
|
import { wireStoreSubscribers } from "./store-subscribers.js";
|
|
15
|
-
import { a as computeOnboardingGuidance, i as setZeroPos, n as calcRelativeCoordsInMeters, o as selectOnboardingGuidance, r as recordGpsEvent, t as add2dImage } from "../state-
|
|
15
|
+
import { a as computeOnboardingGuidance, i as setZeroPos, n as calcRelativeCoordsInMeters, o as selectOnboardingGuidance, r as recordGpsEvent, t as add2dImage } from "../state-BeKvn4B-.js";
|
|
16
16
|
export { DEFAULT_MAX_DELAY_MS, DEFAULT_QR_MAX_HISTORY, DEFAULT_RECORDING_OPTIONS, DEFAULT_TRACKING_QUALITY_OPTIONS, DEPTH_CONSTRAINTS, IMAGE_CONSTRAINTS, ReplayEngine, STORAGE_KEY, add2dImage, buildRawGpsPoint, buildRecordGpsEventPayload, calcRelativeCoordsInMeters, captureGpsAnchorSample, clearAllQrMarkers, clearLastRestartedPayload, clearQrMarker, cloneRecordingOptions, computeConvergence, computeCoverage, computeGpsAccuracy, computeGpsVsFusedDivergence, computeInterActionDelay, computeOnboardingGuidance, computeResidualConsensus, computeTrackingQualityReport, createGpsPositionHandler, createPersistenceMiddleware, createSlamAppStore, createTrackingQualityListenerMiddleware, degradedCountUpdated, endSession, eulerToQuaternion, extractActionTimestamp, extractOdomPosition, extractOdomRotation, getLastDeviceOrientation, loadRecordingOptions, matrixDelta, medianQrPosition, originReset, poseLost, poseReceived, pruneQrDetections, qrDetectedReducer, recordDepthSample, recordGpsEvent, recordQrDetection, recordQrSizeEstimate, recordWriteFailure, recordingReducer, replayRecording, reportUpdated, resetCoordinatorState, resetRecordingOptions, resetTracking, resetTrackingQuality, saveRecordingOptions, selectAlignmentMatrix, selectDerivedQrPlacement, selectFrameTilesInWebXR, selectGpsPositions, selectLastRestartedPayload, selectLastSensorOrientation, selectLastValidPose, selectLatestQrDetection, selectLostFrameCount, selectOdometryPositions, selectOdometryRotations, selectOnboardingGuidance, selectQrMarker, selectQrMarkers, selectQrPoseStability, selectQrRawObservations, selectQrSize, selectRecentAlignments, selectResolvedQrSizeM, selectSolvedQrPose, selectStableQrPose, selectTrackingPhase, selectTrackingQuality, selectZeroReference, setQrMaxHistory, setZeroPos, slicePrefixOf, snapshotPushed, snapshotsTrimmed, startSession, subscribeToSelector, trackingQualityReducer, trackingReducer, updateDeviceOrientation, validateDepthOptions, validateImageOptions, validateRecordingOptions, wireStoreSubscribers };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as createPersistenceMiddleware, r as slicePrefixOf, t as PersistenceMiddlewareOptions } from "../persistence-middleware-
|
|
1
|
+
import { n as createPersistenceMiddleware, r as slicePrefixOf, t as PersistenceMiddlewareOptions } from "../persistence-middleware-CG-t08X4.js";
|
|
2
2
|
export { PersistenceMiddlewareOptions, createPersistenceMiddleware, slicePrefixOf };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as QrSizeStatus, l as QrSizeEstimate } from "../qr-size-measurer-
|
|
2
|
-
import { a as QrPoseStability, o as QrPoseStabilityOptions, s as QrPoseStabilityStatus } from "../qr-pose-aggregation-
|
|
3
|
-
import { C as setQrMaxHistory, S as selectStableQrPose, _ as selectQrPoseStability, a as RootWithQrDetected, b as selectResolvedQrSizeM, c as medianQrPosition, d as recordQrDetection, f as recordQrSizeEstimate, g as selectQrMarkers, h as selectQrMarker, i as QrMarkerState, l as pruneQrDetections, m as selectLatestQrDetection, n as QrDetectedState, o as clearAllQrMarkers, p as selectDerivedQrPlacement, r as QrDetectionEntry, s as clearQrMarker, t as DEFAULT_QR_MAX_HISTORY, u as qrDetectedReducer, v as selectQrRawObservations, x as selectSolvedQrPose, y as selectQrSize } from "../qr-detected-slice-
|
|
1
|
+
import { d as QrSizeStatus, l as QrSizeEstimate } from "../qr-size-measurer-DxiMqRUw.js";
|
|
2
|
+
import { a as QrPoseStability, o as QrPoseStabilityOptions, s as QrPoseStabilityStatus } from "../qr-pose-aggregation-CypnmjA-.js";
|
|
3
|
+
import { C as setQrMaxHistory, S as selectStableQrPose, _ as selectQrPoseStability, a as RootWithQrDetected, b as selectResolvedQrSizeM, c as medianQrPosition, d as recordQrDetection, f as recordQrSizeEstimate, g as selectQrMarkers, h as selectQrMarker, i as QrMarkerState, l as pruneQrDetections, m as selectLatestQrDetection, n as QrDetectedState, o as clearAllQrMarkers, p as selectDerivedQrPlacement, r as QrDetectionEntry, s as clearQrMarker, t as DEFAULT_QR_MAX_HISTORY, u as qrDetectedReducer, v as selectQrRawObservations, x as selectSolvedQrPose, y as selectQrSize } from "../qr-detected-slice-TzVb8bij.js";
|
|
4
4
|
export { DEFAULT_QR_MAX_HISTORY, QrDetectedState, QrDetectionEntry, QrMarkerState, QrPoseStability, QrPoseStabilityOptions, QrPoseStabilityStatus, QrSizeEstimate, QrSizeStatus, RootWithQrDetected, clearAllQrMarkers, clearQrMarker, medianQrPosition, pruneQrDetections, qrDetectedReducer, recordQrDetection, recordQrSizeEstimate, selectDerivedQrPlacement, selectLatestQrDetection, selectQrMarker, selectQrMarkers, selectQrPoseStability, selectQrRawObservations, selectQrSize, selectResolvedQrSizeM, selectSolvedQrPose, selectStableQrPose, setQrMaxHistory };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as
|
|
2
|
-
export { ArCrashIsolationOptions, CompassDebugOptions, DEFAULT_RECORDING_OPTIONS, DEPTH_CONSTRAINTS, DepthCaptureOptions, FRAME_TILE_DISPLAY_CONSTRAINTS, FrameTileDisplayOptions, IMAGE_CONSTRAINTS, ImageCaptureOptions, MOTION_FILTER_CONSTRAINTS, OCCUPANCY_CONSTRAINTS, OccupancyOptions, QR_CONSTRAINTS, QUALITY_FILTER_CONSTRAINTS, QrCaptureOptions, RecordingOptions, RecordingOptionsInput, STORAGE_KEY, VisualizationOptions, cloneRecordingOptions, loadRecordingOptions, resetRecordingOptions, saveRecordingOptions, validateArCrashIsolationOptions, validateCompassDebugOptions, validateDepthOptions, validateFrameTileDisplayOptions, validateImageOptions, validateMotionFilterOptions, validateOccupancyOptions, validateQrOptions, validateQualityFilterOptions, validateRecordingOptions, validateVisualizationOptions };
|
|
1
|
+
import { A as validateImageOptions, C as loadRecordingOptions, D as validateCompassDebugOptions, E as validateArCrashIsolationOptions, F as validateRecordingOptions, I as validateVisualizationOptions, M as validateOccupancyOptions, N as validateQrOptions, O as validateDepthOptions, P as validateQualityFilterOptions, S as cloneRecordingOptions, T as saveRecordingOptions, _ as QrCaptureOptions, a as DepthCaptureOptions, b as STORAGE_KEY, c as IMAGE_CONSTRAINTS, d as OCCUPANCY_CONSTRAINTS, f as OccluderDebugStyle, g as QUALITY_FILTER_CONSTRAINTS, h as QR_CONSTRAINTS, i as DEPTH_CONSTRAINTS, j as validateMotionFilterOptions, k as validateFrameTileDisplayOptions, l as ImageCaptureOptions, m as OccupancyOptions, n as CompassDebugOptions, o as FRAME_TILE_DISPLAY_CONSTRAINTS, p as OccluderMeshMode, r as DEFAULT_RECORDING_OPTIONS, s as FrameTileDisplayOptions, t as ArCrashIsolationOptions, u as MOTION_FILTER_CONSTRAINTS, v as RecordingOptions, w as resetRecordingOptions, x as VisualizationOptions, y as RecordingOptionsInput } from "../recording-options-vASCFzc5.js";
|
|
2
|
+
export { ArCrashIsolationOptions, CompassDebugOptions, DEFAULT_RECORDING_OPTIONS, DEPTH_CONSTRAINTS, DepthCaptureOptions, FRAME_TILE_DISPLAY_CONSTRAINTS, FrameTileDisplayOptions, IMAGE_CONSTRAINTS, ImageCaptureOptions, MOTION_FILTER_CONSTRAINTS, OCCUPANCY_CONSTRAINTS, OccluderDebugStyle, OccluderMeshMode, OccupancyOptions, QR_CONSTRAINTS, QUALITY_FILTER_CONSTRAINTS, QrCaptureOptions, RecordingOptions, RecordingOptionsInput, STORAGE_KEY, VisualizationOptions, cloneRecordingOptions, loadRecordingOptions, resetRecordingOptions, saveRecordingOptions, validateArCrashIsolationOptions, validateCompassDebugOptions, validateDepthOptions, validateFrameTileDisplayOptions, validateImageOptions, validateMotionFilterOptions, validateOccupancyOptions, validateQrOptions, validateQualityFilterOptions, validateRecordingOptions, validateVisualizationOptions };
|