gps-plus-slam-app-framework 1.10.0 → 1.13.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/README.md +27 -28
- package/dist/{absolute-orientation-C_IxDR_j.d.ts → absolute-orientation-0WIsqJnu.d.ts} +1 -1
- package/dist/{accuracy-circles-BE7tbvYV.d.ts → accuracy-circles-CFnKGfsD.d.ts} +1 -1
- package/dist/{app-selectors-CV7ggGoo.d.ts → app-selectors-QM0ZpNA4.d.ts} +1 -1
- package/dist/ar/ar-crash-isolation.d.ts +2 -0
- package/dist/ar/ar-crash-isolation.js +40 -0
- 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/capture-motion-gate.d.ts +2 -0
- package/dist/{capture-motion-gate-D1eyGC_o.js → ar/capture-motion-gate.js} +25 -2
- package/dist/ar/chromium-camera-access-workaround.d.ts +1 -1
- package/dist/ar/chromium-camera-access-workaround.js +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-occluder.js +1 -1
- package/dist/ar/depth-sampler.d.ts +3 -3
- package/dist/ar/depth-sampler.js +28 -1
- 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 +20 -5
- package/dist/ar/frame-loop.d.ts +1 -1
- package/dist/ar/hit-test-reticle-driver.d.ts +2 -0
- package/dist/ar/hit-test-reticle-driver.js +122 -0
- package/dist/ar/image-capture.d.ts +1 -1
- package/dist/ar/image-capture.js +1 -1
- package/dist/ar/image-quality.d.ts +2 -2
- package/dist/ar/image-quality.js +136 -4
- package/dist/ar/index.d.ts +35 -32
- package/dist/ar/index.js +17 -15
- package/dist/ar/occlusion-mesh-worker.d.ts +2 -2
- package/dist/ar/occlusion-mesh-worker.js +6 -4
- package/dist/ar/occupancy-grid.d.ts +2 -2
- package/dist/ar/occupancy-grid.js +192 -12
- package/dist/ar/occupancy-mesher.d.ts +1 -1
- package/dist/ar/occupancy-mesher.js +1 -636
- package/dist/ar/qr/index.d.ts +11 -0
- package/dist/ar/qr/index.js +11 -0
- package/dist/ar/{planar-pnp.d.ts → qr/planar-pnp.d.ts} +1 -1
- package/dist/ar/{planar-pnp.js → qr/planar-pnp.js} +1 -1
- package/dist/ar/qr/qr-debug-view.d.ts +2 -0
- package/dist/ar/{qr-debug-view.js → qr/qr-debug-view.js} +2 -2
- package/dist/ar/{qr-derived-pose.d.ts → qr/qr-derived-pose.d.ts} +1 -1
- package/dist/ar/{qr-derived-pose.js → qr/qr-derived-pose.js} +2 -2
- package/dist/ar/{qr-detection-controller.d.ts → qr/qr-detection-controller.d.ts} +1 -1
- package/dist/ar/qr/qr-detection-controller.js +2 -0
- package/dist/ar/{qr-frontend.d.ts → qr/qr-frontend.d.ts} +1 -1
- package/dist/ar/{qr-frontend.js → qr/qr-frontend.js} +1 -1
- package/dist/ar/{qr-pose.d.ts → qr/qr-pose.d.ts} +1 -1
- package/dist/ar/{qr-pose.js → qr/qr-pose.js} +1 -1
- package/dist/ar/qr/qr-size-depth-context.d.ts +3 -0
- package/dist/ar/{qr-size-depth-context.js → qr/qr-size-depth-context.js} +4 -4
- package/dist/ar/{qr-size-measurer.d.ts → qr/qr-size-measurer.d.ts} +1 -1
- package/dist/ar/qr/qr-size-measurer.js +2 -0
- package/dist/ar/replay-scene.d.ts +1 -1
- package/dist/ar/replay-scene.js +15 -13
- 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 +1 -1
- package/dist/ar-crash-isolation-BSFw_beO.d.ts +52 -0
- package/dist/{ar-world-group-alignment-B6XiA1cT.d.ts → ar-world-group-alignment-CvvfACfx.d.ts} +2 -2
- package/dist/{capability-checker-DEo-ktWI.d.ts → capability-checker-DrWimJ_t.d.ts} +1 -1
- package/dist/capture-motion-gate-C60Qrilh.d.ts +120 -0
- package/dist/{cell-key-Bj-eYTLA.js → cell-key-D1b_Ix-p.js} +12 -1
- package/dist/{chromium-camera-access-workaround-DCd8SP2N.d.ts → chromium-camera-access-workaround-BRs6gkI4.d.ts} +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/{create-slam-app-store-CH31erpP.d.ts → create-slam-app-store-HNe1PBtx.d.ts} +37 -6
- package/dist/{create-slam-app-store-DLv5ZwqU.js → create-slam-app-store-wYN7YkB5.js} +21 -10
- package/dist/{depth-grid-lookup-DY6zYTLx.d.ts → depth-grid-lookup-PcJTdRLL.d.ts} +1 -1
- package/dist/{depth-sampler-txG8evgQ.d.ts → depth-sampler-BcvuxgCS.d.ts} +30 -3
- package/dist/{depth-unprojection-JKkeqJrV.d.ts → depth-unprojection-DbGipFkA.d.ts} +1 -1
- package/dist/{enable-gps-ar-BbNWyqp5.d.ts → enable-gps-ar-xjz3jNqm.d.ts} +10 -5
- package/dist/{file-system-utils-CfLTj5Ra.d.ts → file-system-utils-DE3BViuq.d.ts} +1 -1
- package/dist/{frame-conversions-CH7E2Iv_.d.ts → frame-conversions-CzPQDYpM.d.ts} +1 -1
- package/dist/{fused-path-DOKzVMiO.d.ts → fused-path-CBAttcVm.d.ts} +1 -1
- package/dist/geo/h3-proximity.d.ts +1 -1
- package/dist/geo/h3-proximity.js +1 -1
- package/dist/geo/index.d.ts +1 -1
- package/dist/{geodesic-angle-HXBWiXiI.js → geodesic-angle-CZ_Ow90I.js} +2 -2
- package/dist/{gps-anchor-BaqyRsPC.d.ts → gps-anchor-Gv4NDwH4.d.ts} +1 -1
- package/dist/{gps-ar-pose-sampler-BOOV0jJk.d.ts → gps-ar-pose-sampler-DBEYDFY5.d.ts} +1 -1
- package/dist/{gps-event-coordinator-03rVh_us.d.ts → gps-event-coordinator-BKwB4RyQ.d.ts} +4 -4
- package/dist/{gps-event-markers-BsC2Ynlh.d.ts → gps-event-markers-212h7j3D.d.ts} +39 -5
- package/dist/{h3-proximity-pFluGfwL.d.ts → h3-proximity-CAEk3osq.d.ts} +1 -1
- package/dist/hit-test-reticle-driver-CfKiDgsa.d.ts +40 -0
- package/dist/{image-capture-Cr_rljeV.d.ts → image-capture-BXmx1YvD.d.ts} +6 -6
- package/dist/{image-capture-BUqqsOi3.js → image-capture-Dn8uLIP2.js} +3 -3
- package/dist/{image-quality-BjBLoTec.d.ts → image-quality-G7_qT4aj.d.ts} +44 -2
- package/dist/index-DVmgFIgm.d.ts +64 -0
- package/dist/{index-C2Bo0buN.d.ts → index-DX9VC257.d.ts} +10 -72
- package/dist/{index-CuHaGY0F.d.ts → index-qtZ2muFd.d.ts} +1 -1
- package/dist/index.d.ts +89 -82
- package/dist/index.js +31 -24
- package/dist/{leaflet-map-overlay-QhF199BW.d.ts → leaflet-map-overlay-BkHmzvpD.d.ts} +1 -1
- package/dist/{leaflet-map-overlay-BRkUhZMD.js → leaflet-map-overlay-DjWfRT8a.js} +1 -1
- package/dist/{map-data-D8sSxpOr.d.ts → map-data-BQXPtRz7.d.ts} +3 -3
- package/dist/{map-data-D3oE8AQP.js → map-data-vL8jb5Z9.js} +1 -1
- package/dist/{map-overlay-draw-1E61FLKs.d.ts → map-overlay-draw-sTM3wug_.d.ts} +1 -1
- package/dist/{median-Bla_W50f.js → median-DDBrZGP0.js} +2 -2
- package/dist/{null-storage-backend-DXXuwG8T.d.ts → null-storage-backend-Dtn3TBfT.d.ts} +2 -2
- package/dist/{occlusion-mesh-CZ4i_SW2.d.ts → occlusion-mesh-BY2aMej3.d.ts} +43 -6
- package/dist/occupancy-cubes-visualizer-soN0Sizd.d.ts +146 -0
- package/dist/{occupancy-grid-f0I07UxI.d.ts → occupancy-grid-DKzIdCSZ.d.ts} +114 -4
- package/dist/{occupancy-mesher-BqnRd10x.d.ts → occupancy-mesher-Co80tOpl.d.ts} +22 -1
- package/dist/occupancy-mesher-DzNeJdQf.js +837 -0
- package/dist/{opfs-storage-backend-D1ZpeNEL.d.ts → opfs-storage-backend-CZ-ECudx.d.ts} +2 -2
- package/dist/perf-stats-overlay-BMEQrzx6.d.ts +68 -0
- package/dist/{persistence-middleware-CI4Cetnl.d.ts → persistence-middleware-Byo_Fs4n.d.ts} +13 -3
- package/dist/{planar-pnp-CPLhg5MX.d.ts → planar-pnp-CkcMN3o3.d.ts} +2 -2
- package/dist/pointer-picking-BATHHTlT.d.ts +41 -0
- package/dist/{ar-D-03Kso-.js → qr-CTp5xI83.js} +11 -25
- package/dist/{qr-debug-view-BmbWo06j.d.ts → qr-debug-view-BMjNVhV2.d.ts} +2 -2
- package/dist/{qr-derived-pose-DEYT85ul.d.ts → qr-derived-pose-Dq7mPK2s.d.ts} +3 -3
- package/dist/{qr-detected-slice-CPEkGbxh.d.ts → qr-detected-slice-8t_laDR9.d.ts} +9 -8
- package/dist/{qr-detection-controller-bRTJXC6G.js → qr-detection-controller-DXc1yHRf.js} +3 -3
- package/dist/{qr-detection-controller-IcMRpTjV.d.ts → qr-detection-controller-Dh4Paymb.d.ts} +4 -4
- package/dist/{qr-frontend-61SKPSyU.d.ts → qr-frontend-BnLlVjKu.d.ts} +2 -2
- package/dist/{qr-pose-CCTF1PP0.d.ts → qr-pose-_dInl6di.d.ts} +1 -1
- package/dist/{qr-pose-aggregation-BL6gfl0s.d.ts → qr-pose-aggregation-Bpv4uARJ.d.ts} +2 -2
- package/dist/{qr-pose-aggregation-H-O_Jjz9.js → qr-pose-aggregation-Cp0Mtg_j.js} +4 -4
- package/dist/{qr-size-depth-context-DJsYqbqY.d.ts → qr-size-depth-context-Bzbx98nS.d.ts} +3 -3
- package/dist/{qr-size-measurer-Bl_i-umk.d.ts → qr-size-measurer-18_W3INY.d.ts} +5 -5
- package/dist/{qr-size-measurer-BVOIg-He.js → qr-size-measurer-zZB9S1va.js} +4 -4
- package/dist/{recording-replayer-DyIN13nG.d.ts → recording-replayer-BKmVuchg.d.ts} +2 -2
- package/dist/{recording-slice-DziOl7P5.d.ts → recording-slice-zMedT0ot.d.ts} +10 -5
- package/dist/{replay-engine-DAymjsd1.d.ts → replay-engine-D-cbT0Fw.d.ts} +1 -1
- package/dist/{replay-scene-CZdWgcpc.d.ts → replay-scene-D5qzY0_x.d.ts} +12 -5
- package/dist/sensors/absolute-orientation.d.ts +1 -1
- package/dist/sensors/absolute-orientation.js +1 -1
- 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/{session-disposers-BZS-hi8u.js → session-disposers-BJM5U62W.js} +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 +2 -2
- package/dist/state/gps-event-coordinator.d.ts +2 -2
- package/dist/state/index.d.ts +19 -20
- package/dist/state/index.js +3 -4
- package/dist/state/persistence-middleware.d.ts +2 -2
- package/dist/state/persistence-middleware.js +24 -15
- package/dist/state/qr-detected-slice.d.ts +3 -3
- package/dist/state/qr-detected-slice.js +8 -8
- 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/replay-occupancy-subscriber.d.ts +51 -0
- package/dist/state/replay-occupancy-subscriber.js +85 -0
- package/dist/state/replay-session.d.ts +88 -0
- package/dist/state/replay-session.js +165 -0
- package/dist/state/store-subscribers.d.ts +2 -2
- package/dist/state/store-subscribers.js +1 -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 +2 -2
- package/dist/state/tracking-slice.d.ts +1 -1
- package/dist/{state-U45ioVyB.js → state-DxL3T1Id.js} +1 -2
- package/dist/storage/file-system-utils.d.ts +1 -1
- package/dist/storage/file-system-utils.js +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-coverage-embed.js +1 -1
- package/dist/storage/zip-export.d.ts +1 -1
- package/dist/storage/zip-reader.d.ts +1 -1
- package/dist/{storage-backend-BX7egQKi.d.ts → storage-backend-DCYbOvTw.d.ts} +1 -1
- package/dist/{store-subscribers-DtwakLrQ.d.ts → store-subscribers-BbRW35u5.d.ts} +2 -2
- package/dist/{subscribe-to-selector-Cgo9JTfS.d.ts → subscribe-to-selector-B_lm_euO.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/text-sprite-C6VcC2mo.d.ts +53 -0
- package/dist/{tracking-slice-Bt2OEQhA.d.ts → tracking-slice-D5LDL_y4.d.ts} +3 -2
- 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/index.js +1 -1
- 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 +1 -1
- 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 +2 -2
- 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 +2 -2
- package/dist/visualization/gps-compass-cubes.d.ts +1 -1
- package/dist/visualization/gps-compass-cubes.js +6 -22
- package/dist/visualization/gps-event-markers.d.ts +2 -2
- package/dist/visualization/gps-event-markers.js +27 -6
- package/dist/visualization/hit-test-reticle.d.ts +1 -1
- package/dist/visualization/hit-test-reticle.js +3 -2
- package/dist/visualization/index.d.ts +25 -20
- package/dist/visualization/index.js +11 -6
- 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/occluder-mesh-driver.d.ts +2 -2
- package/dist/visualization/occluder-mesh-driver.js +1 -1
- package/dist/visualization/occlusion-mesh.d.ts +2 -2
- package/dist/visualization/occlusion-mesh.js +54 -4
- package/dist/visualization/occupancy-cubes-visualizer.d.ts +2 -0
- package/dist/visualization/occupancy-cubes-visualizer.js +221 -0
- package/dist/visualization/perf-stats-overlay.d.ts +2 -0
- package/dist/visualization/perf-stats-overlay.js +85 -0
- package/dist/visualization/pointer-picking.d.ts +2 -0
- package/dist/visualization/pointer-picking.js +58 -0
- package/dist/visualization/text-sprite.d.ts +2 -0
- package/dist/visualization/text-sprite.js +105 -0
- package/dist/visualization/three-dispose.d.ts +1 -1
- package/dist/visualization/vis-colors.d.ts +1 -1
- package/dist/visualization/wayfinding-hud.d.ts +2 -0
- package/dist/visualization/wayfinding-hud.js +289 -0
- package/dist/visualization/wayfinding-placement.d.ts +2 -0
- package/dist/visualization/wayfinding-placement.js +157 -0
- package/dist/wayfinding-hud-DVun2b69.d.ts +82 -0
- package/dist/wayfinding-placement-dnHzfYlT.d.ts +97 -0
- package/dist/{webxr-session-DWKUsCN9.js → webxr-session-BBlgzrqY.js} +150 -280
- package/dist/{webxr-session-CGFZ429B.d.ts → webxr-session-DurXRnl_.d.ts} +144 -194
- package/dist/{xr-frame-loop-25gM4B0K.d.ts → xr-frame-loop-A1mGDFHI.d.ts} +1 -1
- package/dist/{zip-coverage-embed-BrodRLq0.d.ts → zip-coverage-embed-BC3O2-8b.d.ts} +1 -1
- package/package.json +5 -3
- package/dist/ar/qr-debug-view.d.ts +0 -2
- package/dist/ar/qr-detection-controller.js +0 -2
- package/dist/ar/qr-size-depth-context.d.ts +0 -3
- package/dist/ar/qr-size-measurer.js +0 -2
- package/dist/capture-motion-gate-BmjiWUJv.d.ts +0 -24
- package/dist/map-overlay-0yJOcEVO.d.ts +0 -153
- package/dist/recording-options-Cai9D14V.d.ts +0 -700
- package/dist/state/recording-options.d.ts +0 -2
- package/dist/state/recording-options.js +0 -620
- package/dist/visualization/map-overlay.d.ts +0 -2
- package/dist/visualization/map-overlay.js +0 -241
- /package/dist/{alignment-lerper-B4COh_0p.d.ts → alignment-lerper-CK1TYLIL.d.ts} +0 -0
- /package/dist/{ar-types-CBafnxhE.d.ts → ar-types-BprL3nKv.d.ts} +0 -0
- /package/dist/{bresenham3d-D-t9i_b5.d.ts → bresenham3d-bt61R-Qa.d.ts} +0 -0
- /package/dist/{camera-blit-capture-BlC-arRb.d.ts → camera-blit-capture-CgNJ9grH.d.ts} +0 -0
- /package/dist/{camera-follower-B6zA3dy9.d.ts → camera-follower-OnnXsbHd.d.ts} +0 -0
- /package/dist/{capture-failure-tracker-BAUKjtXU.d.ts → capture-failure-tracker-bUXJeMvQ.d.ts} +0 -0
- /package/dist/{concurrency-DW0jQo3G.d.ts → concurrency-CMhbkxBk.d.ts} +0 -0
- /package/dist/{css3d-renderer-manager-DbrSY7Mh.d.ts → css3d-renderer-manager-CE6xN7XM.d.ts} +0 -0
- /package/dist/{failure-tracker-B7fzPfZo.d.ts → failure-tracker-BdaFulDA.d.ts} +0 -0
- /package/dist/{format-file-size-Da8rZgfs.d.ts → format-file-size-B2CJdRqD.d.ts} +0 -0
- /package/dist/{frame-loop-7HigCj7m.d.ts → frame-loop-CUEIdlhS.d.ts} +0 -0
- /package/dist/{frustum-visibility-COPfzruF.d.ts → frustum-visibility-BTx1Sqfo.d.ts} +0 -0
- /package/dist/{geo-types-BfDK8kJu.d.ts → geo-types-DGe5UKgx.d.ts} +0 -0
- /package/dist/{gps-CX5b9g3s.d.ts → gps-CC0l9lCp.d.ts} +0 -0
- /package/dist/{gps-compass-cubes-CT3TWctJ.d.ts → gps-compass-cubes-QQJgpRXR.d.ts} +0 -0
- /package/dist/{gps-error-handler-DjVuLXve.d.ts → gps-error-handler-da4DCcs5.d.ts} +0 -0
- /package/dist/{hit-test-reticle-DhnCMOsc.d.ts → hit-test-reticle-DcOyqo3B.d.ts} +0 -0
- /package/dist/{index-CjxbDm8W.d.ts → index-T8Fxvzka.d.ts} +0 -0
- /package/dist/{index-Nr3qg4IH.d.ts → index-Y_RNWbQX.d.ts} +0 -0
- /package/dist/{lerp-utils-bwMwVCpU.d.ts → lerp-utils-B-ecvLq2.d.ts} +0 -0
- /package/dist/{list-formatter-1ttG18MQ.d.ts → list-formatter-C45u3Vgv.d.ts} +0 -0
- /package/dist/{logger-B4StJUDb.d.ts → logger-BQGNXi9W.d.ts} +0 -0
- /package/dist/{opfs-storage-S_odkCk1.d.ts → opfs-storage-CrhVauNL.d.ts} +0 -0
- /package/dist/{permission-checker-D1C5zvo-.d.ts → permission-checker-BDrCOwQF.d.ts} +0 -0
- /package/dist/{scene-node-names-DWzhE7Ro.d.ts → scene-node-names-Ct6ATrfM.d.ts} +0 -0
- /package/dist/{three-dispose-C9mdpSRX.d.ts → three-dispose-B5-XiECx.d.ts} +0 -0
- /package/dist/{vis-colors-DjStl_tD.d.ts → vis-colors-16Pht13u.d.ts} +0 -0
- /package/dist/{webxr-nue-basis-C3vTqkE2.d.ts → webxr-nue-basis-B8ZEetVb.d.ts} +0 -0
- /package/dist/{xr-camera-texture-C6Z4d7RR.d.ts → xr-camera-texture-BA4xiaQ4.d.ts} +0 -0
- /package/dist/{xr-error-handler-D9y5r8ok.d.ts → xr-error-handler-BeyxXCE_.d.ts} +0 -0
- /package/dist/{zip-export-CuBimX1J.d.ts → zip-export-Cfl_kNQ7.d.ts} +0 -0
- /package/dist/{zip-reader-BHc_b_iA.d.ts → zip-reader-DwkuvlGo.d.ts} +0 -0
package/dist/ar/image-quality.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as lowerMedian } from "../median-
|
|
1
|
+
import { n as lowerMedian } from "../median-DDBrZGP0.js";
|
|
2
2
|
//#region ../src/ar/image-quality.ts
|
|
3
3
|
/**
|
|
4
4
|
* Image-quality metrics + the drop/retry verdict policy for the image-content
|
|
@@ -22,10 +22,13 @@ import { n as lowerMedian } from "../median-Bla_W50f.js";
|
|
|
22
22
|
* black/empty frame; an absolute cutoff is safe because "black is black"
|
|
23
23
|
* regardless of scene texture (§5).
|
|
24
24
|
*
|
|
25
|
-
* @see GpsPlusSlamJs_Docs/docs/2026-06-24-image-quality-gate-plan.md
|
|
25
|
+
* @see GpsPlusSlamJs_Docs/docs/2026-06-24-1057-image-quality-gate-plan.md
|
|
26
26
|
* @see ./capture-motion-gate.ts — the motion gate this builds on (same shape:
|
|
27
27
|
* a shared config type + a small stateful window + a pure decision).
|
|
28
28
|
*/
|
|
29
|
+
/** All valid {@link BlurMetricId} values, the default (VoL) first — for
|
|
30
|
+
* consumer-side validation of persisted configs. */
|
|
31
|
+
const BLUR_METRIC_IDS = ["variance-of-laplacian", "high-frequency-energy-ratio"];
|
|
29
32
|
/**
|
|
30
33
|
* Default image-quality configuration. **Disabled by default** (plan §10): the
|
|
31
34
|
* relative blur threshold is unvalidated, and a mis-tuned gate silently dropping
|
|
@@ -39,7 +42,8 @@ const DEFAULT_QUALITY_FILTER = {
|
|
|
39
42
|
enabled: false,
|
|
40
43
|
blurRelativeThreshold: .5,
|
|
41
44
|
minMeanLuminance: 10,
|
|
42
|
-
maxWaitMs: 4e3
|
|
45
|
+
maxWaitMs: 4e3,
|
|
46
|
+
blurMetric: "variance-of-laplacian"
|
|
43
47
|
};
|
|
44
48
|
/** Default number of recent (non-black) sharpness scores the gate keeps. */
|
|
45
49
|
const DEFAULT_SHARPNESS_HISTORY_SIZE = 15;
|
|
@@ -120,6 +124,134 @@ function meanLuminance(rgba) {
|
|
|
120
124
|
return sum / pixels;
|
|
121
125
|
}
|
|
122
126
|
/**
|
|
127
|
+
* Frequency-domain focus measure: the fraction of non-DC spectral energy at
|
|
128
|
+
* normalized radial frequency ≥ `cutoff` (default 0.3), computed by FFT over
|
|
129
|
+
* the centered largest power-of-two crop (needs ≥ 8×8, else returns 0).
|
|
130
|
+
* In [0, 1]; higher ⇒ sharper. Unlike {@link sharpnessScore} it is invariant
|
|
131
|
+
* to brightness shift AND contrast scale (it is a ratio). Ported from the
|
|
132
|
+
* investigation benchmark (2026-07-12 toggle plan) where it won the
|
|
133
|
+
* "sharp vs degraded" boundary (AUC 0.838 vs 0.750).
|
|
134
|
+
*
|
|
135
|
+
* Defensive contract identical to {@link sharpnessScore}: non-integer or
|
|
136
|
+
* < 3×3 dims, or a buffer shorter than `width·height`, return 0.
|
|
137
|
+
*/
|
|
138
|
+
function highFrequencyEnergyRatio(gray, width, height, cutoff = .3) {
|
|
139
|
+
if (!hasFftCrop(gray, width, height)) return 0;
|
|
140
|
+
const pw = largestPow2AtMost(width);
|
|
141
|
+
const ph = largestPow2AtMost(height);
|
|
142
|
+
const offX = Math.floor((width - pw) / 2);
|
|
143
|
+
const offY = Math.floor((height - ph) / 2);
|
|
144
|
+
const re = new Float64Array(pw * ph);
|
|
145
|
+
const im = new Float64Array(pw * ph);
|
|
146
|
+
for (let y = 0; y < ph; y++) {
|
|
147
|
+
const srcRow = (y + offY) * width + offX;
|
|
148
|
+
for (let x = 0; x < pw; x++) re[y * pw + x] = gray[srcRow + x];
|
|
149
|
+
}
|
|
150
|
+
fft2dInPlace(re, im, pw, ph);
|
|
151
|
+
return highEnergyFraction(re, im, pw, ph, cutoff);
|
|
152
|
+
}
|
|
153
|
+
/** Same input guard as sharpnessScore, plus the FFT's ≥ 8×8 pow2-crop need. */
|
|
154
|
+
function hasFftCrop(gray, width, height) {
|
|
155
|
+
return Number.isInteger(width) && Number.isInteger(height) && width >= 8 && height >= 8 && gray.length >= width * height && largestPow2AtMost(width) >= 8 && largestPow2AtMost(height) >= 8;
|
|
156
|
+
}
|
|
157
|
+
/** Largest power of two ≤ n (n ≥ 1). */
|
|
158
|
+
function largestPow2AtMost(n) {
|
|
159
|
+
let p = 1;
|
|
160
|
+
while (p * 2 <= n) p *= 2;
|
|
161
|
+
return p;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* In-place iterative radix-2 FFT (decimation-in-time). `re`/`im` length must
|
|
165
|
+
* be a power of two (guaranteed by the caller's crop).
|
|
166
|
+
*/
|
|
167
|
+
function fftInPlace(re, im) {
|
|
168
|
+
const n = re.length;
|
|
169
|
+
for (let i = 1, j = 0; i < n; i++) {
|
|
170
|
+
let bit = n >> 1;
|
|
171
|
+
for (; j & bit; bit >>= 1) j ^= bit;
|
|
172
|
+
j ^= bit;
|
|
173
|
+
if (i < j) {
|
|
174
|
+
const tr = re[i];
|
|
175
|
+
re[i] = re[j];
|
|
176
|
+
re[j] = tr;
|
|
177
|
+
const ti = im[i];
|
|
178
|
+
im[i] = im[j];
|
|
179
|
+
im[j] = ti;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
for (let len = 2; len <= n; len <<= 1) {
|
|
183
|
+
const ang = -2 * Math.PI / len;
|
|
184
|
+
const wRe = Math.cos(ang);
|
|
185
|
+
const wIm = Math.sin(ang);
|
|
186
|
+
for (let start = 0; start < n; start += len) {
|
|
187
|
+
let curRe = 1;
|
|
188
|
+
let curIm = 0;
|
|
189
|
+
for (let k = 0; k < len / 2; k++) {
|
|
190
|
+
const a = start + k;
|
|
191
|
+
const b = a + len / 2;
|
|
192
|
+
const vRe = re[b] * curRe - im[b] * curIm;
|
|
193
|
+
const vIm = re[b] * curIm + im[b] * curRe;
|
|
194
|
+
re[b] = re[a] - vRe;
|
|
195
|
+
im[b] = im[a] - vIm;
|
|
196
|
+
re[a] = re[a] + vRe;
|
|
197
|
+
im[a] = im[a] + vIm;
|
|
198
|
+
const nextRe = curRe * wRe - curIm * wIm;
|
|
199
|
+
curIm = curRe * wIm + curIm * wRe;
|
|
200
|
+
curRe = nextRe;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
/** 2D FFT over a pw×ph buffer: rows in place, then columns via scratch. */
|
|
206
|
+
function fft2dInPlace(re, im, pw, ph) {
|
|
207
|
+
for (let y = 0; y < ph; y++) fftInPlace(re.subarray(y * pw, (y + 1) * pw), im.subarray(y * pw, (y + 1) * pw));
|
|
208
|
+
const colRe = new Float64Array(ph);
|
|
209
|
+
const colIm = new Float64Array(ph);
|
|
210
|
+
for (let x = 0; x < pw; x++) {
|
|
211
|
+
for (let y = 0; y < ph; y++) {
|
|
212
|
+
colRe[y] = re[y * pw + x];
|
|
213
|
+
colIm[y] = im[y * pw + x];
|
|
214
|
+
}
|
|
215
|
+
fftInPlace(colRe, colIm);
|
|
216
|
+
for (let y = 0; y < ph; y++) {
|
|
217
|
+
re[y * pw + x] = colRe[y];
|
|
218
|
+
im[y * pw + x] = colIm[y];
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Fraction of non-DC spectral energy at normalized radial frequency ≥
|
|
224
|
+
* `cutoff` (radius normalized so the diagonal Nyquist bin is exactly 1).
|
|
225
|
+
* The DC bin carries brightness, not sharpness — excluded, which is what
|
|
226
|
+
* makes the ratio exposure-invariant.
|
|
227
|
+
*/
|
|
228
|
+
function highEnergyFraction(re, im, pw, ph, cutoff) {
|
|
229
|
+
let total = 0;
|
|
230
|
+
let high = 0;
|
|
231
|
+
for (let ky = 0; ky < ph; ky++) {
|
|
232
|
+
const ny = (ky <= ph / 2 ? ky : ky - ph) / (ph / 2);
|
|
233
|
+
for (let kx = 0; kx < pw; kx++) {
|
|
234
|
+
if (kx === 0 && ky === 0) continue;
|
|
235
|
+
const nx = (kx <= pw / 2 ? kx : kx - pw) / (pw / 2);
|
|
236
|
+
const i = ky * pw + kx;
|
|
237
|
+
const energy = re[i] * re[i] + im[i] * im[i];
|
|
238
|
+
total += energy;
|
|
239
|
+
if (Math.hypot(nx, ny) / Math.SQRT2 >= cutoff) high += energy;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
return total > 0 ? high / total : 0;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Resolve a {@link BlurMetricId} to its scoring function. `undefined` or an
|
|
246
|
+
* unknown id (e.g. from a persisted config written by a newer/older app
|
|
247
|
+
* version) resolves to {@link sharpnessScore} — the pre-toggle behavior.
|
|
248
|
+
* The (untestable) recorder worker calls this so the mapping stays here,
|
|
249
|
+
* where tests can pin it.
|
|
250
|
+
*/
|
|
251
|
+
function blurMetricScorer(metric) {
|
|
252
|
+
return metric === "high-frequency-energy-ratio" ? highFrequencyEnergyRatio : sharpnessScore;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
123
255
|
* The self-calibrating blur+blackness verdict, with the rolling sharpness
|
|
124
256
|
* history that makes the blur check scene-relative (§5). Stateful but pure (no
|
|
125
257
|
* DOM/worker): one instance per recording session, fed each analysed frame's
|
|
@@ -185,4 +317,4 @@ var ImageQualityGate = class {
|
|
|
185
317
|
}
|
|
186
318
|
};
|
|
187
319
|
//#endregion
|
|
188
|
-
export { DEFAULT_QUALITY_FILTER, DEFAULT_SHARPNESS_HISTORY_SIZE, DEFAULT_SHARPNESS_MIN_SAMPLES, ImageQualityGate, meanLuminance, rgbaToGrayscale, sharpnessScore };
|
|
320
|
+
export { BLUR_METRIC_IDS, DEFAULT_QUALITY_FILTER, DEFAULT_SHARPNESS_HISTORY_SIZE, DEFAULT_SHARPNESS_MIN_SAMPLES, ImageQualityGate, blurMetricScorer, highFrequencyEnergyRatio, meanLuminance, rgbaToGrayscale, sharpnessScore };
|
package/dist/ar/index.d.ts
CHANGED
|
@@ -1,32 +1,35 @@
|
|
|
1
|
-
import { r as
|
|
2
|
-
import {
|
|
3
|
-
import { i as
|
|
4
|
-
import {
|
|
5
|
-
import { a as
|
|
6
|
-
import { n as
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { a as
|
|
11
|
-
import {
|
|
12
|
-
import { a as
|
|
13
|
-
import { i as
|
|
14
|
-
import {
|
|
15
|
-
import { a as
|
|
16
|
-
import { r as
|
|
17
|
-
import {
|
|
18
|
-
import { t as
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import { a as
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import { a as
|
|
25
|
-
import { n as
|
|
26
|
-
import { a as
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import { t as
|
|
30
|
-
import { t as
|
|
31
|
-
import { n as
|
|
32
|
-
|
|
1
|
+
import { n as DEFAULT_AR_CRASH_ISOLATION, r as validateArCrashIsolationOptions, t as ArCrashIsolationOptions } from "../ar-crash-isolation-BSFw_beO.js";
|
|
2
|
+
import { r as bresenham3d, t as GridCell } from "../bresenham3d-bt61R-Qa.js";
|
|
3
|
+
import { a as computeCaptureSize, i as computeAspectFitSize, n as CameraBlitCaptureConfig, r as DEFAULT_BLIT_CONFIG, t as CameraBlitCapture } from "../camera-blit-capture-CgNJ9grH.js";
|
|
4
|
+
import { i as isFullySupported, n as CapabilitySupport, r as capabilityMessage, t as CapabilityMessageOptions } from "../capability-checker-DrWimJ_t.js";
|
|
5
|
+
import { a as createCaptureFailureTracker, i as DEFAULT_CAPTURE_TRACKER_CONFIG, n as CaptureFailureTracker, r as CaptureFailureTrackerConfig, t as CAPTURE_FAILURE_WARNING } from "../capture-failure-tracker-bUXJeMvQ.js";
|
|
6
|
+
import { a as applyChromiumProjectionLayerWorkaround, i as ChromiumProjectionLayerWorkaroundResult, n as BASELAYER_WINDOW_MIN, o as needsBaseLayerPersistence, r as ChromeVersion, s as parseChromeVersion, t as BASELAYER_WINDOW_MAX } from "../chromium-camera-access-workaround-BRs6gkI4.js";
|
|
7
|
+
import { n as createDepthGridLookup, t as DepthGridLookup } from "../depth-grid-lookup-PcJTdRLL.js";
|
|
8
|
+
import { a as DepthSamplerCallbacks, i as DepthSampler, o as DepthSamplerConfig, r as DepthInfo, s as wrapXRDepthInfo } from "../depth-sampler-BcvuxgCS.js";
|
|
9
|
+
import { n as createDepthUnprojector, r as unprojectDepthPoint, t as DepthUnprojector } from "../depth-unprojection-DbGipFkA.js";
|
|
10
|
+
import { a as DEFAULT_SHARPNESS_MIN_SAMPLES, c as QualityRejectReason, d as highFrequencyEnergyRatio, f as meanLuminance, i as DEFAULT_SHARPNESS_HISTORY_SIZE, l as QualityVerdict, m as sharpnessScore, n as BlurMetricId, o as ImageQualityGate, p as rgbaToGrayscale, r as DEFAULT_QUALITY_FILTER, s as QualityFilterConfig, t as BLUR_METRIC_IDS, u as blurMetricScorer } from "../image-quality-G7_qT4aj.js";
|
|
11
|
+
import { a as ImageCaptureCallbacks, c as MIN_VALID_IMAGE_BYTES, i as FrameQualityVerdict, n as CapturedImage, o as ImageCaptureConfig, r as DEFAULT_CAPTURE_CONFIG, s as ImageCaptureManager, t as CapturedFrame } from "../image-capture-BXmx1YvD.js";
|
|
12
|
+
import { _ as solveQrPose, a as QrPoseSolution, c as SolveQrPoseInput, d as intrinsicsFromProjection, f as invertPose, g as signedQuadArea, h as reprojectionErrorPx, i as Pose, l as buildObjectPoints, m as qrInCameraFromOpenCv, n as OpenCvPnpResult, o as QuadValidation, p as projectViewPoint, r as Point2, s as SolvePnpSquare, t as CameraIntrinsics, u as composePose, v as transformPoint, y as validateQuad } from "../qr-pose-_dInl6di.js";
|
|
13
|
+
import { a as QrFrontEnd, c as createBarcodeDetectorFrontEnd, i as QrDetection, n as BarcodeDetectorLike, o as RgbaImage, r as DetectedBarcodeLike, s as ToImageBitmapSource, t as BarcodeDetectorFrontEnd } from "../qr-frontend-BnLlVjKu.js";
|
|
14
|
+
import { i as acquireCameraTexture, n as RendererLike, r as XRCameraLike, t as CameraTextureResult } from "../xr-camera-texture-BA4xiaQ4.js";
|
|
15
|
+
import { A as startCameraFrameCapture, D as rebindTrackingStore, F as stopImageCapture, M as startImageCapture, N as stopCameraFrameCapture, P as stopDepthCapture, S as initAR, _ as getDepthInfoFromFrame, a as SessionFeatureOptions, b as getScene, g as getCurrentArPose, h as getCameraFrameCount, i as SessionEndInfo, j as startDepthCapture, m as getCamera, n as CameraFrameCaptureConfig, p as getArWorldGroup, t as ArSessionCallbacks, u as endARSession, v as getDepthSampleCount, y as getImageCaptureFrameCount } from "../webxr-session-DurXRnl_.js";
|
|
16
|
+
import { a as EnableGpsArState, i as EnableGpsArResult, n as EnableGpsArController, o as EnableGpsArStatus, r as EnableGpsArDeps, s as createEnableGpsArController, t as EnableGpsArConfig } from "../enable-gps-ar-xjz3jNqm.js";
|
|
17
|
+
import { r as registerFrameUpdate, t as FrameUpdate } from "../frame-loop-CUEIdlhS.js";
|
|
18
|
+
import { n as HitTestReticleHandle, r as startHitTestReticle, t as HitTestReticleArgs } from "../hit-test-reticle-driver-CfKiDgsa.js";
|
|
19
|
+
import { c as QrSizeAccumulatorOptions, d as QrSizeStatus, f as createQrSizeAccumulator, i as QrSizeMeasurer, l as QrSizeEstimate, n as QrSizeDepthContext, o as createQrSizeMeasurer, p as estimateQrSizeFromDepth, r as QrSizeMeasurement, s as QrSizeAccumulator, t as ImageSize, u as QrSizeObservation } from "../qr-size-measurer-18_W3INY.js";
|
|
20
|
+
import { t as createQrSizeDepthContext } from "../qr-size-depth-context-Bzbx98nS.js";
|
|
21
|
+
import { a as createIncrementalQrPlacement, c as deriveSolvedQrPose, i as RawQrObservation, l as solveQrPoseFromObservation, n as DerivedQrPlacement, o as deriveQrPlacement, r as IncrementalQrPlacement, s as deriveQrSizeM, t as DeriveQrPoseDeps } from "../qr-derived-pose-Dq7mPK2s.js";
|
|
22
|
+
import { n as createQrDebugView, t as QrDebugView } from "../qr-debug-view-BMjNVhV2.js";
|
|
23
|
+
import { a as createQrDetectionController, i as RawObservationSink, n as QrDetectionControllerDeps, r as QrScanStatus, t as QrDetectionController } from "../qr-detection-controller-Dh4Paymb.js";
|
|
24
|
+
import { a as QrPoseStability, c as aggregateQrPose, i as DEFAULT_ROTATION_INLIER_ANGLE_DEG, l as averageRotation, n as AverageRotationOptions, o as QrPoseStabilityOptions, r as AverageRotationResult, s as QrPoseStabilityStatus, t as AggregateQrPoseResult, u as evaluateQrPoseStability } from "../qr-pose-aggregation-Bpv4uARJ.js";
|
|
25
|
+
import { C as parseQrLevel, D as buildQrGpsVotes, E as QrGpsVoteInput, O as localPlaneToEnu, S as fetchQrLevel, T as QrGeoPose, _ as createQrTrackingController, a as checkQrPlausibility, b as QrLevel, c as QrDetectionScheduler, d as createQrDetectionScheduler, f as QrDetectionEvent, g as QrTrackingStatus, h as QrTrackingControllerConfig, i as QrPlausibilityVerdict, k as offsetGeo, l as QrDetectionSchedulerConfig, m as QrTrackingController, n as QrPlausibility, o as DetectionScheduler, p as QrSolvePoseInput, r as QrPlausibilityOptions, s as DetectionSchedulerConfig, t as OccupancySurface, u as createDetectionScheduler, v as FetchLike, w as Enu, x as QrLevelValidationError, y as FetchQrLevelOptions } from "../index-DX9VC257.js";
|
|
26
|
+
import { a as homographyFromCorrespondences, c as rotationToRodrigues, i as PoseCandidate, l as solveLinear, n as Mat3, o as ippePoseCandidates, r as PlanarPnpSquare, s as nearestRotation3x3, t as Homography } from "../planar-pnp-CkcMN3o3.js";
|
|
27
|
+
import { n as CameraFrameSourceCallbacks, r as CameraFrameSourceConfig, t as CameraFrameSource } from "../index-DVmgFIgm.js";
|
|
28
|
+
import { i as OccupancyGridOptions, r as OccupancyGrid } from "../occupancy-grid-DKzIdCSZ.js";
|
|
29
|
+
import { a as meshOccupiedCells, i as OccupancyMeshResult, r as MeshOccupiedCellsOptions, t as Aabb } from "../occupancy-mesher-Co80tOpl.js";
|
|
30
|
+
import { i as registerXrFrameUpdate, n as XrFrameUpdate, t as XrFrameContext } from "../xr-frame-loop-A1mGDFHI.js";
|
|
31
|
+
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, t as CameraMode, u as toggleCameraMode } from "../replay-scene-D5qzY0_x.js";
|
|
32
|
+
import { t as SCENE_NODE } from "../scene-node-names-Ct6ATrfM.js";
|
|
33
|
+
import { t as WEBXR_TO_NUE } from "../webxr-nue-basis-B8ZEetVb.js";
|
|
34
|
+
import { n as XR_ERROR_MESSAGE_UNKNOWN, r as getXrErrorMessage, t as XR_ERROR_MESSAGES } from "../xr-error-handler-BeyxXCE_.js";
|
|
35
|
+
export { Aabb, AggregateQrPoseResult, ArCrashIsolationOptions, ArSessionCallbacks, AverageRotationOptions, AverageRotationResult, BASELAYER_WINDOW_MAX, BASELAYER_WINDOW_MIN, BLUR_METRIC_IDS, BarcodeDetectorFrontEnd, BarcodeDetectorLike, BlurMetricId, CAPTURE_FAILURE_WARNING, CameraBlitCapture, CameraBlitCaptureConfig, CameraFrameCaptureConfig, CameraFrameSource, CameraFrameSourceCallbacks, CameraFrameSourceConfig, CameraIntrinsics, CameraMode, CameraTextureResult, CapabilityMessageOptions, CapabilitySupport, CaptureFailureTracker, CaptureFailureTrackerConfig, CapturedFrame, CapturedImage, ChromeVersion, ChromiumProjectionLayerWorkaroundResult, DEFAULT_AR_CRASH_ISOLATION, DEFAULT_BLIT_CONFIG, DEFAULT_CAPTURE_CONFIG, DEFAULT_CAPTURE_TRACKER_CONFIG, DEFAULT_QUALITY_FILTER, DEFAULT_ROTATION_INLIER_ANGLE_DEG, DEFAULT_SHARPNESS_HISTORY_SIZE, DEFAULT_SHARPNESS_MIN_SAMPLES, DepthGridLookup, DepthInfo, DepthSampler, DepthSamplerCallbacks, DepthSamplerConfig, DepthUnprojector, DeriveQrPoseDeps, DerivedQrPlacement, DetectedBarcodeLike, DetectionScheduler, DetectionSchedulerConfig, EnableGpsArConfig, EnableGpsArController, EnableGpsArDeps, EnableGpsArResult, EnableGpsArState, EnableGpsArStatus, Enu, FetchLike, FetchQrLevelOptions, FrameQualityVerdict, FrameUpdate, GridCell, HitTestReticleArgs, HitTestReticleHandle, Homography, ImageCaptureCallbacks, ImageCaptureConfig, ImageCaptureManager, ImageQualityGate, ImageSize, IncrementalQrPlacement, MIN_VALID_IMAGE_BYTES, Mat3, MeshOccupiedCellsOptions, OccupancyGrid, OccupancyGridOptions, OccupancyMeshResult, OccupancySurface, OpenCvPnpResult, PlanarPnpSquare, Point2, Pose, PoseCandidate, QrDebugView, QrDetection, QrDetectionController, QrDetectionControllerDeps, QrDetectionEvent, QrDetectionScheduler, QrDetectionSchedulerConfig, QrFrontEnd, QrGeoPose, QrGpsVoteInput, QrLevel, QrLevelValidationError, QrPlausibility, QrPlausibilityOptions, QrPlausibilityVerdict, QrPoseSolution, QrPoseStability, QrPoseStabilityOptions, QrPoseStabilityStatus, QrScanStatus, QrSizeAccumulator, QrSizeAccumulatorOptions, QrSizeDepthContext, QrSizeEstimate, QrSizeMeasurement, QrSizeMeasurer, QrSizeObservation, QrSizeStatus, QrSolvePoseInput, QrTrackingController, QrTrackingControllerConfig, QrTrackingStatus, QuadValidation, QualityFilterConfig, QualityRejectReason, QualityVerdict, RawObservationSink, RawQrObservation, RendererLike, ReplaySceneState, RgbaImage, SCENE_NODE, SessionEndInfo, SessionFeatureOptions, SolvePnpSquare, SolveQrPoseInput, ToImageBitmapSource, WEBXR_TO_NUE, XRCameraLike, XR_ERROR_MESSAGES, XR_ERROR_MESSAGE_UNKNOWN, XrFrameContext, XrFrameUpdate, acquireCameraTexture, aggregateQrPose, applyChromiumProjectionLayerWorkaround, averageRotation, blurMetricScorer, bresenham3d, buildObjectPoints, buildQrGpsVotes, capabilityMessage, checkQrPlausibility, composePose, computeAspectFitSize, computeCaptureSize, createBarcodeDetectorFrontEnd, createCaptureFailureTracker, createDepthGridLookup, createDepthUnprojector, createDetectionScheduler, createEnableGpsArController, createIncrementalQrPlacement, createQrDebugView, createQrDetectionController, createQrDetectionScheduler, createQrSizeAccumulator, createQrSizeDepthContext, createQrSizeMeasurer, createQrTrackingController, deriveQrPlacement, deriveQrSizeM, deriveSolvedQrPose, disposeReplayScene, endARSession, estimateQrSizeFromDepth, evaluateQrPoseStability, fetchQrLevel, getAlignmentLerper, getArWorldGroup, getCamera, getCameraFollower, getCameraFrameCount, getCameraMode, getCurrentArPose, getDepthInfoFromFrame, getDepthSampleCount, getImageCaptureFrameCount, getReplayState, getScene, getXrErrorMessage, highFrequencyEnergyRatio, homographyFromCorrespondences, initAR, initReplayScene, intrinsicsFromProjection, invertPose, ippePoseCandidates, isFullySupported, localPlaneToEnu, meanLuminance, meshOccupiedCells, nearestRotation3x3, needsBaseLayerPersistence, offsetGeo, parseChromeVersion, parseQrLevel, projectViewPoint, qrInCameraFromOpenCv, rebindTrackingStore, registerFrameUpdate, registerXrFrameUpdate, reprojectionErrorPx, rgbaToGrayscale, rotationToRodrigues, sharpnessScore, signedQuadArea, solveLinear, solveQrPose, solveQrPoseFromObservation, startCameraFrameCapture, startDepthCapture, startHitTestReticle, startImageCapture, stopCameraFrameCapture, stopDepthCapture, stopImageCapture, toggleCameraMode, transformPoint, unprojectDepthPoint, updateOrbitTarget, validateArCrashIsolationOptions, validateQuad, wrapXRDepthInfo };
|
package/dist/ar/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DEFAULT_AR_CRASH_ISOLATION, validateArCrashIsolationOptions } from "./ar-crash-isolation.js";
|
|
1
2
|
import { CameraBlitCapture, DEFAULT_BLIT_CONFIG, computeAspectFitSize, computeCaptureSize } from "./camera-blit-capture.js";
|
|
2
3
|
import { capabilityMessage, isFullySupported } from "./capability-checker.js";
|
|
3
4
|
import { BASELAYER_WINDOW_MAX, BASELAYER_WINDOW_MIN, applyChromiumProjectionLayerWorkaround, needsBaseLayerPersistence, parseChromeVersion } from "./chromium-camera-access-workaround.js";
|
|
@@ -5,28 +6,29 @@ import { CAPTURE_FAILURE_WARNING, DEFAULT_CAPTURE_TRACKER_CONFIG, createCaptureF
|
|
|
5
6
|
import { DepthSampler, wrapXRDepthInfo } from "./depth-sampler.js";
|
|
6
7
|
import { createDepthUnprojector, unprojectDepthPoint } from "./depth-unprojection.js";
|
|
7
8
|
import { createDepthGridLookup } from "./depth-grid-lookup.js";
|
|
8
|
-
import { n as createQrSizeAccumulator, r as estimateQrSizeFromDepth, t as createQrSizeMeasurer } from "../qr-size-measurer-
|
|
9
|
-
import { createQrSizeDepthContext } from "./qr-size-depth-context.js";
|
|
10
|
-
import { buildObjectPoints, composePose, intrinsicsFromProjection, invertPose, projectViewPoint, qrInCameraFromOpenCv, reprojectionErrorPx, signedQuadArea, solveQrPose, transformPoint, validateQuad } from "./qr-pose.js";
|
|
11
|
-
import { createIncrementalQrPlacement, deriveQrPlacement, deriveQrSizeM, deriveSolvedQrPose, solveQrPoseFromObservation } from "./qr-derived-pose.js";
|
|
9
|
+
import { n as createQrSizeAccumulator, r as estimateQrSizeFromDepth, t as createQrSizeMeasurer } from "../qr-size-measurer-zZB9S1va.js";
|
|
10
|
+
import { createQrSizeDepthContext } from "./qr/qr-size-depth-context.js";
|
|
11
|
+
import { buildObjectPoints, composePose, intrinsicsFromProjection, invertPose, projectViewPoint, qrInCameraFromOpenCv, reprojectionErrorPx, signedQuadArea, solveQrPose, transformPoint, validateQuad } from "./qr/qr-pose.js";
|
|
12
|
+
import { createIncrementalQrPlacement, deriveQrPlacement, deriveQrSizeM, deriveSolvedQrPose, solveQrPoseFromObservation } from "./qr/qr-derived-pose.js";
|
|
12
13
|
import { WEBXR_TO_NUE } from "./webxr-nue-basis.js";
|
|
13
|
-
import { createQrDebugView } from "./qr-debug-view.js";
|
|
14
|
-
import { n as createDetectionScheduler, r as createQrDetectionScheduler, t as createQrDetectionController } from "../qr-detection-controller-
|
|
15
|
-
import { i as evaluateQrPoseStability, n as aggregateQrPose, r as averageRotation, t as DEFAULT_ROTATION_INLIER_ANGLE_DEG } from "../qr-pose-aggregation-
|
|
16
|
-
import { a as offsetGeo, c as parseQrLevel, i as localPlaneToEnu, n as createQrTrackingController, o as QrLevelValidationError, r as buildQrGpsVotes, s as fetchQrLevel, t as checkQrPlausibility } from "../
|
|
17
|
-
import { BarcodeDetectorFrontEnd, createBarcodeDetectorFrontEnd } from "./qr-frontend.js";
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
14
|
+
import { createQrDebugView } from "./qr/qr-debug-view.js";
|
|
15
|
+
import { n as createDetectionScheduler, r as createQrDetectionScheduler, t as createQrDetectionController } from "../qr-detection-controller-DXc1yHRf.js";
|
|
16
|
+
import { i as evaluateQrPoseStability, n as aggregateQrPose, r as averageRotation, t as DEFAULT_ROTATION_INLIER_ANGLE_DEG } from "../qr-pose-aggregation-Cp0Mtg_j.js";
|
|
17
|
+
import { a as offsetGeo, c as parseQrLevel, i as localPlaneToEnu, n as createQrTrackingController, o as QrLevelValidationError, r as buildQrGpsVotes, s as fetchQrLevel, t as checkQrPlausibility } from "../qr-CTp5xI83.js";
|
|
18
|
+
import { BarcodeDetectorFrontEnd, createBarcodeDetectorFrontEnd } from "./qr/qr-frontend.js";
|
|
19
|
+
import { PlanarPnpSquare, homographyFromCorrespondences, ippePoseCandidates, nearestRotation3x3, rotationToRodrigues, solveLinear } from "./qr/planar-pnp.js";
|
|
20
|
+
import { A as stopImageCapture, D as startImageCapture, E as startDepthCapture, O as stopCameraFrameCapture, S as rebindTrackingStore, T as startCameraFrameCapture, _ as initAR, a as endARSession, c as getArWorldGroup, d as getCurrentArPose, f as getDepthInfoFromFrame, h as getScene, j as CameraFrameSource, k as stopDepthCapture, l as getCamera, m as getImageCaptureFrameCount, p as getDepthSampleCount, u as getCameraFrameCount } from "../webxr-session-BBlgzrqY.js";
|
|
20
21
|
import { bresenham3d } from "./bresenham3d.js";
|
|
21
22
|
import { OccupancyGrid } from "./occupancy-grid.js";
|
|
22
|
-
import { meshOccupiedCells } from "
|
|
23
|
+
import { t as meshOccupiedCells } from "../occupancy-mesher-DzNeJdQf.js";
|
|
23
24
|
import { registerFrameUpdate } from "./frame-loop.js";
|
|
24
25
|
import { registerXrFrameUpdate } from "./xr-frame-loop.js";
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
26
|
+
import { startHitTestReticle } from "./hit-test-reticle-driver.js";
|
|
27
|
+
import { n as ImageCaptureManager, r as MIN_VALID_IMAGE_BYTES, t as DEFAULT_CAPTURE_CONFIG } from "../image-capture-Dn8uLIP2.js";
|
|
28
|
+
import { BLUR_METRIC_IDS, DEFAULT_QUALITY_FILTER, DEFAULT_SHARPNESS_HISTORY_SIZE, DEFAULT_SHARPNESS_MIN_SAMPLES, ImageQualityGate, blurMetricScorer, highFrequencyEnergyRatio, meanLuminance, rgbaToGrayscale, sharpnessScore } from "./image-quality.js";
|
|
27
29
|
import { acquireCameraTexture } from "./xr-camera-texture.js";
|
|
28
30
|
import { SCENE_NODE } from "./scene-node-names.js";
|
|
29
31
|
import { createEnableGpsArController } from "./enable-gps-ar.js";
|
|
30
32
|
import { disposeReplayScene, getAlignmentLerper, getCameraFollower, getCameraMode, getReplayState, initReplayScene, toggleCameraMode, updateOrbitTarget } from "./replay-scene.js";
|
|
31
33
|
import { XR_ERROR_MESSAGES, XR_ERROR_MESSAGE_UNKNOWN, getXrErrorMessage } from "./xr-error-handler.js";
|
|
32
|
-
export { BASELAYER_WINDOW_MAX, BASELAYER_WINDOW_MIN, BarcodeDetectorFrontEnd, CAPTURE_FAILURE_WARNING, CameraBlitCapture, CameraFrameSource, DEFAULT_BLIT_CONFIG, DEFAULT_CAPTURE_CONFIG, DEFAULT_CAPTURE_TRACKER_CONFIG, DEFAULT_QUALITY_FILTER, DEFAULT_ROTATION_INLIER_ANGLE_DEG, DEFAULT_SHARPNESS_HISTORY_SIZE, DEFAULT_SHARPNESS_MIN_SAMPLES, DepthSampler, ImageCaptureManager, ImageQualityGate, MIN_VALID_IMAGE_BYTES, OccupancyGrid, PlanarPnpSquare, QrLevelValidationError, SCENE_NODE, WEBXR_TO_NUE, XR_ERROR_MESSAGES, XR_ERROR_MESSAGE_UNKNOWN, acquireCameraTexture, aggregateQrPose, applyChromiumProjectionLayerWorkaround, averageRotation, bresenham3d, buildObjectPoints, buildQrGpsVotes, capabilityMessage, checkQrPlausibility, composePose, computeAspectFitSize, computeCaptureSize, createBarcodeDetectorFrontEnd, createCaptureFailureTracker, createDepthGridLookup, createDepthUnprojector, createDetectionScheduler, createEnableGpsArController, createIncrementalQrPlacement, createQrDebugView, createQrDetectionController, createQrDetectionScheduler, createQrSizeAccumulator, createQrSizeDepthContext, createQrSizeMeasurer, createQrTrackingController, deriveQrPlacement, deriveQrSizeM, deriveSolvedQrPose, disposeReplayScene, endARSession, estimateQrSizeFromDepth, evaluateQrPoseStability, fetchQrLevel, getAlignmentLerper, getArWorldGroup, getCamera, getCameraFollower, getCameraFrameCount, getCameraMode, getCurrentArPose, getDepthInfoFromFrame, getDepthSampleCount, getImageCaptureFrameCount,
|
|
34
|
+
export { BASELAYER_WINDOW_MAX, BASELAYER_WINDOW_MIN, BLUR_METRIC_IDS, BarcodeDetectorFrontEnd, CAPTURE_FAILURE_WARNING, CameraBlitCapture, CameraFrameSource, DEFAULT_AR_CRASH_ISOLATION, DEFAULT_BLIT_CONFIG, DEFAULT_CAPTURE_CONFIG, DEFAULT_CAPTURE_TRACKER_CONFIG, DEFAULT_QUALITY_FILTER, DEFAULT_ROTATION_INLIER_ANGLE_DEG, DEFAULT_SHARPNESS_HISTORY_SIZE, DEFAULT_SHARPNESS_MIN_SAMPLES, DepthSampler, ImageCaptureManager, ImageQualityGate, MIN_VALID_IMAGE_BYTES, OccupancyGrid, PlanarPnpSquare, QrLevelValidationError, SCENE_NODE, WEBXR_TO_NUE, XR_ERROR_MESSAGES, XR_ERROR_MESSAGE_UNKNOWN, acquireCameraTexture, aggregateQrPose, applyChromiumProjectionLayerWorkaround, averageRotation, blurMetricScorer, bresenham3d, buildObjectPoints, buildQrGpsVotes, capabilityMessage, checkQrPlausibility, composePose, computeAspectFitSize, computeCaptureSize, createBarcodeDetectorFrontEnd, createCaptureFailureTracker, createDepthGridLookup, createDepthUnprojector, createDetectionScheduler, createEnableGpsArController, createIncrementalQrPlacement, createQrDebugView, createQrDetectionController, createQrDetectionScheduler, createQrSizeAccumulator, createQrSizeDepthContext, createQrSizeMeasurer, createQrTrackingController, deriveQrPlacement, deriveQrSizeM, deriveSolvedQrPose, disposeReplayScene, endARSession, estimateQrSizeFromDepth, evaluateQrPoseStability, fetchQrLevel, getAlignmentLerper, getArWorldGroup, getCamera, getCameraFollower, getCameraFrameCount, getCameraMode, getCurrentArPose, getDepthInfoFromFrame, getDepthSampleCount, getImageCaptureFrameCount, getReplayState, getScene, getXrErrorMessage, highFrequencyEnergyRatio, homographyFromCorrespondences, initAR, initReplayScene, intrinsicsFromProjection, invertPose, ippePoseCandidates, isFullySupported, localPlaneToEnu, meanLuminance, meshOccupiedCells, nearestRotation3x3, needsBaseLayerPersistence, offsetGeo, parseChromeVersion, parseQrLevel, projectViewPoint, qrInCameraFromOpenCv, rebindTrackingStore, registerFrameUpdate, registerXrFrameUpdate, reprojectionErrorPx, rgbaToGrayscale, rotationToRodrigues, sharpnessScore, signedQuadArea, solveLinear, solveQrPose, solveQrPoseFromObservation, startCameraFrameCapture, startDepthCapture, startHitTestReticle, startImageCapture, stopCameraFrameCapture, stopDepthCapture, stopImageCapture, toggleCameraMode, transformPoint, unprojectDepthPoint, updateOrbitTarget, validateArCrashIsolationOptions, validateQuad, wrapXRDepthInfo };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as GridCell } from "../bresenham3d-
|
|
2
|
-
import { n as MeshMode } from "../occupancy-mesher-
|
|
1
|
+
import { t as GridCell } from "../bresenham3d-bt61R-Qa.js";
|
|
2
|
+
import { n as MeshMode } from "../occupancy-mesher-Co80tOpl.js";
|
|
3
3
|
import { Vector3 } from "gps-plus-slam-js";
|
|
4
4
|
|
|
5
5
|
//#region ../src/ar/occlusion-mesh-worker.d.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { meshOccupiedCells } from "
|
|
1
|
+
import { s as packCellKey } from "../cell-key-D1b_Ix-p.js";
|
|
2
|
+
import { t as meshOccupiedCells } from "../occupancy-mesher-DzNeJdQf.js";
|
|
3
3
|
//#region ../src/ar/occlusion-mesh-worker.ts
|
|
4
4
|
/** Only the surface-hugging modes read `getCellPoint`. */
|
|
5
5
|
function needsCentroids(mode) {
|
|
@@ -97,7 +97,7 @@ function runMeshRequest(request) {
|
|
|
97
97
|
]);
|
|
98
98
|
let getCellPoint;
|
|
99
99
|
const pts = centroids;
|
|
100
|
-
if (pts) {
|
|
100
|
+
if (pts && mode !== "smooth") {
|
|
101
101
|
const indexByKey = /* @__PURE__ */ new Map();
|
|
102
102
|
for (let i = 0; i < n; i++) indexByKey.set(packCellKey(flat[i * 3], flat[i * 3 + 1], flat[i * 3 + 2]), i);
|
|
103
103
|
getCellPoint = (cell) => {
|
|
@@ -114,7 +114,9 @@ function runMeshRequest(request) {
|
|
|
114
114
|
}
|
|
115
115
|
const mesh = meshOccupiedCells(cells, cellSizeM, {
|
|
116
116
|
mode,
|
|
117
|
-
getCellPoint
|
|
117
|
+
getCellPoint,
|
|
118
|
+
centroids,
|
|
119
|
+
includeAabbs: false
|
|
118
120
|
});
|
|
119
121
|
return {
|
|
120
122
|
response: {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as
|
|
2
|
-
export { OccupancyGrid, OccupancyGridOptions, cellKey, unpackCellKey };
|
|
1
|
+
import { a as cellKey, i as OccupancyGridOptions, n as DEFAULT_OCCUPANCY_MIN_OBSERVATIONS, o as unpackCellKey, r as OccupancyGrid, t as DEFAULT_OCCUPANCY_CELL_SIZE_M } from "../occupancy-grid-DKzIdCSZ.js";
|
|
2
|
+
export { DEFAULT_OCCUPANCY_CELL_SIZE_M, DEFAULT_OCCUPANCY_MIN_OBSERVATIONS, OccupancyGrid, OccupancyGridOptions, cellKey, unpackCellKey };
|