gps-plus-slam-app-framework 1.2.0 → 1.4.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.
Files changed (230) hide show
  1. package/dist/{app-selectors-CcZ5UV-8.d.ts → app-selectors-CrOucL00.d.ts} +1 -1
  2. package/dist/ar/bresenham3d.d.ts +1 -1
  3. package/dist/ar/camera-blit-capture.d.ts +2 -2
  4. package/dist/ar/camera-blit-capture.js +87 -9
  5. package/dist/ar/capability-checker.d.ts +1 -1
  6. package/dist/ar/capture-failure-tracker.d.ts +1 -1
  7. package/dist/ar/chromium-camera-access-workaround.d.ts +1 -1
  8. package/dist/ar/depth-grid-lookup.d.ts +2 -0
  9. package/dist/ar/depth-grid-lookup.js +43 -0
  10. package/dist/ar/depth-sampler.d.ts +2 -2
  11. package/dist/ar/depth-sampler.js +2 -4
  12. package/dist/ar/depth-unprojection.d.ts +1 -1
  13. package/dist/ar/enable-gps-ar.d.ts +1 -1
  14. package/dist/ar/enable-gps-ar.js +26 -1
  15. package/dist/ar/frame-loop.d.ts +1 -1
  16. package/dist/ar/image-capture.d.ts +2 -2
  17. package/dist/ar/image-capture.js +7 -5
  18. package/dist/ar/index.d.ts +30 -19
  19. package/dist/ar/index.js +15 -4
  20. package/dist/ar/occupancy-grid.d.ts +1 -1
  21. package/dist/ar/occupancy-grid.js +29 -2
  22. package/dist/ar/planar-pnp.d.ts +2 -0
  23. package/dist/ar/planar-pnp.js +425 -0
  24. package/dist/ar/qr-debug-view.d.ts +2 -0
  25. package/dist/ar/qr-debug-view.js +89 -0
  26. package/dist/ar/qr-derived-pose.d.ts +2 -0
  27. package/dist/ar/qr-derived-pose.js +114 -0
  28. package/dist/ar/qr-detection-controller.d.ts +2 -0
  29. package/dist/ar/qr-detection-controller.js +2 -0
  30. package/dist/ar/qr-frontend.d.ts +2 -0
  31. package/dist/ar/qr-frontend.js +60 -0
  32. package/dist/ar/qr-pose.d.ts +2 -0
  33. package/dist/ar/qr-pose.js +267 -0
  34. package/dist/ar/qr-size-depth-context.d.ts +3 -0
  35. package/dist/ar/qr-size-depth-context.js +42 -0
  36. package/dist/ar/qr-size-measurer.d.ts +2 -0
  37. package/dist/ar/qr-size-measurer.js +2 -0
  38. package/dist/ar/replay-scene.d.ts +1 -1
  39. package/dist/ar/replay-scene.js +1 -1
  40. package/dist/ar/scene-node-names.d.ts +1 -1
  41. package/dist/ar/webxr-nue-basis.d.ts +1 -1
  42. package/dist/ar/webxr-session.d.ts +4 -4
  43. package/dist/ar/webxr-session.js +2 -2
  44. package/dist/ar/xr-camera-texture.d.ts +1 -1
  45. package/dist/ar/xr-error-handler.d.ts +1 -1
  46. package/dist/ar/xr-frame-loop.d.ts +1 -1
  47. package/dist/ar-Dc72Ksiu.js +382 -0
  48. package/dist/{ar-world-group-alignment-ColHB_5A.d.ts → ar-world-group-alignment-DDLkgNf_.d.ts} +1 -1
  49. package/dist/{camera-blit-capture-D5_mNhla.d.ts → camera-blit-capture-CqWe1G7s.d.ts} +66 -4
  50. package/dist/concurrency-DqAlKX4j.d.ts +50 -0
  51. package/dist/core/index.d.ts +1 -1
  52. package/dist/{create-slam-app-store-qNXQ-tq5.d.ts → create-slam-app-store-Ce2FMKCp.d.ts} +5 -5
  53. package/dist/depth-grid-lookup-vMDrGTk_.d.ts +21 -0
  54. package/dist/{depth-sampler-Bhanfwla.d.ts → depth-sampler-DwfPYzS7.d.ts} +1 -1
  55. package/dist/{depth-unprojection-Y6i_mJuT.d.ts → depth-unprojection-CK3b9htH.d.ts} +1 -1
  56. package/dist/{enable-gps-ar-CapmADVN.d.ts → enable-gps-ar-CjZ1nEdu.d.ts} +4 -4
  57. package/dist/file-system-utils-Bs7lpeVP.d.ts +40 -0
  58. package/dist/{frame-conversions-BfsafGWR.d.ts → frame-conversions-D_Af8Dt3.d.ts} +1 -1
  59. package/dist/{fused-path-DJoVu98b.d.ts → fused-path-C0FHe67t.d.ts} +1 -1
  60. package/dist/geo/h3-proximity.d.ts +2 -2
  61. package/dist/geo/h3-proximity.js +61 -2
  62. package/dist/geo/index.d.ts +2 -2
  63. package/dist/geo/index.js +2 -2
  64. package/dist/{gps-anchor-dYeCvvp5.d.ts → gps-anchor-C6I9NDHA.d.ts} +1 -1
  65. package/dist/{gps-ar-pose-sampler-DVb96iOy.d.ts → gps-ar-pose-sampler-DaHg2aPZ.d.ts} +1 -1
  66. package/dist/{gps-event-coordinator-BDIQde2x.d.ts → gps-event-coordinator-C7hwHyLA.d.ts} +3 -3
  67. package/dist/{gps-event-markers-Dc9FT-q1.d.ts → gps-event-markers-Dd0G2bD0.d.ts} +18 -0
  68. package/dist/{h3-proximity-I1msGPgE.d.ts → h3-proximity-B57C6rYL.d.ts} +39 -1
  69. package/dist/{image-capture-DZ4HFRgS.d.ts → image-capture-C2Feywet.d.ts} +30 -4
  70. package/dist/index-BvLo2poy.d.ts +399 -0
  71. package/dist/{index-KJq2amHF.d.ts → index-m_LneUSi.d.ts} +1 -1
  72. package/dist/index.d.ts +77 -67
  73. package/dist/index.js +18 -9
  74. package/dist/{leaflet-map-overlay-6CJC-E1l.d.ts → leaflet-map-overlay-bnb2U1NQ.d.ts} +1 -1
  75. package/dist/{map-data-CkloBxIl.d.ts → map-data-DdjPiSav.d.ts} +1 -1
  76. package/dist/{map-overlay-draw-krOKwDAq.d.ts → map-overlay-draw-CPVdAsFq.d.ts} +1 -1
  77. package/dist/{null-storage-backend-CxEjZHRW.d.ts → null-storage-backend-CuSdYFsM.d.ts} +2 -2
  78. package/dist/{occupancy-grid-BRNRaPyT.d.ts → occupancy-grid-Bvi2Gw1U.d.ts} +12 -2
  79. package/dist/{opfs-storage-DYm8WHq7.d.ts → opfs-storage-DMtlt57S.d.ts} +25 -6
  80. package/dist/{opfs-storage-backend-CjSAuqg_.d.ts → opfs-storage-backend-CeQAb0SD.d.ts} +3 -3
  81. package/dist/{persistence-middleware-DwyzgfWr.d.ts → persistence-middleware-5eearhSV.d.ts} +1 -1
  82. package/dist/planar-pnp-cjthe7Be.d.ts +67 -0
  83. package/dist/qr-debug-view-B8gTzjMm.d.ts +29 -0
  84. package/dist/qr-derived-pose-DinKE600.d.ts +122 -0
  85. package/dist/qr-detected-slice-Cpv-dg82.d.ts +166 -0
  86. package/dist/qr-detection-controller-B-tLVd-S.js +119 -0
  87. package/dist/qr-detection-controller-Cd2Ih4cC.d.ts +48 -0
  88. package/dist/qr-frontend-DufZp2xS.d.ts +58 -0
  89. package/dist/qr-pose-Bt2reSw7.d.ts +138 -0
  90. package/dist/qr-pose-aggregation-CFlmLm6w.d.ts +90 -0
  91. package/dist/qr-pose-aggregation-DXR9STHs.js +200 -0
  92. package/dist/qr-size-depth-context-onu36E9s.d.ts +13 -0
  93. package/dist/qr-size-measurer-D7739ZpB.d.ts +165 -0
  94. package/dist/qr-size-measurer-DLb33geH.js +596 -0
  95. package/dist/recording-options-D93kksJU.d.ts +369 -0
  96. package/dist/{recording-replayer-BL-x-7k0.d.ts → recording-replayer-CUEK82tM.d.ts} +2 -2
  97. package/dist/recording-slice-B-uCgGoh.d.ts +55 -0
  98. package/dist/{replay-engine-BRqszuQ9.d.ts → replay-engine-BSVd7Zzb.d.ts} +7 -4
  99. package/dist/{replay-scene-Bw58VL6p.d.ts → replay-scene-CPt56pps.d.ts} +3 -3
  100. package/dist/sensors/gps-error-handler.d.ts +1 -1
  101. package/dist/sensors/gps.d.ts +1 -1
  102. package/dist/sensors/index.d.ts +3 -3
  103. package/dist/sensors/permission-checker.d.ts +1 -1
  104. package/dist/sensors/permission-checker.js +1 -1
  105. package/dist/state/app-selectors.d.ts +1 -1
  106. package/dist/state/app-selectors.js +3 -1
  107. package/dist/state/combined-root-state.d.ts +1 -1
  108. package/dist/state/create-slam-app-store.d.ts +1 -1
  109. package/dist/state/gps-ar-pose-sampler.d.ts +3 -3
  110. package/dist/state/gps-event-coordinator.d.ts +1 -1
  111. package/dist/state/index.d.ts +20 -17
  112. package/dist/state/index.js +3 -2
  113. package/dist/state/persistence-middleware.d.ts +1 -1
  114. package/dist/state/qr-detected-slice.d.ts +4 -0
  115. package/dist/state/qr-detected-slice.js +311 -0
  116. package/dist/state/recording-options.d.ts +2 -2
  117. package/dist/state/recording-options.js +128 -4
  118. package/dist/state/recording-replayer.d.ts +2 -2
  119. package/dist/state/recording-slice.d.ts +1 -1
  120. package/dist/state/recording-slice.js +5 -1
  121. package/dist/state/replay-engine.d.ts +1 -1
  122. package/dist/state/replay-engine.js +7 -3
  123. package/dist/state/store-subscribers.d.ts +2 -2
  124. package/dist/state/subscribe-to-selector.d.ts +1 -1
  125. package/dist/state/tracking-quality.d.ts +1 -1
  126. package/dist/state/tracking-slice.d.ts +1 -1
  127. package/dist/{state-BkIfpiyA.js → state-IEw0ZsBu.js} +1 -0
  128. package/dist/storage/file-system-utils.d.ts +2 -2
  129. package/dist/storage/file-system-utils.js +17 -1
  130. package/dist/storage/index.d.ts +9 -9
  131. package/dist/storage/index.js +4 -4
  132. package/dist/storage/null-storage-backend.d.ts +1 -1
  133. package/dist/storage/opfs-storage-backend.d.ts +1 -1
  134. package/dist/storage/opfs-storage-backend.js +3 -3
  135. package/dist/storage/opfs-storage.d.ts +1 -1
  136. package/dist/storage/opfs-storage.js +9 -8
  137. package/dist/storage/storage-backend.d.ts +1 -1
  138. package/dist/storage/zip-coverage-embed.d.ts +2 -0
  139. package/dist/storage/zip-coverage-embed.js +88 -0
  140. package/dist/storage/zip-export.d.ts +2 -2
  141. package/dist/storage/zip-export.js +38 -60
  142. package/dist/storage/zip-reader.d.ts +1 -1
  143. package/dist/storage/zip-reader.js +1 -1
  144. package/dist/{storage-backend-C9HLFtgz.d.ts → storage-backend-CTJHNdMp.d.ts} +1 -1
  145. package/dist/{store-subscribers-rrkLkFTt.d.ts → store-subscribers-BZP81hjh.d.ts} +2 -2
  146. package/dist/{subscribe-to-selector-CP3BKSbF.d.ts → subscribe-to-selector-Bp3sLx8L.d.ts} +1 -1
  147. package/dist/test-utils/browser-mocks.d.ts +7 -1
  148. package/dist/test-utils/browser-mocks.js +6 -0
  149. package/dist/test-utils/zip-round-trip-helpers.d.ts +9 -1
  150. package/dist/test-utils/zip-round-trip-helpers.js +8 -3
  151. package/dist/{tracking-slice-CdK8c-8P.d.ts → tracking-slice-DJZ9qeGg.d.ts} +1 -1
  152. package/dist/types/ar-types.d.ts +1 -1
  153. package/dist/types/geo-types.d.ts +1 -1
  154. package/dist/types/index.d.ts +2 -2
  155. package/dist/utils/concurrency.d.ts +2 -2
  156. package/dist/utils/concurrency.js +66 -2
  157. package/dist/utils/failure-tracker.d.ts +1 -1
  158. package/dist/utils/format-file-size.d.ts +1 -1
  159. package/dist/utils/fused-path.d.ts +1 -1
  160. package/dist/utils/index.d.ts +6 -6
  161. package/dist/utils/list-formatter.d.ts +1 -1
  162. package/dist/utils/logger.d.ts +1 -1
  163. package/dist/visualization/accuracy-circles.d.ts +1 -1
  164. package/dist/visualization/alignment-lerper.d.ts +1 -1
  165. package/dist/visualization/ar-world-group-alignment.d.ts +1 -1
  166. package/dist/visualization/ar-world-group-alignment.js +1 -1
  167. package/dist/visualization/camera-follower.d.ts +1 -1
  168. package/dist/visualization/css3d-renderer-manager.d.ts +1 -1
  169. package/dist/visualization/frame-conversions.d.ts +1 -1
  170. package/dist/visualization/frustum-visibility.d.ts +1 -1
  171. package/dist/visualization/gps-anchor.d.ts +1 -1
  172. package/dist/visualization/gps-compass-cubes.d.ts +1 -1
  173. package/dist/visualization/gps-event-markers.d.ts +1 -1
  174. package/dist/visualization/gps-event-markers.js +40 -5
  175. package/dist/visualization/hit-test-reticle.d.ts +1 -1
  176. package/dist/visualization/hit-test-reticle.js +1 -0
  177. package/dist/visualization/index.d.ts +18 -18
  178. package/dist/visualization/leaflet-map-overlay.d.ts +1 -1
  179. package/dist/visualization/leaflet-map-overlay.js +15 -3
  180. package/dist/visualization/lerp-utils.d.ts +1 -1
  181. package/dist/visualization/map-data.d.ts +1 -1
  182. package/dist/visualization/map-overlay-draw.d.ts +1 -1
  183. package/dist/visualization/map-overlay.d.ts +1 -1
  184. package/dist/visualization/three-dispose.d.ts +1 -1
  185. package/dist/visualization/vis-colors.d.ts +1 -1
  186. package/dist/{webxr-session-QhcSSub5.js → webxr-session-CJF9Nijp.js} +234 -9
  187. package/dist/{webxr-session-DtAG9srK.d.ts → webxr-session-COsOjJwn.d.ts} +76 -8
  188. package/dist/zip-coverage-embed-tFohI2J4.d.ts +41 -0
  189. package/dist/{zip-export-D_5HAvFz.d.ts → zip-export-DDWXInTR.d.ts} +28 -24
  190. package/package.json +2 -2
  191. package/dist/concurrency-CO1FQvs3.d.ts +0 -24
  192. package/dist/file-system-C_eqiEA8.d.ts +0 -114
  193. package/dist/file-system-utils-DyAmcuvX.d.ts +0 -24
  194. package/dist/recording-options-DJBXuMxV.d.ts +0 -182
  195. package/dist/recording-slice-89O07ebs.d.ts +0 -36
  196. package/dist/storage/file-system.d.ts +0 -2
  197. package/dist/storage/file-system.js +0 -289
  198. /package/dist/{accuracy-circles-BpwWAs8G.d.ts → accuracy-circles-Pi2YeCrM.d.ts} +0 -0
  199. /package/dist/{alignment-lerper-Dm9G7JJO.d.ts → alignment-lerper-BUTsQ2yu.d.ts} +0 -0
  200. /package/dist/{ar-types-Dan1MVTi.d.ts → ar-types-BckI1E-O.d.ts} +0 -0
  201. /package/dist/{bresenham3d-CFfd7n6B.d.ts → bresenham3d-ByjcmEgM.d.ts} +0 -0
  202. /package/dist/{camera-follower-C2mwEn7c.d.ts → camera-follower-BTb2Yp12.d.ts} +0 -0
  203. /package/dist/{capability-checker-CQXJHxXg.d.ts → capability-checker-CXqoJYtb.d.ts} +0 -0
  204. /package/dist/{capture-failure-tracker-CUeU3L_M.d.ts → capture-failure-tracker-BL5SoG2a.d.ts} +0 -0
  205. /package/dist/{chromium-camera-access-workaround-Jqbn0apH.d.ts → chromium-camera-access-workaround-BNK189P0.d.ts} +0 -0
  206. /package/dist/{css3d-renderer-manager-ptu_t3B3.d.ts → css3d-renderer-manager-m-ab19vp.d.ts} +0 -0
  207. /package/dist/{failure-tracker-Cn8Fo9D4.d.ts → failure-tracker-Cnc_xWUw.d.ts} +0 -0
  208. /package/dist/{format-file-size-CLCZz3lC.d.ts → format-file-size-BFUWvir1.d.ts} +0 -0
  209. /package/dist/{frame-loop-CMewS8cY.d.ts → frame-loop-BEO9_q3k.d.ts} +0 -0
  210. /package/dist/{frustum-visibility-CmI96ESS.d.ts → frustum-visibility-D_RGmH98.d.ts} +0 -0
  211. /package/dist/{geo-types-SaPnIEUM.d.ts → geo-types-DqiBzPO9.d.ts} +0 -0
  212. /package/dist/{gps-VuezJWK3.d.ts → gps-C5inWeNV.d.ts} +0 -0
  213. /package/dist/{gps-compass-cubes-BM1uGiYV.d.ts → gps-compass-cubes-BExxrWJ-.d.ts} +0 -0
  214. /package/dist/{gps-error-handler-CJl_2MVm.d.ts → gps-error-handler-C2bS69oJ.d.ts} +0 -0
  215. /package/dist/{hit-test-reticle-BEzEybxZ.d.ts → hit-test-reticle-Dqak9hiR.d.ts} +0 -0
  216. /package/dist/{index-CF05QV2m.d.ts → index-eaI1Z1KR.d.ts} +0 -0
  217. /package/dist/{lerp-utils-BpV-0Dtk.d.ts → lerp-utils-kLxMJ2Xj.d.ts} +0 -0
  218. /package/dist/{list-formatter-RRcBe8Vg.d.ts → list-formatter-ct8txwvR.d.ts} +0 -0
  219. /package/dist/{logger-BEHXsnnq.d.ts → logger-CzQrCe6C.d.ts} +0 -0
  220. /package/dist/{map-overlay-bcogY5fK.d.ts → map-overlay-Dci4yvm3.d.ts} +0 -0
  221. /package/dist/{permission-checker-GpAiSCwd.d.ts → permission-checker-CtPtPQRq.d.ts} +0 -0
  222. /package/dist/{scene-node-names-Bu0S66H1.d.ts → scene-node-names-CdNeQjOE.d.ts} +0 -0
  223. /package/dist/{session-disposers-M-oashRH.js → session-disposers-D8wnO-uW.js} +0 -0
  224. /package/dist/{three-dispose-D950t71B.d.ts → three-dispose-BCZkSJp2.d.ts} +0 -0
  225. /package/dist/{vis-colors-D6omC64K.d.ts → vis-colors-BZsSLI4i.d.ts} +0 -0
  226. /package/dist/{webxr-nue-basis-CqKQmZzT.d.ts → webxr-nue-basis-CW1wsbm6.d.ts} +0 -0
  227. /package/dist/{xr-camera-texture-DBwCaKTd.d.ts → xr-camera-texture-BmrP7iNZ.d.ts} +0 -0
  228. /package/dist/{xr-error-handler-C0AQRmxs.d.ts → xr-error-handler-BEjRgZjt.d.ts} +0 -0
  229. /package/dist/{xr-frame-loop-BtYytZJg.d.ts → xr-frame-loop-K8ebdjLw.d.ts} +0 -0
  230. /package/dist/{zip-reader-DSEXt7K6.d.ts → zip-reader-Q2ue6zlC.d.ts} +0 -0
@@ -24,17 +24,81 @@ async function mapWithConcurrencyLimit(items, limit, mapper) {
24
24
  const results = new Array(items.length);
25
25
  if (items.length === 0) return results;
26
26
  let nextIndex = 0;
27
+ let failed = false;
28
+ let firstError;
27
29
  const worker = async () => {
28
30
  while (nextIndex < items.length) {
31
+ if (failed) return;
29
32
  const currentIndex = nextIndex++;
30
- results[currentIndex] = await mapper(items[currentIndex], currentIndex);
33
+ try {
34
+ results[currentIndex] = await mapper(items[currentIndex], currentIndex);
35
+ } catch (err) {
36
+ if (!failed) {
37
+ failed = true;
38
+ firstError = err;
39
+ }
40
+ return;
41
+ }
31
42
  }
32
43
  };
33
44
  const workerCount = Math.min(limit, items.length);
34
45
  const workers = [];
35
46
  for (let i = 0; i < workerCount; i++) workers.push(worker());
36
47
  await Promise.all(workers);
48
+ if (failed) throw firstError;
37
49
  return results;
38
50
  }
51
+ /**
52
+ * Run an async worker over each item with a concurrency cap, invoking the worker
53
+ * per item as the pool pulls it (rather than collecting results into an array).
54
+ *
55
+ * Unlike {@link mapWithConcurrencyLimit}, this returns no values — the worker is
56
+ * expected to produce its side effect (e.g. emit a streaming callback) itself.
57
+ * This is the shape progressive consumers need: each item is handled and can be
58
+ * reported as soon as it settles, instead of waiting for the whole batch.
59
+ *
60
+ * Completion order is **not** guaranteed (it depends on which worker finishes
61
+ * first). Each item's worker is invoked exactly once unless the run is aborted.
62
+ *
63
+ * When an `AbortSignal` is supplied, workers stop pulling **new** items as soon
64
+ * as the signal is aborted (checked before each pull). Items already in flight
65
+ * run to completion — the File System Access reads underneath cannot be torn
66
+ * mid-read — but no further items are started, so a destroyed consumer stops
67
+ * accumulating work. If the signal is already aborted, no work starts at all.
68
+ *
69
+ * @param items - Items to process
70
+ * @param limit - Maximum number of concurrent worker invocations (`>= 1`)
71
+ * @param worker - Async side-effecting function applied to each item
72
+ * @param signal - Optional abort signal that halts pulling new items
73
+ * @throws RangeError if `limit < 1`
74
+ * @throws Re-throws the first error from any worker invocation (fail-fast)
75
+ */
76
+ async function forEachWithConcurrencyLimit(items, limit, worker, signal) {
77
+ if (limit < 1) throw new RangeError(`Concurrency limit must be >= 1, got ${limit}`);
78
+ if (items.length === 0) return;
79
+ let nextIndex = 0;
80
+ let failed = false;
81
+ let firstError;
82
+ const pump = async () => {
83
+ while (nextIndex < items.length) {
84
+ if (signal?.aborted || failed) return;
85
+ const currentIndex = nextIndex++;
86
+ try {
87
+ await worker(items[currentIndex], currentIndex);
88
+ } catch (err) {
89
+ if (!failed) {
90
+ failed = true;
91
+ firstError = err;
92
+ }
93
+ return;
94
+ }
95
+ }
96
+ };
97
+ const workerCount = Math.min(limit, items.length);
98
+ const workers = [];
99
+ for (let i = 0; i < workerCount; i++) workers.push(pump());
100
+ await Promise.all(workers);
101
+ if (failed) throw firstError;
102
+ }
39
103
  //#endregion
40
- export { mapWithConcurrencyLimit };
104
+ export { forEachWithConcurrencyLimit, mapWithConcurrencyLimit };
@@ -1,2 +1,2 @@
1
- import { n as FailureTrackerConfig, r as createFailureTracker, t as FailureTracker } from "../failure-tracker-Cn8Fo9D4.js";
1
+ import { n as FailureTrackerConfig, r as createFailureTracker, t as FailureTracker } from "../failure-tracker-Cnc_xWUw.js";
2
2
  export { FailureTracker, FailureTrackerConfig, createFailureTracker };
@@ -1,2 +1,2 @@
1
- import { t as formatFileSize } from "../format-file-size-CLCZz3lC.js";
1
+ import { t as formatFileSize } from "../format-file-size-BFUWvir1.js";
2
2
  export { formatFileSize };
@@ -1,2 +1,2 @@
1
- import { n as computeFusedPath, r as fusedGpsFromOdom, t as FusedPathInput } from "../fused-path-DJoVu98b.js";
1
+ import { n as computeFusedPath, r as fusedGpsFromOdom, t as FusedPathInput } from "../fused-path-C0FHe67t.js";
2
2
  export { FusedPathInput, computeFusedPath, fusedGpsFromOdom };
@@ -1,7 +1,7 @@
1
- import { a as createLogger, c as setGlobalLogLevel, i as clearLogBuffer, l as subscribeToLogs, n as LogLevel, o as getGlobalLogLevel, r as Logger, s as getLogBuffer, t as LogEntry } from "../logger-BEHXsnnq.js";
2
- import { n as computeFusedPath, r as fusedGpsFromOdom, t as FusedPathInput } from "../fused-path-DJoVu98b.js";
3
- import { n as FailureTrackerConfig, r as createFailureTracker, t as FailureTracker } from "../failure-tracker-Cn8Fo9D4.js";
4
- import { t as mapWithConcurrencyLimit } from "../concurrency-CO1FQvs3.js";
5
- import { t as formatFileSize } from "../format-file-size-CLCZz3lC.js";
6
- import { t as listFormatter } from "../list-formatter-RRcBe8Vg.js";
1
+ import { a as createLogger, c as setGlobalLogLevel, i as clearLogBuffer, l as subscribeToLogs, n as LogLevel, o as getGlobalLogLevel, r as Logger, s as getLogBuffer, t as LogEntry } from "../logger-CzQrCe6C.js";
2
+ import { n as computeFusedPath, r as fusedGpsFromOdom, t as FusedPathInput } from "../fused-path-C0FHe67t.js";
3
+ import { n as FailureTrackerConfig, r as createFailureTracker, t as FailureTracker } from "../failure-tracker-Cnc_xWUw.js";
4
+ import { n as mapWithConcurrencyLimit } from "../concurrency-DqAlKX4j.js";
5
+ import { t as formatFileSize } from "../format-file-size-BFUWvir1.js";
6
+ import { t as listFormatter } from "../list-formatter-ct8txwvR.js";
7
7
  export { type FailureTracker, type FailureTrackerConfig, type FusedPathInput, type LogEntry, LogLevel, type Logger, clearLogBuffer, computeFusedPath, createFailureTracker, createLogger, formatFileSize, fusedGpsFromOdom, getGlobalLogLevel, getLogBuffer, listFormatter, mapWithConcurrencyLimit, setGlobalLogLevel, subscribeToLogs };
@@ -1,2 +1,2 @@
1
- import { t as listFormatter } from "../list-formatter-RRcBe8Vg.js";
1
+ import { t as listFormatter } from "../list-formatter-ct8txwvR.js";
2
2
  export { listFormatter };
@@ -1,2 +1,2 @@
1
- import { a as createLogger, c as setGlobalLogLevel, i as clearLogBuffer, l as subscribeToLogs, n as LogLevel, o as getGlobalLogLevel, r as Logger, s as getLogBuffer, t as LogEntry } from "../logger-BEHXsnnq.js";
1
+ import { a as createLogger, c as setGlobalLogLevel, i as clearLogBuffer, l as subscribeToLogs, n as LogLevel, o as getGlobalLogLevel, r as Logger, s as getLogBuffer, t as LogEntry } from "../logger-CzQrCe6C.js";
2
2
  export { LogEntry, LogLevel, Logger, clearLogBuffer, createLogger, getGlobalLogLevel, getLogBuffer, setGlobalLogLevel, subscribeToLogs };
@@ -1,2 +1,2 @@
1
- import { a as addAccuracyCircles, i as AccuracyCircleSample, n as ACCURACY_CIRCLE_STROKE_OPACITY, r as ACCURACY_CIRCLE_WEIGHT, t as ACCURACY_CIRCLE_FILL_OPACITY } from "../accuracy-circles-BpwWAs8G.js";
1
+ import { a as addAccuracyCircles, i as AccuracyCircleSample, n as ACCURACY_CIRCLE_STROKE_OPACITY, r as ACCURACY_CIRCLE_WEIGHT, t as ACCURACY_CIRCLE_FILL_OPACITY } from "../accuracy-circles-Pi2YeCrM.js";
2
2
  export { ACCURACY_CIRCLE_FILL_OPACITY, ACCURACY_CIRCLE_STROKE_OPACITY, ACCURACY_CIRCLE_WEIGHT, AccuracyCircleSample, addAccuracyCircles };
@@ -1,2 +1,2 @@
1
- import { n as createAlignmentLerper, t as AlignmentLerper } from "../alignment-lerper-Dm9G7JJO.js";
1
+ import { n as createAlignmentLerper, t as AlignmentLerper } from "../alignment-lerper-BUTsQ2yu.js";
2
2
  export { AlignmentLerper, createAlignmentLerper };
@@ -1,2 +1,2 @@
1
- import { n as ArWorldGroupAlignmentOptions, r as enableArWorldGroupAlignment, t as ArWorldGroupAlignmentHandle } from "../ar-world-group-alignment-ColHB_5A.js";
1
+ import { n as ArWorldGroupAlignmentOptions, r as enableArWorldGroupAlignment, t as ArWorldGroupAlignmentHandle } from "../ar-world-group-alignment-DDLkgNf_.js";
2
2
  export { ArWorldGroupAlignmentHandle, ArWorldGroupAlignmentOptions, enableArWorldGroupAlignment };
@@ -1,5 +1,5 @@
1
1
  import { registerFrameUpdate } from "../ar/frame-loop.js";
2
- import { t as registerSessionDisposer } from "../session-disposers-M-oashRH.js";
2
+ import { t as registerSessionDisposer } from "../session-disposers-D8wnO-uW.js";
3
3
  import { createAlignmentLerper } from "./alignment-lerper.js";
4
4
  import { selectAlignmentMatrix } from "../state/app-selectors.js";
5
5
  import { subscribeToSelector } from "../state/subscribe-to-selector.js";
@@ -1,2 +1,2 @@
1
- import { n as createCameraFollower, t as CameraFollower } from "../camera-follower-C2mwEn7c.js";
1
+ import { n as createCameraFollower, t as CameraFollower } from "../camera-follower-BTb2Yp12.js";
2
2
  export { CameraFollower, createCameraFollower };
@@ -1,2 +1,2 @@
1
- import { n as createCss3dRendererManager, t as Css3dRendererManager } from "../css3d-renderer-manager-ptu_t3B3.js";
1
+ import { n as createCss3dRendererManager, t as Css3dRendererManager } from "../css3d-renderer-manager-m-ab19vp.js";
2
2
  export { Css3dRendererManager, createCss3dRendererManager };
@@ -1,2 +1,2 @@
1
- import { n as worldNueToGps, t as nueToArLocal } from "../frame-conversions-BfsafGWR.js";
1
+ import { n as worldNueToGps, t as nueToArLocal } from "../frame-conversions-D_Af8Dt3.js";
2
2
  export { nueToArLocal, worldNueToGps };
@@ -1,2 +1,2 @@
1
- import { i as isSphereInCameraFrustum, n as isObjectInCameraFrustum, r as isPointInCameraFrustum, t as buildCameraFrustum } from "../frustum-visibility-CmI96ESS.js";
1
+ import { i as isSphereInCameraFrustum, n as isObjectInCameraFrustum, r as isPointInCameraFrustum, t as buildCameraFrustum } from "../frustum-visibility-D_RGmH98.js";
2
2
  export { buildCameraFrustum, isObjectInCameraFrustum, isPointInCameraFrustum, isSphereInCameraFrustum };
@@ -1,2 +1,2 @@
1
- import { a as GpsAnchorSamplePoint, i as GpsAnchorPhase, n as GpsAnchorMode, o as createGpsAnchor, r as GpsAnchorOptions, t as GpsAnchor } from "../gps-anchor-dYeCvvp5.js";
1
+ import { a as GpsAnchorSamplePoint, i as GpsAnchorPhase, n as GpsAnchorMode, o as createGpsAnchor, r as GpsAnchorOptions, t as GpsAnchor } from "../gps-anchor-C6I9NDHA.js";
2
2
  export { GpsAnchor, GpsAnchorMode, GpsAnchorOptions, GpsAnchorPhase, GpsAnchorSamplePoint, createGpsAnchor };
@@ -1,2 +1,2 @@
1
- import { i as createGpsCompassCubes, n as COMPASS_CUBE_SIZE, r as GpsCompassCubes, t as COMPASS_CUBE_DISTANCE } from "../gps-compass-cubes-BM1uGiYV.js";
1
+ import { i as createGpsCompassCubes, n as COMPASS_CUBE_SIZE, r as GpsCompassCubes, t as COMPASS_CUBE_DISTANCE } from "../gps-compass-cubes-BExxrWJ-.js";
2
2
  export { COMPASS_CUBE_DISTANCE, COMPASS_CUBE_SIZE, GpsCompassCubes, createGpsCompassCubes };
@@ -1,2 +1,2 @@
1
- import { n as GpsEventVisualizer, r as gpsEventVisualizer, t as GpsEventAccuracy } from "../gps-event-markers-Dc9FT-q1.js";
1
+ import { n as GpsEventVisualizer, r as gpsEventVisualizer, t as GpsEventAccuracy } from "../gps-event-markers-Dd0G2bD0.js";
2
2
  export { GpsEventAccuracy, GpsEventVisualizer, gpsEventVisualizer };
@@ -1,6 +1,6 @@
1
1
  import { createLogger } from "../utils/logger.js";
2
2
  import { disposeMeshArray } from "./three-dispose.js";
3
- import { c as getArWorldGroup, m as getScene } from "../webxr-session-QhcSSub5.js";
3
+ import { _ as getScene, l as getArWorldGroup } from "../webxr-session-CJF9Nijp.js";
4
4
  import { VIS_COLORS } from "./vis-colors.js";
5
5
  import * as THREE from "three";
6
6
  //#region ../src/visualization/gps-event-markers.ts
@@ -20,10 +20,20 @@ import * as THREE from "three";
20
20
  * world positions update automatically via Three.js scene-graph propagation.
21
21
  */
22
22
  const log = createLogger("GpsEventVisualizer");
23
- /** Sphere radius in meters (8cm - smaller than reference point markers) */
24
- const GPS_MARKER_RADIUS = .08;
25
- /** Slightly larger radius for alignment snapshots to stand out */
26
- const SNAPSHOT_MARKER_RADIUS = .1;
23
+ /**
24
+ * Sphere radius in meters for the raw-GPS / fused debug markers.
25
+ *
26
+ * Halved 0.08 → 0.04 (D5, 2026-06-16 user feedback): these "different colours"
27
+ * tracking spheres were cluttering the AR scene and hiding the ref-point
28
+ * markers. They now shrink while the ref-point marker spheres grow (×2), so the
29
+ * marker the user cares about stands out. This is a framework-level constant
30
+ * rendered in BOTH live recording and replay, so replays of older recordings
31
+ * also show the smaller debug spheres — intended and accepted (requester
32
+ * decision); a plain constant change is correct (no live-vs-replay flag).
33
+ */
34
+ const GPS_MARKER_RADIUS = .04;
35
+ /** Slightly larger radius for alignment snapshots to stand out (halved 0.1 → 0.05 with the GPS markers, D5). */
36
+ const SNAPSHOT_MARKER_RADIUS = .05;
27
37
  /**
28
38
  * Default opacity for the yellow raw-GPS sphere when it is rendered at the
29
39
  * legacy fixed 8 cm radius (no accuracy passed). Matches the original 30 %
@@ -67,6 +77,14 @@ var GpsEventVisualizer = class {
67
77
  eventCounter = 0;
68
78
  snapshotCounter = 0;
69
79
  /**
80
+ * Whether the debug markers are drawn. Toggled by {@link setVisible} for the
81
+ * recorder's `visualization.gpsAlignmentMarkers` opt-out (Finding B). Applied
82
+ * to every marker at creation so events spawned later by the live
83
+ * store-subscriber inherit the current state instead of popping into view.
84
+ * Default `true` — the markers render exactly as before until opted out.
85
+ */
86
+ markersVisible = true;
87
+ /**
70
88
  * Set the GPS zero reference (origin for coordinate conversion).
71
89
  * Must be called before adding GPS events.
72
90
  *
@@ -167,9 +185,25 @@ var GpsEventVisualizer = class {
167
185
  });
168
186
  const mesh = new THREE.Mesh(geometry, material);
169
187
  mesh.name = `${namePrefix}-${eventId}`;
188
+ mesh.visible = this.markersVisible;
170
189
  return mesh;
171
190
  }
172
191
  /**
192
+ * Show or hide ALL debug markers — raw GPS (yellow), fused (cyan), and
193
+ * alignment-snapshot (red) — and remember the state so markers added later
194
+ * inherit it. Used by the recorder's `visualization.gpsAlignmentMarkers`
195
+ * opt-out, read once at Enter-AR (live only; replay keeps markers visible).
196
+ *
197
+ * This only changes rendering: capture, GPS-event recording, counts, and the
198
+ * snapshot positions read back at session end are all unaffected.
199
+ */
200
+ setVisible(visible) {
201
+ this.markersVisible = visible;
202
+ for (const mesh of this.rawGpsMarkers) mesh.visible = visible;
203
+ for (const mesh of this.fusedMarkers) mesh.visible = visible;
204
+ for (const mesh of this.snapshotMarkers) mesh.visible = visible;
205
+ }
206
+ /**
173
207
  * Clear all markers from the scene and reset state.
174
208
  */
175
209
  clearAll() {
@@ -181,6 +215,7 @@ var GpsEventVisualizer = class {
181
215
  this.zeroRef = null;
182
216
  this.eventCounter = 0;
183
217
  this.snapshotCounter = 0;
218
+ this.markersVisible = true;
184
219
  }
185
220
  /**
186
221
  * Get count of visible markers.
@@ -1,2 +1,2 @@
1
- import { n as createReticleMesh, r as updateReticle, t as HitMatrix } from "../hit-test-reticle-BEzEybxZ.js";
1
+ import { n as createReticleMesh, r as updateReticle, t as HitMatrix } from "../hit-test-reticle-Dqak9hiR.js";
2
2
  export { HitMatrix, createReticleMesh, updateReticle };
@@ -75,6 +75,7 @@ function updateReticle(reticle, matrix) {
75
75
  }
76
76
  hitPoseMatrix.fromArray(matrix);
77
77
  reticle.matrix.multiplyMatrices(WEBXR_TO_NUE, hitPoseMatrix);
78
+ reticle.matrixWorldNeedsUpdate = true;
78
79
  reticle.visible = true;
79
80
  }
80
81
  //#endregion
@@ -1,19 +1,19 @@
1
- import { n as createCss3dRendererManager, t as Css3dRendererManager } from "../css3d-renderer-manager-ptu_t3B3.js";
2
- import { n as createCameraFollower, t as CameraFollower } from "../camera-follower-C2mwEn7c.js";
3
- import { n as createAlignmentLerper, t as AlignmentLerper } from "../alignment-lerper-Dm9G7JJO.js";
4
- import { n as MapDataInput, r as buildMapData, t as MapData } from "../map-data-CkloBxIl.js";
5
- import { n as ArWorldGroupAlignmentOptions, r as enableArWorldGroupAlignment, t as ArWorldGroupAlignmentHandle } from "../ar-world-group-alignment-ColHB_5A.js";
6
- import { i as createGpsCompassCubes, n as COMPASS_CUBE_SIZE, r as GpsCompassCubes, t as COMPASS_CUBE_DISTANCE } from "../gps-compass-cubes-BM1uGiYV.js";
7
- import { i as isSphereInCameraFrustum, n as isObjectInCameraFrustum, r as isPointInCameraFrustum, t as buildCameraFrustum } from "../frustum-visibility-CmI96ESS.js";
8
- import { n as worldNueToGps, t as nueToArLocal } from "../frame-conversions-BfsafGWR.js";
9
- import { n as createReticleMesh, r as updateReticle, t as HitMatrix } from "../hit-test-reticle-BEzEybxZ.js";
10
- import { a as GpsAnchorSamplePoint, i as GpsAnchorPhase, n as GpsAnchorMode, o as createGpsAnchor, r as GpsAnchorOptions, t as GpsAnchor } from "../gps-anchor-dYeCvvp5.js";
11
- import { n as GpsEventVisualizer, r as gpsEventVisualizer } from "../gps-event-markers-Dc9FT-q1.js";
12
- import { a as DEFAULT_Z_OFFSET, n as DEFAULT_LEAFLET_MAP_SIZE_PX, o as LeafletMapOverlay, r as DEFAULT_WORLD_SIZE, s as LeafletMapOverlayOptions } from "../leaflet-map-overlay-6CJC-E1l.js";
13
- import { n as clampedAlpha, t as DEFAULT_LERP_RATE } from "../lerp-utils-BpV-0Dtk.js";
14
- import { a as addAccuracyCircles, i as AccuracyCircleSample, n as ACCURACY_CIRCLE_STROKE_OPACITY, r as ACCURACY_CIRCLE_WEIGHT, t as ACCURACY_CIRCLE_FILL_OPACITY } from "../accuracy-circles-BpwWAs8G.js";
15
- import { a as MAP_PATH_POLYLINE_OPACITY, c as USER_POSITION_COLOR, i as FUSED_PATH_COLOR, l as drawMapData, n as DrawMapDataOptions, o as MAP_PATH_POLYLINE_WEIGHT, r as DrawnMapData, s as RAW_GPS_COLOR, t as ALIGNMENT_SNAPSHOT_COLOR } from "../map-overlay-draw-krOKwDAq.js";
16
- import { a as MapOverlayOptions, c as tileXYToLatLon, i as MapOverlay, n as DEFAULT_MAP_SIZE, o as TextureLoaderInterface, r as DEFAULT_ZOOM, s as latLonToTileXY, t as DEFAULT_HEIGHT_OFFSET } from "../map-overlay-bcogY5fK.js";
17
- import { n as disposeMeshArray, r as disposeObject3D, t as DisposeOptions } from "../three-dispose-D950t71B.js";
18
- import { t as VIS_COLORS } from "../vis-colors-D6omC64K.js";
1
+ import { n as createCss3dRendererManager, t as Css3dRendererManager } from "../css3d-renderer-manager-m-ab19vp.js";
2
+ import { n as createCameraFollower, t as CameraFollower } from "../camera-follower-BTb2Yp12.js";
3
+ import { n as createAlignmentLerper, t as AlignmentLerper } from "../alignment-lerper-BUTsQ2yu.js";
4
+ import { n as MapDataInput, r as buildMapData, t as MapData } from "../map-data-DdjPiSav.js";
5
+ import { n as ArWorldGroupAlignmentOptions, r as enableArWorldGroupAlignment, t as ArWorldGroupAlignmentHandle } from "../ar-world-group-alignment-DDLkgNf_.js";
6
+ import { i as createGpsCompassCubes, n as COMPASS_CUBE_SIZE, r as GpsCompassCubes, t as COMPASS_CUBE_DISTANCE } from "../gps-compass-cubes-BExxrWJ-.js";
7
+ import { i as isSphereInCameraFrustum, n as isObjectInCameraFrustum, r as isPointInCameraFrustum, t as buildCameraFrustum } from "../frustum-visibility-D_RGmH98.js";
8
+ import { n as worldNueToGps, t as nueToArLocal } from "../frame-conversions-D_Af8Dt3.js";
9
+ import { n as createReticleMesh, r as updateReticle, t as HitMatrix } from "../hit-test-reticle-Dqak9hiR.js";
10
+ import { a as GpsAnchorSamplePoint, i as GpsAnchorPhase, n as GpsAnchorMode, o as createGpsAnchor, r as GpsAnchorOptions, t as GpsAnchor } from "../gps-anchor-C6I9NDHA.js";
11
+ import { n as GpsEventVisualizer, r as gpsEventVisualizer } from "../gps-event-markers-Dd0G2bD0.js";
12
+ import { a as DEFAULT_Z_OFFSET, n as DEFAULT_LEAFLET_MAP_SIZE_PX, o as LeafletMapOverlay, r as DEFAULT_WORLD_SIZE, s as LeafletMapOverlayOptions } from "../leaflet-map-overlay-bnb2U1NQ.js";
13
+ import { n as clampedAlpha, t as DEFAULT_LERP_RATE } from "../lerp-utils-kLxMJ2Xj.js";
14
+ import { a as addAccuracyCircles, i as AccuracyCircleSample, n as ACCURACY_CIRCLE_STROKE_OPACITY, r as ACCURACY_CIRCLE_WEIGHT, t as ACCURACY_CIRCLE_FILL_OPACITY } from "../accuracy-circles-Pi2YeCrM.js";
15
+ import { a as MAP_PATH_POLYLINE_OPACITY, c as USER_POSITION_COLOR, i as FUSED_PATH_COLOR, l as drawMapData, n as DrawMapDataOptions, o as MAP_PATH_POLYLINE_WEIGHT, r as DrawnMapData, s as RAW_GPS_COLOR, t as ALIGNMENT_SNAPSHOT_COLOR } from "../map-overlay-draw-CPVdAsFq.js";
16
+ import { a as MapOverlayOptions, c as tileXYToLatLon, i as MapOverlay, n as DEFAULT_MAP_SIZE, o as TextureLoaderInterface, r as DEFAULT_ZOOM, s as latLonToTileXY, t as DEFAULT_HEIGHT_OFFSET } from "../map-overlay-Dci4yvm3.js";
17
+ import { n as disposeMeshArray, r as disposeObject3D, t as DisposeOptions } from "../three-dispose-BCZkSJp2.js";
18
+ import { t as VIS_COLORS } from "../vis-colors-BZsSLI4i.js";
19
19
  export { ACCURACY_CIRCLE_FILL_OPACITY, ACCURACY_CIRCLE_STROKE_OPACITY, ACCURACY_CIRCLE_WEIGHT, ALIGNMENT_SNAPSHOT_COLOR, type AccuracyCircleSample, type AlignmentLerper, type ArWorldGroupAlignmentHandle, type ArWorldGroupAlignmentOptions, COMPASS_CUBE_DISTANCE, COMPASS_CUBE_SIZE, type CameraFollower, type Css3dRendererManager, DEFAULT_HEIGHT_OFFSET, DEFAULT_LEAFLET_MAP_SIZE_PX, DEFAULT_LERP_RATE, DEFAULT_MAP_SIZE, DEFAULT_WORLD_SIZE, DEFAULT_ZOOM, DEFAULT_Z_OFFSET, type DisposeOptions, type DrawMapDataOptions, type DrawnMapData, FUSED_PATH_COLOR, type GpsAnchor, type GpsAnchorMode, type GpsAnchorOptions, type GpsAnchorPhase, type GpsAnchorSamplePoint, type GpsCompassCubes, GpsEventVisualizer, type HitMatrix, LeafletMapOverlay, type LeafletMapOverlayOptions, MAP_PATH_POLYLINE_OPACITY, MAP_PATH_POLYLINE_WEIGHT, type MapData, type MapDataInput, MapOverlay, type MapOverlayOptions, RAW_GPS_COLOR, type TextureLoaderInterface, USER_POSITION_COLOR, VIS_COLORS, addAccuracyCircles, buildCameraFrustum, buildMapData, clampedAlpha, createAlignmentLerper, createCameraFollower, createCss3dRendererManager, createGpsAnchor, createGpsCompassCubes, createReticleMesh, disposeMeshArray, disposeObject3D, drawMapData, enableArWorldGroupAlignment, gpsEventVisualizer, isObjectInCameraFrustum, isPointInCameraFrustum, isSphereInCameraFrustum, latLonToTileXY, nueToArLocal, tileXYToLatLon, updateReticle, worldNueToGps };
@@ -1,2 +1,2 @@
1
- import { a as DEFAULT_Z_OFFSET, i as DEFAULT_ZOOM, n as DEFAULT_LEAFLET_MAP_SIZE_PX, o as LeafletMapOverlay, r as DEFAULT_WORLD_SIZE, s as LeafletMapOverlayOptions, t as DEFAULT_HEIGHT_OFFSET } from "../leaflet-map-overlay-6CJC-E1l.js";
1
+ import { a as DEFAULT_Z_OFFSET, i as DEFAULT_ZOOM, n as DEFAULT_LEAFLET_MAP_SIZE_PX, o as LeafletMapOverlay, r as DEFAULT_WORLD_SIZE, s as LeafletMapOverlayOptions, t as DEFAULT_HEIGHT_OFFSET } from "../leaflet-map-overlay-bnb2U1NQ.js";
2
2
  export { DEFAULT_HEIGHT_OFFSET, DEFAULT_LEAFLET_MAP_SIZE_PX, DEFAULT_WORLD_SIZE, DEFAULT_ZOOM, DEFAULT_Z_OFFSET, LeafletMapOverlay, LeafletMapOverlayOptions };
@@ -7,6 +7,16 @@ import L from "leaflet";
7
7
  const log = createLogger("LeafletMapOverlay");
8
8
  /** Default pixel size of the Leaflet map container */
9
9
  const DEFAULT_LEAFLET_MAP_SIZE_PX = 600;
10
+ /**
11
+ * Diameter (px) of the ref-point markers on the in-AR minimap.
12
+ *
13
+ * Enlarged 12 → 20 px (F5-A, 2026-06-16 user feedback): the field tester
14
+ * reported the minimap "showed the user but not the marker". The markers WERE
15
+ * rendered — they were just too small to notice on the small CSS3D minimap. A
16
+ * bigger dot plus a thicker white halo and a drop shadow makes them the most
17
+ * prominent feature on the minimap (the user-position marker stays 14 px).
18
+ */
19
+ const REF_POINT_MARKER_SIZE_PX = 20;
10
20
  /** Default world-space size in meters (matches old MapOverlay) */
11
21
  const DEFAULT_WORLD_SIZE = 10;
12
22
  /** Default height offset below camera (negative = below) */
@@ -259,11 +269,13 @@ var LeafletMapOverlay = class {
259
269
  const color = isPrior ? VIS_COLORS.PRIOR_REF_POINT.css : VIS_COLORS.CURRENT_REF_POINT.css;
260
270
  const opacity = isPrior ? "opacity:0.8;" : "";
261
271
  const label = isPrior ? `📌 ${name} (prior)` : name;
272
+ const size = REF_POINT_MARKER_SIZE_PX;
273
+ const anchor = size / 2;
262
274
  return L.marker([lat, lon], { icon: L.divIcon({
263
275
  className: "",
264
- html: `<div style="background:${color};width:12px;height:12px;border-radius:50%;border:2px solid white;${opacity}"></div>`,
265
- iconSize: [12, 12],
266
- iconAnchor: [6, 6]
276
+ html: `<div style="background:${color};width:${size}px;height:${size}px;border-radius:50%;border:3px solid white;box-shadow:0 0 4px rgba(0,0,0,0.7);${opacity}"></div>`,
277
+ iconSize: [size, size],
278
+ iconAnchor: [anchor, anchor]
267
279
  }) }).bindPopup(label).addTo(this.leafletMap);
268
280
  }
269
281
  };
@@ -1,2 +1,2 @@
1
- import { n as clampedAlpha, t as DEFAULT_LERP_RATE } from "../lerp-utils-BpV-0Dtk.js";
1
+ import { n as clampedAlpha, t as DEFAULT_LERP_RATE } from "../lerp-utils-kLxMJ2Xj.js";
2
2
  export { DEFAULT_LERP_RATE, clampedAlpha };
@@ -1,2 +1,2 @@
1
- import { n as MapDataInput, r as buildMapData, t as MapData } from "../map-data-CkloBxIl.js";
1
+ import { n as MapDataInput, r as buildMapData, t as MapData } from "../map-data-DdjPiSav.js";
2
2
  export { MapData, MapDataInput, buildMapData };
@@ -1,2 +1,2 @@
1
- import { a as MAP_PATH_POLYLINE_OPACITY, c as USER_POSITION_COLOR, i as FUSED_PATH_COLOR, l as drawMapData, n as DrawMapDataOptions, o as MAP_PATH_POLYLINE_WEIGHT, r as DrawnMapData, s as RAW_GPS_COLOR, t as ALIGNMENT_SNAPSHOT_COLOR } from "../map-overlay-draw-krOKwDAq.js";
1
+ import { a as MAP_PATH_POLYLINE_OPACITY, c as USER_POSITION_COLOR, i as FUSED_PATH_COLOR, l as drawMapData, n as DrawMapDataOptions, o as MAP_PATH_POLYLINE_WEIGHT, r as DrawnMapData, s as RAW_GPS_COLOR, t as ALIGNMENT_SNAPSHOT_COLOR } from "../map-overlay-draw-CPVdAsFq.js";
2
2
  export { ALIGNMENT_SNAPSHOT_COLOR, DrawMapDataOptions, DrawnMapData, FUSED_PATH_COLOR, MAP_PATH_POLYLINE_OPACITY, MAP_PATH_POLYLINE_WEIGHT, RAW_GPS_COLOR, USER_POSITION_COLOR, drawMapData };
@@ -1,2 +1,2 @@
1
- import { a as MapOverlayOptions, c as tileXYToLatLon, i as MapOverlay, n as DEFAULT_MAP_SIZE, o as TextureLoaderInterface, r as DEFAULT_ZOOM, s as latLonToTileXY, t as DEFAULT_HEIGHT_OFFSET } from "../map-overlay-bcogY5fK.js";
1
+ import { a as MapOverlayOptions, c as tileXYToLatLon, i as MapOverlay, n as DEFAULT_MAP_SIZE, o as TextureLoaderInterface, r as DEFAULT_ZOOM, s as latLonToTileXY, t as DEFAULT_HEIGHT_OFFSET } from "../map-overlay-Dci4yvm3.js";
2
2
  export { DEFAULT_HEIGHT_OFFSET, DEFAULT_MAP_SIZE, DEFAULT_ZOOM, MapOverlay, MapOverlayOptions, TextureLoaderInterface, latLonToTileXY, tileXYToLatLon };
@@ -1,2 +1,2 @@
1
- import { n as disposeMeshArray, r as disposeObject3D, t as DisposeOptions } from "../three-dispose-D950t71B.js";
1
+ import { n as disposeMeshArray, r as disposeObject3D, t as DisposeOptions } from "../three-dispose-BCZkSJp2.js";
2
2
  export { DisposeOptions, disposeMeshArray, disposeObject3D };
@@ -1,2 +1,2 @@
1
- import { t as VIS_COLORS } from "../vis-colors-D6omC64K.js";
1
+ import { t as VIS_COLORS } from "../vis-colors-BZsSLI4i.js";
2
2
  export { VIS_COLORS };