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,2 +1,2 @@
|
|
|
1
|
-
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-
|
|
1
|
+
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-DvGzBOrp.js";
|
|
2
2
|
export { EnableGpsArConfig, EnableGpsArController, EnableGpsArDeps, EnableGpsArResult, EnableGpsArState, EnableGpsArStatus, createEnableGpsArController };
|
package/dist/ar/enable-gps-ar.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createLogger } from "../utils/logger.js";
|
|
2
|
-
import {
|
|
2
|
+
import { C as initAR, c as endARSession, w as isWebXRSupported } from "../webxr-session-BCP2XK7k.js";
|
|
3
3
|
import { requestGeolocationPermission, requestOrientationPermission, requestWebXRWithDepthPermission } from "../sensors/permission-checker.js";
|
|
4
4
|
import { startGpsWatch, startOrientationWatch, stopGpsWatch, stopOrientationWatch } from "../sensors/gps.js";
|
|
5
5
|
//#region ../src/ar/enable-gps-ar.ts
|
package/dist/ar/frame-loop.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as runFrameUpdates, n as clearFrameUpdates, r as registerFrameUpdate, t as FrameUpdate } from "../frame-loop-
|
|
1
|
+
import { i as runFrameUpdates, n as clearFrameUpdates, r as registerFrameUpdate, t as FrameUpdate } from "../frame-loop-7GBMBu68.js";
|
|
2
2
|
export { FrameUpdate, clearFrameUpdates, registerFrameUpdate, runFrameUpdates };
|
package/dist/ar/frame-loop.js
CHANGED
|
@@ -15,6 +15,13 @@ import { createLogger } from "../utils/logger.js";
|
|
|
15
15
|
const log = createLogger("FrameLoop");
|
|
16
16
|
const updates = /* @__PURE__ */ new Set();
|
|
17
17
|
/**
|
|
18
|
+
* Cached iteration snapshot of {@link updates}, invalidated on every registry
|
|
19
|
+
* mutation. The snapshot SEMANTICS (a register/unregister during a tick defers
|
|
20
|
+
* to the next frame) are unchanged — caching only avoids re-allocating an
|
|
21
|
+
* identical array at 60–90 Hz between (rare) registry changes (PR #67 review).
|
|
22
|
+
*/
|
|
23
|
+
let snapshot = null;
|
|
24
|
+
/**
|
|
18
25
|
* Register a per-frame callback. Returns an unregister function.
|
|
19
26
|
*
|
|
20
27
|
* Registration is idempotent — calling with the same `fn` twice is a no-op
|
|
@@ -22,8 +29,10 @@ const updates = /* @__PURE__ */ new Set();
|
|
|
22
29
|
*/
|
|
23
30
|
function registerFrameUpdate(fn) {
|
|
24
31
|
updates.add(fn);
|
|
32
|
+
snapshot = null;
|
|
25
33
|
return () => {
|
|
26
34
|
updates.delete(fn);
|
|
35
|
+
snapshot = null;
|
|
27
36
|
};
|
|
28
37
|
}
|
|
29
38
|
/**
|
|
@@ -44,8 +53,8 @@ function registerFrameUpdate(fn) {
|
|
|
44
53
|
* logged and the loop continues — mirrored by `runXrFrameUpdates`.
|
|
45
54
|
*/
|
|
46
55
|
function runFrameUpdates(dt, elapsed) {
|
|
47
|
-
const snapshot = Array.from(updates);
|
|
48
|
-
for (const fn of
|
|
56
|
+
const fns = snapshot ?? (snapshot = Array.from(updates));
|
|
57
|
+
for (const fn of fns) try {
|
|
49
58
|
fn(dt, elapsed);
|
|
50
59
|
} catch (error) {
|
|
51
60
|
log.error("A registered FrameUpdate threw; continuing the loop", error);
|
|
@@ -58,6 +67,7 @@ function runFrameUpdates(dt, elapsed) {
|
|
|
58
67
|
*/
|
|
59
68
|
function clearFrameUpdates() {
|
|
60
69
|
updates.clear();
|
|
70
|
+
snapshot = null;
|
|
61
71
|
}
|
|
62
72
|
//#endregion
|
|
63
73
|
export { clearFrameUpdates, registerFrameUpdate, runFrameUpdates };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
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-
|
|
1
|
+
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-Bp6Pd4Md.js";
|
|
2
2
|
export { CapturedFrame, CapturedImage, DEFAULT_CAPTURE_CONFIG, FrameQualityVerdict, ImageCaptureCallbacks, ImageCaptureConfig, ImageCaptureManager, MIN_VALID_IMAGE_BYTES };
|
package/dist/ar/image-capture.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as ImageCaptureManager, r as MIN_VALID_IMAGE_BYTES, t as DEFAULT_CAPTURE_CONFIG } from "../image-capture-
|
|
1
|
+
import { n as ImageCaptureManager, r as MIN_VALID_IMAGE_BYTES, t as DEFAULT_CAPTURE_CONFIG } from "../image-capture-DVcuqMtX.js";
|
|
2
2
|
export { DEFAULT_CAPTURE_CONFIG, ImageCaptureManager, MIN_VALID_IMAGE_BYTES };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as QualityFilterConfig, c as meanLuminance, i as ImageQualityGate, l as rgbaToGrayscale, n as DEFAULT_SHARPNESS_HISTORY_SIZE, o as QualityRejectReason, r as DEFAULT_SHARPNESS_MIN_SAMPLES, s as QualityVerdict, t as DEFAULT_QUALITY_FILTER, u as sharpnessScore } from "../image-quality-
|
|
1
|
+
import { a as QualityFilterConfig, c as meanLuminance, i as ImageQualityGate, l as rgbaToGrayscale, n as DEFAULT_SHARPNESS_HISTORY_SIZE, o as QualityRejectReason, r as DEFAULT_SHARPNESS_MIN_SAMPLES, s as QualityVerdict, t as DEFAULT_QUALITY_FILTER, u as sharpnessScore } from "../image-quality-BMx2ko9-.js";
|
|
2
2
|
export { DEFAULT_QUALITY_FILTER, DEFAULT_SHARPNESS_HISTORY_SIZE, DEFAULT_SHARPNESS_MIN_SAMPLES, ImageQualityGate, QualityFilterConfig, QualityRejectReason, QualityVerdict, meanLuminance, rgbaToGrayscale, sharpnessScore };
|
package/dist/ar/image-quality.js
CHANGED
|
@@ -124,7 +124,8 @@ var ImageQualityGate = class {
|
|
|
124
124
|
minSamples;
|
|
125
125
|
constructor(historySize = 15, minSamples = 3) {
|
|
126
126
|
this.historySize = Number.isFinite(historySize) && historySize >= 1 ? Math.floor(historySize) : 15;
|
|
127
|
-
|
|
127
|
+
const wantedMinSamples = Number.isFinite(minSamples) && minSamples >= 1 ? Math.floor(minSamples) : 3;
|
|
128
|
+
this.minSamples = Math.min(wantedMinSamples, this.historySize);
|
|
128
129
|
}
|
|
129
130
|
/**
|
|
130
131
|
* Judge one frame from its precomputed metrics + the current config, updating
|
package/dist/ar/index.d.ts
CHANGED
|
@@ -1,31 +1,32 @@
|
|
|
1
|
-
import { r as bresenham3d, t as GridCell } from "../bresenham3d-
|
|
2
|
-
import { a as computeCaptureSize, i as computeAspectFitSize, n as CameraBlitCaptureConfig, r as DEFAULT_BLIT_CONFIG, t as CameraBlitCapture } from "../camera-blit-capture-
|
|
3
|
-
import { i as isFullySupported, n as CapabilitySupport, r as capabilityMessage, t as CapabilityMessageOptions } from "../capability-checker-
|
|
4
|
-
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-
|
|
5
|
-
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-
|
|
6
|
-
import { n as createDepthGridLookup, t as DepthGridLookup } from "../depth-grid-lookup-
|
|
7
|
-
import { a as wrapXRDepthInfo, i as DepthSamplerConfig, n as DepthSampler, r as DepthSamplerCallbacks, t as DepthInfo } from "../depth-sampler-
|
|
8
|
-
import { n as createDepthUnprojector, r as unprojectDepthPoint, t as DepthUnprojector } from "../depth-unprojection-
|
|
9
|
-
import { a as QualityFilterConfig, c as meanLuminance, i as ImageQualityGate, l as rgbaToGrayscale, n as DEFAULT_SHARPNESS_HISTORY_SIZE, o as QualityRejectReason, r as DEFAULT_SHARPNESS_MIN_SAMPLES, s as QualityVerdict, t as DEFAULT_QUALITY_FILTER, u as sharpnessScore } from "../image-quality-
|
|
10
|
-
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-
|
|
11
|
-
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-
|
|
12
|
-
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
|
|
13
|
-
import { i as acquireCameraTexture, n as RendererLike, r as XRCameraLike, t as CameraTextureResult } from "../xr-camera-texture-
|
|
14
|
-
import {
|
|
15
|
-
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-
|
|
16
|
-
import { r as registerFrameUpdate, t as FrameUpdate } from "../frame-loop-
|
|
17
|
-
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
|
-
import { t as createQrSizeDepthContext } from "../qr-size-depth-context-
|
|
19
|
-
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-
|
|
20
|
-
import { n as createQrDebugView, t as QrDebugView } from "../qr-debug-view-
|
|
21
|
-
import { a as createQrDetectionController, i as RawObservationSink, n as QrDetectionControllerDeps, r as QrScanStatus, t as QrDetectionController } from "../qr-detection-controller-
|
|
22
|
-
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-
|
|
23
|
-
import { A as QrGpsVoteInput, C as QrLevel, D as Enu, E as parseQrLevel, M as localPlaneToEnu, N as offsetGeo, O as METERS_PER_DEG_LAT, S as FetchQrLevelOptions, T as fetchQrLevel, _ as QrTrackingController, a as checkQrPlausibility, b as createQrTrackingController, c as QrDetectionScheduler, d as createQrDetectionScheduler, f as CameraFrameSource, g as QrSolvePoseInput, h as QrDetectionEvent, i as QrPlausibilityVerdict, j as buildQrGpsVotes, k as QrGeoPose, l as QrDetectionSchedulerConfig, m as CameraFrameSourceConfig, n as QrPlausibility, o as DetectionScheduler, p as CameraFrameSourceCallbacks, r as QrPlausibilityOptions, s as DetectionSchedulerConfig, t as OccupancySurface, u as createDetectionScheduler, v as QrTrackingControllerConfig, w as QrLevelValidationError, x as FetchLike, y as QrTrackingStatus } from "../index-
|
|
24
|
-
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-
|
|
25
|
-
import { n as OccupancyGridOptions, t as OccupancyGrid } from "../occupancy-grid-
|
|
26
|
-
import { i as
|
|
27
|
-
import {
|
|
28
|
-
import { t as
|
|
29
|
-
import { t as
|
|
30
|
-
import {
|
|
31
|
-
|
|
1
|
+
import { r as bresenham3d, t as GridCell } from "../bresenham3d-DGc4nIb-.js";
|
|
2
|
+
import { a as computeCaptureSize, i as computeAspectFitSize, n as CameraBlitCaptureConfig, r as DEFAULT_BLIT_CONFIG, t as CameraBlitCapture } from "../camera-blit-capture-BimSdyih.js";
|
|
3
|
+
import { i as isFullySupported, n as CapabilitySupport, r as capabilityMessage, t as CapabilityMessageOptions } from "../capability-checker-BTTpygvZ.js";
|
|
4
|
+
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-_BVfhpxv.js";
|
|
5
|
+
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-C6yJLXz9.js";
|
|
6
|
+
import { n as createDepthGridLookup, t as DepthGridLookup } from "../depth-grid-lookup-D5atpNZ3.js";
|
|
7
|
+
import { a as wrapXRDepthInfo, i as DepthSamplerConfig, n as DepthSampler, r as DepthSamplerCallbacks, t as DepthInfo } from "../depth-sampler-CwObAwEA.js";
|
|
8
|
+
import { n as createDepthUnprojector, r as unprojectDepthPoint, t as DepthUnprojector } from "../depth-unprojection-DRdBU90S.js";
|
|
9
|
+
import { a as QualityFilterConfig, c as meanLuminance, i as ImageQualityGate, l as rgbaToGrayscale, n as DEFAULT_SHARPNESS_HISTORY_SIZE, o as QualityRejectReason, r as DEFAULT_SHARPNESS_MIN_SAMPLES, s as QualityVerdict, t as DEFAULT_QUALITY_FILTER, u as sharpnessScore } from "../image-quality-BMx2ko9-.js";
|
|
10
|
+
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-Bp6Pd4Md.js";
|
|
11
|
+
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-y3vaEd6x.js";
|
|
12
|
+
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-BPURlh3S.js";
|
|
13
|
+
import { i as acquireCameraTexture, n as RendererLike, r as XRCameraLike, t as CameraTextureResult } from "../xr-camera-texture-q0eIDSRg.js";
|
|
14
|
+
import { $ as stopImageCapture, B as setImageQualityAnalyzer, C as getImageCaptureFrameCount, D as initAR, H as setSessionEndCallback, I as setCameraFrameCallback, J as startCameraFrameCapture, K as setTrackingStore, L as setDepthCaptureCallback, Q as stopDepthCapture, R as setFrameCallback, S as getDepthSampleCount, T as getScene, U as setTrackingCallbacks, W as setTrackingLostCallback, X as startImageCapture, Y as startDepthCapture, Z as stopCameraFrameCapture, _ as getCamera, b as getCurrentArPose, f as endARSession, g as getArWorldGroup, i as CameraFrameCaptureConfig, o as SessionEndInfo, s as SessionFeatureOptions, w as getLiveCss3dManager, x as getDepthInfoFromFrame, y as getCameraFrameCount, z as setImageCaptureCallback } from "../webxr-session-cRG2SYAQ.js";
|
|
15
|
+
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-DvGzBOrp.js";
|
|
16
|
+
import { r as registerFrameUpdate, t as FrameUpdate } from "../frame-loop-7GBMBu68.js";
|
|
17
|
+
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-DxiMqRUw.js";
|
|
18
|
+
import { t as createQrSizeDepthContext } from "../qr-size-depth-context-apAOmbrZ.js";
|
|
19
|
+
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-BwNWn8oV.js";
|
|
20
|
+
import { n as createQrDebugView, t as QrDebugView } from "../qr-debug-view-BJooqbiP.js";
|
|
21
|
+
import { a as createQrDetectionController, i as RawObservationSink, n as QrDetectionControllerDeps, r as QrScanStatus, t as QrDetectionController } from "../qr-detection-controller-Bo4XfQTP.js";
|
|
22
|
+
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-CypnmjA-.js";
|
|
23
|
+
import { A as QrGpsVoteInput, C as QrLevel, D as Enu, E as parseQrLevel, M as localPlaneToEnu, N as offsetGeo, O as METERS_PER_DEG_LAT, S as FetchQrLevelOptions, T as fetchQrLevel, _ as QrTrackingController, a as checkQrPlausibility, b as createQrTrackingController, c as QrDetectionScheduler, d as createQrDetectionScheduler, f as CameraFrameSource, g as QrSolvePoseInput, h as QrDetectionEvent, i as QrPlausibilityVerdict, j as buildQrGpsVotes, k as QrGeoPose, l as QrDetectionSchedulerConfig, m as CameraFrameSourceConfig, n as QrPlausibility, o as DetectionScheduler, p as CameraFrameSourceCallbacks, r as QrPlausibilityOptions, s as DetectionSchedulerConfig, t as OccupancySurface, u as createDetectionScheduler, v as QrTrackingControllerConfig, w as QrLevelValidationError, x as FetchLike, y as QrTrackingStatus } from "../index-cCQWuYqy.js";
|
|
24
|
+
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-D7bc_rLX.js";
|
|
25
|
+
import { n as OccupancyGridOptions, t as OccupancyGrid } from "../occupancy-grid-BV7RhB7I.js";
|
|
26
|
+
import { a as meshOccupiedCells, i as OccupancyMeshResult, r as MeshOccupiedCellsOptions, t as Aabb } from "../occupancy-mesher-C2ecWhNp.js";
|
|
27
|
+
import { i as registerXrFrameUpdate, n as XrFrameUpdate, t as XrFrameContext } from "../xr-frame-loop-DX3JPpAU.js";
|
|
28
|
+
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-zJ8SFDjE.js";
|
|
29
|
+
import { t as SCENE_NODE } from "../scene-node-names-CGb-ylBd.js";
|
|
30
|
+
import { t as WEBXR_TO_NUE } from "../webxr-nue-basis-CaCnYxuq.js";
|
|
31
|
+
import { n as XR_ERROR_MESSAGE_UNKNOWN, r as getXrErrorMessage, t as XR_ERROR_MESSAGES } from "../xr-error-handler-uVGDu9IX.js";
|
|
32
|
+
export { Aabb, AggregateQrPoseResult, AverageRotationOptions, AverageRotationResult, BASELAYER_WINDOW_MAX, BASELAYER_WINDOW_MIN, BarcodeDetectorFrontEnd, BarcodeDetectorLike, CAPTURE_FAILURE_WARNING, CameraBlitCapture, CameraBlitCaptureConfig, CameraFrameCaptureConfig, CameraFrameSource, CameraFrameSourceCallbacks, CameraFrameSourceConfig, CameraIntrinsics, CameraMode, CameraTextureResult, CapabilityMessageOptions, CapabilitySupport, CaptureFailureTracker, CaptureFailureTrackerConfig, CapturedFrame, CapturedImage, ChromeVersion, ChromiumProjectionLayerWorkaroundResult, 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, Homography, ImageCaptureCallbacks, ImageCaptureConfig, ImageCaptureManager, ImageQualityGate, ImageSize, IncrementalQrPlacement, METERS_PER_DEG_LAT, 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, 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, getLiveCss3dManager, getReplayState, getScene, getXrErrorMessage, homographyFromCorrespondences, initAR, initReplayScene, intrinsicsFromProjection, invertPose, ippePoseCandidates, isFullySupported, localPlaneToEnu, meanLuminance, meshOccupiedCells, nearestRotation3x3, needsBaseLayerPersistence, offsetGeo, parseChromeVersion, parseQrLevel, projectViewPoint, qrInCameraFromOpenCv, registerFrameUpdate, registerXrFrameUpdate, reprojectionErrorPx, rgbaToGrayscale, rotationToRodrigues, setCameraFrameCallback, setDepthCaptureCallback, setFrameCallback, setImageCaptureCallback, setImageQualityAnalyzer, setSessionEndCallback, setTrackingCallbacks, setTrackingLostCallback, setTrackingStore, sharpnessScore, signedQuadArea, solveLinear, solveQrPose, solveQrPoseFromObservation, startCameraFrameCapture, startDepthCapture, startImageCapture, stopCameraFrameCapture, stopDepthCapture, stopImageCapture, toggleCameraMode, transformPoint, unprojectDepthPoint, updateOrbitTarget, validateQuad, wrapXRDepthInfo };
|
package/dist/ar/index.js
CHANGED
|
@@ -13,19 +13,20 @@ import { WEBXR_TO_NUE } from "./webxr-nue-basis.js";
|
|
|
13
13
|
import { createQrDebugView } from "./qr-debug-view.js";
|
|
14
14
|
import { n as createDetectionScheduler, r as createQrDetectionScheduler, t as createQrDetectionController } from "../qr-detection-controller-B-tLVd-S.js";
|
|
15
15
|
import { i as evaluateQrPoseStability, n as aggregateQrPose, r as averageRotation, t as DEFAULT_ROTATION_INLIER_ANGLE_DEG } from "../qr-pose-aggregation-DBiaLW0O.js";
|
|
16
|
-
import { a as localPlaneToEnu, c as fetchQrLevel, i as buildQrGpsVotes, l as parseQrLevel, n as createQrTrackingController, o as offsetGeo, r as METERS_PER_DEG_LAT, s as QrLevelValidationError, t as checkQrPlausibility } from "../ar-
|
|
16
|
+
import { a as localPlaneToEnu, c as fetchQrLevel, i as buildQrGpsVotes, l as parseQrLevel, n as createQrTrackingController, o as offsetGeo, r as METERS_PER_DEG_LAT, s as QrLevelValidationError, t as checkQrPlausibility } from "../ar-BqCudtqE.js";
|
|
17
17
|
import { BarcodeDetectorFrontEnd, createBarcodeDetectorFrontEnd } from "./qr-frontend.js";
|
|
18
|
-
import {
|
|
18
|
+
import { B as setTrackingLostCallback, C as initAR, F as setImageCaptureCallback, G as startDepthCapture, H as setTrackingStore, I as setImageQualityAnalyzer, J as stopDepthCapture, K as startImageCapture, M as setCameraFrameCallback, N as setDepthCaptureCallback, P as setFrameCallback, R as setSessionEndCallback, W as startCameraFrameCapture, X as CameraFrameSource, Y as stopImageCapture, _ as getDepthInfoFromFrame, b as getLiveCss3dManager, c as endARSession, f as getArWorldGroup, g as getCurrentArPose, h as getCameraFrameCount, p as getCamera, q as stopCameraFrameCapture, v as getDepthSampleCount, x as getScene, y as getImageCaptureFrameCount, z as setTrackingCallbacks } from "../webxr-session-BCP2XK7k.js";
|
|
19
19
|
import { PlanarPnpSquare, homographyFromCorrespondences, ippePoseCandidates, nearestRotation3x3, rotationToRodrigues, solveLinear } from "./planar-pnp.js";
|
|
20
20
|
import { bresenham3d } from "./bresenham3d.js";
|
|
21
21
|
import { OccupancyGrid } from "./occupancy-grid.js";
|
|
22
|
+
import { meshOccupiedCells } from "./occupancy-mesher.js";
|
|
22
23
|
import { registerFrameUpdate } from "./frame-loop.js";
|
|
23
24
|
import { registerXrFrameUpdate } from "./xr-frame-loop.js";
|
|
24
|
-
import { n as ImageCaptureManager, r as MIN_VALID_IMAGE_BYTES, t as DEFAULT_CAPTURE_CONFIG } from "../image-capture-
|
|
25
|
+
import { n as ImageCaptureManager, r as MIN_VALID_IMAGE_BYTES, t as DEFAULT_CAPTURE_CONFIG } from "../image-capture-DVcuqMtX.js";
|
|
25
26
|
import { DEFAULT_QUALITY_FILTER, DEFAULT_SHARPNESS_HISTORY_SIZE, DEFAULT_SHARPNESS_MIN_SAMPLES, ImageQualityGate, meanLuminance, rgbaToGrayscale, sharpnessScore } from "./image-quality.js";
|
|
26
27
|
import { acquireCameraTexture } from "./xr-camera-texture.js";
|
|
27
28
|
import { SCENE_NODE } from "./scene-node-names.js";
|
|
28
29
|
import { createEnableGpsArController } from "./enable-gps-ar.js";
|
|
29
30
|
import { disposeReplayScene, getAlignmentLerper, getCameraFollower, getCameraMode, getReplayState, initReplayScene, toggleCameraMode, updateOrbitTarget } from "./replay-scene.js";
|
|
30
31
|
import { XR_ERROR_MESSAGES, XR_ERROR_MESSAGE_UNKNOWN, getXrErrorMessage } from "./xr-error-handler.js";
|
|
31
|
-
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, METERS_PER_DEG_LAT, 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, getDepthSampleCount, getImageCaptureFrameCount, getLiveCss3dManager, getReplayState, getScene, getXrErrorMessage, homographyFromCorrespondences, initAR, initReplayScene, intrinsicsFromProjection, invertPose, ippePoseCandidates, isFullySupported, localPlaneToEnu, meanLuminance, nearestRotation3x3, needsBaseLayerPersistence, offsetGeo, parseChromeVersion, parseQrLevel, projectViewPoint, qrInCameraFromOpenCv, registerFrameUpdate, registerXrFrameUpdate, reprojectionErrorPx, rgbaToGrayscale, rotationToRodrigues, setCameraFrameCallback, setDepthCaptureCallback, setFrameCallback, setImageCaptureCallback, setImageQualityAnalyzer, setTrackingCallbacks, setTrackingLostCallback, setTrackingStore, sharpnessScore, signedQuadArea, solveLinear, solveQrPose, solveQrPoseFromObservation, startCameraFrameCapture, startDepthCapture, startImageCapture, stopCameraFrameCapture, stopDepthCapture, stopImageCapture, toggleCameraMode, transformPoint, unprojectDepthPoint, updateOrbitTarget, validateQuad, wrapXRDepthInfo };
|
|
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, METERS_PER_DEG_LAT, 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, getLiveCss3dManager, getReplayState, getScene, getXrErrorMessage, homographyFromCorrespondences, initAR, initReplayScene, intrinsicsFromProjection, invertPose, ippePoseCandidates, isFullySupported, localPlaneToEnu, meanLuminance, meshOccupiedCells, nearestRotation3x3, needsBaseLayerPersistence, offsetGeo, parseChromeVersion, parseQrLevel, projectViewPoint, qrInCameraFromOpenCv, registerFrameUpdate, registerXrFrameUpdate, reprojectionErrorPx, rgbaToGrayscale, rotationToRodrigues, setCameraFrameCallback, setDepthCaptureCallback, setFrameCallback, setImageCaptureCallback, setImageQualityAnalyzer, setSessionEndCallback, setTrackingCallbacks, setTrackingLostCallback, setTrackingStore, sharpnessScore, signedQuadArea, solveLinear, solveQrPose, solveQrPoseFromObservation, startCameraFrameCapture, startDepthCapture, startImageCapture, stopCameraFrameCapture, stopDepthCapture, stopImageCapture, toggleCameraMode, transformPoint, unprojectDepthPoint, updateOrbitTarget, validateQuad, wrapXRDepthInfo };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { t as GridCell } from "../bresenham3d-DGc4nIb-.js";
|
|
2
|
+
import { n as MeshMode } from "../occupancy-mesher-C2ecWhNp.js";
|
|
3
|
+
import { Vector3 } from "gps-plus-slam-js";
|
|
4
|
+
|
|
5
|
+
//#region ../src/ar/occlusion-mesh-worker.d.ts
|
|
6
|
+
/** Main-thread → worker: an occupied-cell snapshot to mesh. */
|
|
7
|
+
interface MeshWorkerRequest {
|
|
8
|
+
/** Correlates a response with its request (the driver coalesces by newest id). */
|
|
9
|
+
readonly id: number;
|
|
10
|
+
/** Flat occupied cells `[x0,y0,z0, x1,y1,z1, …]`. */
|
|
11
|
+
readonly cells: Int32Array;
|
|
12
|
+
readonly cellSizeM: number;
|
|
13
|
+
readonly mode: MeshMode;
|
|
14
|
+
/**
|
|
15
|
+
* Per-cell measured surface point, flat and parallel to `cells`
|
|
16
|
+
* (`[cx,cy,cz, …]`), or `null` for the cube modes that ignore it. A `NaN`
|
|
17
|
+
* triple marks a cell whose `getCellPoint` was `null` (geometric fallback).
|
|
18
|
+
*/
|
|
19
|
+
readonly centroids: Float64Array | null;
|
|
20
|
+
}
|
|
21
|
+
/** Worker → main thread: the meshed geometry (typed arrays, transferable). */
|
|
22
|
+
interface MeshWorkerResponse {
|
|
23
|
+
readonly id: number;
|
|
24
|
+
readonly positions: Float32Array;
|
|
25
|
+
readonly indices: Uint32Array;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Pack an occupied-cell snapshot into a transferable {@link MeshWorkerRequest}
|
|
29
|
+
* (main thread). `transfer` is the list to pass as the second `postMessage` arg
|
|
30
|
+
* so the buffers move (not copy) to the worker.
|
|
31
|
+
*
|
|
32
|
+
* `cells` may be the classic tuple array or an already-flat
|
|
33
|
+
* `[x0,y0,z0, x1,y1,z1, …]` Int32Array (Step 1.3 of the 2026-07-03
|
|
34
|
+
* long-session fps plan — `OccupancyGrid.getOccupiedCellsFlat` hands the
|
|
35
|
+
* snapshot over flat, deleting the tuple intermediate this function used to
|
|
36
|
+
* re-flatten). A flat snapshot is used **zero-copy**: its buffer lands in
|
|
37
|
+
* `transfer` and is DETACHED after posting — callers must pass a fresh array
|
|
38
|
+
* they do not reuse. Throws `RangeError` when a flat snapshot's length is not
|
|
39
|
+
* a multiple of 3 (a truncated buffer must fail loudly, not mesh garbage).
|
|
40
|
+
*
|
|
41
|
+
* `getCellPoint` receives a **transient** cell tuple (a reused scratch on the
|
|
42
|
+
* flat path — see `MeshOccupiedCellsOptions.getCellPoint` for the contract):
|
|
43
|
+
* implementations must not retain the tuple beyond the call.
|
|
44
|
+
*/
|
|
45
|
+
declare function packMeshRequest(id: number, cells: readonly GridCell[] | Int32Array, cellSizeM: number, mode: MeshMode, getCellPoint?: (cell: GridCell) => Vector3 | null): {
|
|
46
|
+
request: MeshWorkerRequest;
|
|
47
|
+
transfer: ArrayBufferLike[];
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Mesh a {@link MeshWorkerRequest} (worker side). Returns the geometry plus the
|
|
51
|
+
* transfer list for posting back. Byte-identical to a direct `meshOccupiedCells`.
|
|
52
|
+
*/
|
|
53
|
+
declare function runMeshRequest(request: MeshWorkerRequest): {
|
|
54
|
+
response: MeshWorkerResponse;
|
|
55
|
+
transfer: ArrayBufferLike[];
|
|
56
|
+
};
|
|
57
|
+
//#endregion
|
|
58
|
+
export { MeshWorkerRequest, MeshWorkerResponse, packMeshRequest, runMeshRequest };
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { a as packCellKey } from "../cell-key-DIB4rOTV.js";
|
|
2
|
+
import { meshOccupiedCells } from "./occupancy-mesher.js";
|
|
3
|
+
//#region ../src/ar/occlusion-mesh-worker.ts
|
|
4
|
+
/** Only the surface-hugging modes read `getCellPoint`. */
|
|
5
|
+
function needsCentroids(mode) {
|
|
6
|
+
return mode === "smooth" || mode === "corner-fit";
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Pack an occupied-cell snapshot into a transferable {@link MeshWorkerRequest}
|
|
10
|
+
* (main thread). `transfer` is the list to pass as the second `postMessage` arg
|
|
11
|
+
* so the buffers move (not copy) to the worker.
|
|
12
|
+
*
|
|
13
|
+
* `cells` may be the classic tuple array or an already-flat
|
|
14
|
+
* `[x0,y0,z0, x1,y1,z1, …]` Int32Array (Step 1.3 of the 2026-07-03
|
|
15
|
+
* long-session fps plan — `OccupancyGrid.getOccupiedCellsFlat` hands the
|
|
16
|
+
* snapshot over flat, deleting the tuple intermediate this function used to
|
|
17
|
+
* re-flatten). A flat snapshot is used **zero-copy**: its buffer lands in
|
|
18
|
+
* `transfer` and is DETACHED after posting — callers must pass a fresh array
|
|
19
|
+
* they do not reuse. Throws `RangeError` when a flat snapshot's length is not
|
|
20
|
+
* a multiple of 3 (a truncated buffer must fail loudly, not mesh garbage).
|
|
21
|
+
*
|
|
22
|
+
* `getCellPoint` receives a **transient** cell tuple (a reused scratch on the
|
|
23
|
+
* flat path — see `MeshOccupiedCellsOptions.getCellPoint` for the contract):
|
|
24
|
+
* implementations must not retain the tuple beyond the call.
|
|
25
|
+
*/
|
|
26
|
+
function packMeshRequest(id, cells, cellSizeM, mode, getCellPoint) {
|
|
27
|
+
let flat;
|
|
28
|
+
let n;
|
|
29
|
+
if (cells instanceof Int32Array) {
|
|
30
|
+
if (cells.length % 3 !== 0) throw new RangeError(`flat cell snapshot length must be a multiple of 3, got ${cells.length}`);
|
|
31
|
+
flat = cells;
|
|
32
|
+
n = cells.length / 3;
|
|
33
|
+
} else {
|
|
34
|
+
n = cells.length;
|
|
35
|
+
flat = new Int32Array(n * 3);
|
|
36
|
+
for (let i = 0; i < n; i++) {
|
|
37
|
+
const c = cells[i];
|
|
38
|
+
flat[i * 3] = c[0];
|
|
39
|
+
flat[i * 3 + 1] = c[1];
|
|
40
|
+
flat[i * 3 + 2] = c[2];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
let centroids = null;
|
|
44
|
+
if (needsCentroids(mode) && getCellPoint) {
|
|
45
|
+
centroids = new Float64Array(n * 3);
|
|
46
|
+
const scratch = [
|
|
47
|
+
0,
|
|
48
|
+
0,
|
|
49
|
+
0
|
|
50
|
+
];
|
|
51
|
+
for (let i = 0; i < n; i++) {
|
|
52
|
+
let cell;
|
|
53
|
+
if (cells instanceof Int32Array) {
|
|
54
|
+
scratch[0] = flat[i * 3];
|
|
55
|
+
scratch[1] = flat[i * 3 + 1];
|
|
56
|
+
scratch[2] = flat[i * 3 + 2];
|
|
57
|
+
cell = scratch;
|
|
58
|
+
} else cell = cells[i];
|
|
59
|
+
const cp = getCellPoint(cell);
|
|
60
|
+
if (cp) {
|
|
61
|
+
centroids[i * 3] = cp[0];
|
|
62
|
+
centroids[i * 3 + 1] = cp[1];
|
|
63
|
+
centroids[i * 3 + 2] = cp[2];
|
|
64
|
+
} else {
|
|
65
|
+
centroids[i * 3] = NaN;
|
|
66
|
+
centroids[i * 3 + 1] = NaN;
|
|
67
|
+
centroids[i * 3 + 2] = NaN;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const request = {
|
|
72
|
+
id,
|
|
73
|
+
cells: flat,
|
|
74
|
+
cellSizeM,
|
|
75
|
+
mode,
|
|
76
|
+
centroids
|
|
77
|
+
};
|
|
78
|
+
const transfer = [flat.buffer];
|
|
79
|
+
if (centroids) transfer.push(centroids.buffer);
|
|
80
|
+
return {
|
|
81
|
+
request,
|
|
82
|
+
transfer
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Mesh a {@link MeshWorkerRequest} (worker side). Returns the geometry plus the
|
|
87
|
+
* transfer list for posting back. Byte-identical to a direct `meshOccupiedCells`.
|
|
88
|
+
*/
|
|
89
|
+
function runMeshRequest(request) {
|
|
90
|
+
const { id, cells: flat, cellSizeM, mode, centroids } = request;
|
|
91
|
+
const n = flat.length / 3;
|
|
92
|
+
const cells = [];
|
|
93
|
+
for (let i = 0; i < n; i++) cells.push([
|
|
94
|
+
flat[i * 3],
|
|
95
|
+
flat[i * 3 + 1],
|
|
96
|
+
flat[i * 3 + 2]
|
|
97
|
+
]);
|
|
98
|
+
let getCellPoint;
|
|
99
|
+
const pts = centroids;
|
|
100
|
+
if (pts) {
|
|
101
|
+
const indexByKey = /* @__PURE__ */ new Map();
|
|
102
|
+
for (let i = 0; i < n; i++) indexByKey.set(packCellKey(flat[i * 3], flat[i * 3 + 1], flat[i * 3 + 2]), i);
|
|
103
|
+
getCellPoint = (cell) => {
|
|
104
|
+
const i = indexByKey.get(packCellKey(cell[0], cell[1], cell[2]));
|
|
105
|
+
if (i === void 0) return null;
|
|
106
|
+
const cx = pts[i * 3];
|
|
107
|
+
if (Number.isNaN(cx)) return null;
|
|
108
|
+
return [
|
|
109
|
+
cx,
|
|
110
|
+
pts[i * 3 + 1],
|
|
111
|
+
pts[i * 3 + 2]
|
|
112
|
+
];
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
const mesh = meshOccupiedCells(cells, cellSizeM, {
|
|
116
|
+
mode,
|
|
117
|
+
getCellPoint
|
|
118
|
+
});
|
|
119
|
+
return {
|
|
120
|
+
response: {
|
|
121
|
+
id,
|
|
122
|
+
positions: mesh.positions,
|
|
123
|
+
indices: mesh.indices
|
|
124
|
+
},
|
|
125
|
+
transfer: [mesh.positions.buffer, mesh.indices.buffer]
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
//#endregion
|
|
129
|
+
export { packMeshRequest, runMeshRequest };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as OccupancyGridOptions, t as OccupancyGrid } from "../occupancy-grid-
|
|
2
|
-
export { OccupancyGrid, OccupancyGridOptions };
|
|
1
|
+
import { i as unpackCellKey, n as OccupancyGridOptions, r as cellKey, t as OccupancyGrid } from "../occupancy-grid-BV7RhB7I.js";
|
|
2
|
+
export { OccupancyGrid, OccupancyGridOptions, cellKey, unpackCellKey };
|