@mapvx/web-js 3.1.0-dev.3 → 3.1.0-dev.4

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.
@@ -99,7 +99,8 @@ function rectsIntersect(a, b) {
99
99
  * Automatic collision avoidance for marker text labels: keeps a marker's
100
100
  * icon fixed while moving (or hiding) its label to avoid overlapping
101
101
  * neighboring markers' icons/labels, similar to Google Maps' label
102
- * placement. See {@link MarkerLayoutConfig}.
102
+ * placement. Below `minZoomForLabels` it withholds every label instead, so
103
+ * a zoomed-out map shows pins only. See {@link MarkerLayoutConfig}.
103
104
  *
104
105
  * Not part of the public SDK surface — owned and driven entirely by
105
106
  * {@link InternalMapVXMap}, mirroring `RouteController`.
@@ -216,8 +217,13 @@ class MarkerLayoutController {
216
217
  const viewportWidth = container.clientWidth;
217
218
  const viewportHeight = container.clientHeight;
218
219
  const cullMargin = this.config.maxLabelWidthPx + Math.max(this.config.gapPx, this.config.verticalGapPx);
220
+ // A single `>=` per pass, evaluated here rather than in `attach()` so it
221
+ // tracks the live camera: the controller already relayouts on every
222
+ // "move", which fires continuously through a pan/pinch, so labels cross
223
+ // the threshold mid-gesture instead of snapping at its end.
224
+ const labelsAllowed = this.map.getZoom() >= this.config.minZoomForLabels;
219
225
  const entries = this.readMarkers(markers, viewportWidth, viewportHeight, cullMargin);
220
- const decisions = this.decidePlacements(entries);
226
+ const decisions = this.decidePlacements(entries, labelsAllowed);
221
227
  this.applyDecisions(decisions);
222
228
  }
223
229
  /** Read phase: project + measure, no writes. Culls markers fully outside the viewport. */
@@ -273,13 +279,29 @@ class MarkerLayoutController {
273
279
  cache.set(marker, measured);
274
280
  return measured;
275
281
  }
276
- /** Compute phase: pure, no DOM access. Icons always block; labels negotiate a side or hide. */
277
- decidePlacements(entries) {
282
+ /**
283
+ * Compute phase: pure, no DOM access. Icons always block; labels negotiate
284
+ * a side or hide.
285
+ *
286
+ * Below `minZoomForLabels` every label is hidden and none is placed, so no
287
+ * label ever becomes an obstacle for a neighbor at that zoom — a label the
288
+ * threshold withheld must not displace anything on its way out.
289
+ */
290
+ decidePlacements(entries, labelsAllowed) {
278
291
  const placedLabels = [];
279
292
  const withLabel = entries.filter(hasLabelSize);
293
+ const decisions = new Map();
294
+ if (!labelsAllowed) {
295
+ for (const entry of withLabel) {
296
+ decisions.set(entry.marker, {
297
+ position: entry.marker.preferredTextPosition,
298
+ hidden: true,
299
+ });
300
+ }
301
+ return decisions;
302
+ }
280
303
  // Stable sort (spec-guaranteed): equal priority keeps insertion order.
281
304
  withLabel.sort((a, b) => b.marker.labelPriority - a.marker.labelPriority);
282
- const decisions = new Map();
283
305
  for (const entry of withLabel) {
284
306
  const order = [
285
307
  entry.marker.preferredTextPosition,
@@ -1 +1 @@
1
- {"version":3,"file":"markerLayoutController.js","sourceRoot":"","sources":["../../../src/controllers/markerLayoutController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markerLayoutController.js","sourceRoot":"","sources":["../../../src/controllers/markerLayoutController.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ exports.MAPLIBRE_MAX_TILE_CACHE_HARD_CAP = 100000;
28
28
  */
29
29
  exports.DEFAULT_MARKER_LAYOUT_CONFIG = {
30
30
  enabled: true,
31
+ minZoomForLabels: Number.NEGATIVE_INFINITY,
31
32
  gapPx: 8,
32
33
  verticalGapPx: 4,
33
34
  paddingPx: 4,
@@ -1 +1 @@
1
- {"version":3,"file":"mapConfig.js","sourceRoot":"","sources":["../../../../src/domain/models/mapConfig.ts"],"names":[],"mappings":";;;AAEA,qCAAqD;AAqErD;;;GAGG;AACU,QAAA,yBAAyB,GAAiC;IACrE,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;IACpC,sBAAsB,EAAE,IAAI;IAC5B,oBAAoB,EAAE,KAAK;IAC3B,wBAAwB,EAAE,CAAC;CAC5B,CAAA;AAED;;;;;;GAMG;AACU,QAAA,gCAAgC,GAAG,MAAO,CAAA;AAmEvD;;;GAGG;AACU,QAAA,4BAA4B,GAAiC;IACxE,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,CAAC;IACR,aAAa,EAAE,CAAC;IAChB,SAAS,EAAE,CAAC;IACZ,eAAe,EAAE,mCAA0B;CAC5C,CAAA"}
1
+ {"version":3,"file":"mapConfig.js","sourceRoot":"","sources":["../../../../src/domain/models/mapConfig.ts"],"names":[],"mappings":";;;AAEA,qCAAqD;AAqErD;;;GAGG;AACU,QAAA,yBAAyB,GAAiC;IACrE,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;IACpC,sBAAsB,EAAE,IAAI;IAC5B,oBAAoB,EAAE,KAAK;IAC3B,wBAAwB,EAAE,CAAC;CAC5B,CAAA;AAED;;;;;;GAMG;AACU,QAAA,gCAAgC,GAAG,MAAO,CAAA;AA2FvD;;;GAGG;AACU,QAAA,4BAA4B,GAAiC;IACxE,OAAO,EAAE,IAAI;IACb,gBAAgB,EAAE,MAAM,CAAC,iBAAiB;IAC1C,KAAK,EAAE,CAAC;IACR,aAAa,EAAE,CAAC;IAChB,SAAS,EAAE,CAAC;IACZ,eAAe,EAAE,mCAA0B;CAC5C,CAAA"}
@@ -14,7 +14,7 @@ const browser_1 = require("@sentry/browser");
14
14
  // exists only for the type-checker, so in the ES/CJS builds the identifier is
15
15
  // genuinely absent and a direct comparison throws ReferenceError at module load.
16
16
  // `typeof` is the only safe way to probe a possibly-undeclared global.
17
- const SDK_VERSION = typeof VERSION === "undefined" ? "3.1.0-dev.3" : VERSION;
17
+ const SDK_VERSION = typeof VERSION === "undefined" ? "3.1.0-dev.4" : VERSION;
18
18
  const DSN = typeof SENTRY_DSN !== "undefined" && SENTRY_DSN
19
19
  ? SENTRY_DSN
20
20
  : "https://872f598f020e3cd73a0933b562d24c81@sentry.mapvx.app/5";
@@ -46,7 +46,8 @@ export declare function rectsIntersect(a: Rect, b: Rect): boolean;
46
46
  * Automatic collision avoidance for marker text labels: keeps a marker's
47
47
  * icon fixed while moving (or hiding) its label to avoid overlapping
48
48
  * neighboring markers' icons/labels, similar to Google Maps' label
49
- * placement. See {@link MarkerLayoutConfig}.
49
+ * placement. Below `minZoomForLabels` it withholds every label instead, so
50
+ * a zoomed-out map shows pins only. See {@link MarkerLayoutConfig}.
50
51
  *
51
52
  * Not part of the public SDK surface — owned and driven entirely by
52
53
  * {@link InternalMapVXMap}, mirroring `RouteController`.
@@ -120,7 +121,14 @@ export declare class MarkerLayoutController {
120
121
  * of its life.
121
122
  */
122
123
  private measureCached;
123
- /** Compute phase: pure, no DOM access. Icons always block; labels negotiate a side or hide. */
124
+ /**
125
+ * Compute phase: pure, no DOM access. Icons always block; labels negotiate
126
+ * a side or hide.
127
+ *
128
+ * Below `minZoomForLabels` every label is hidden and none is placed, so no
129
+ * label ever becomes an obstacle for a neighbor at that zoom — a label the
130
+ * threshold withheld must not displace anything on its way out.
131
+ */
124
132
  private decidePlacements;
125
133
  /**
126
134
  * Whether a candidate label rect clashes with any other marker's icon or
@@ -1 +1 @@
1
- {"version":3,"file":"markerLayoutController.d.ts","sourceRoot":"","sources":["../../../src/controllers/markerLayoutController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markerLayoutController.d.ts","sourceRoot":"","sources":["../../../src/controllers/markerLayoutController.ts"],"names":[],"mappings":"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"}
@@ -92,7 +92,8 @@ export function rectsIntersect(a, b) {
92
92
  * Automatic collision avoidance for marker text labels: keeps a marker's
93
93
  * icon fixed while moving (or hiding) its label to avoid overlapping
94
94
  * neighboring markers' icons/labels, similar to Google Maps' label
95
- * placement. See {@link MarkerLayoutConfig}.
95
+ * placement. Below `minZoomForLabels` it withholds every label instead, so
96
+ * a zoomed-out map shows pins only. See {@link MarkerLayoutConfig}.
96
97
  *
97
98
  * Not part of the public SDK surface — owned and driven entirely by
98
99
  * {@link InternalMapVXMap}, mirroring `RouteController`.
@@ -209,8 +210,13 @@ export class MarkerLayoutController {
209
210
  const viewportWidth = container.clientWidth;
210
211
  const viewportHeight = container.clientHeight;
211
212
  const cullMargin = this.config.maxLabelWidthPx + Math.max(this.config.gapPx, this.config.verticalGapPx);
213
+ // A single `>=` per pass, evaluated here rather than in `attach()` so it
214
+ // tracks the live camera: the controller already relayouts on every
215
+ // "move", which fires continuously through a pan/pinch, so labels cross
216
+ // the threshold mid-gesture instead of snapping at its end.
217
+ const labelsAllowed = this.map.getZoom() >= this.config.minZoomForLabels;
212
218
  const entries = this.readMarkers(markers, viewportWidth, viewportHeight, cullMargin);
213
- const decisions = this.decidePlacements(entries);
219
+ const decisions = this.decidePlacements(entries, labelsAllowed);
214
220
  this.applyDecisions(decisions);
215
221
  }
216
222
  /** Read phase: project + measure, no writes. Culls markers fully outside the viewport. */
@@ -266,13 +272,29 @@ export class MarkerLayoutController {
266
272
  cache.set(marker, measured);
267
273
  return measured;
268
274
  }
269
- /** Compute phase: pure, no DOM access. Icons always block; labels negotiate a side or hide. */
270
- decidePlacements(entries) {
275
+ /**
276
+ * Compute phase: pure, no DOM access. Icons always block; labels negotiate
277
+ * a side or hide.
278
+ *
279
+ * Below `minZoomForLabels` every label is hidden and none is placed, so no
280
+ * label ever becomes an obstacle for a neighbor at that zoom — a label the
281
+ * threshold withheld must not displace anything on its way out.
282
+ */
283
+ decidePlacements(entries, labelsAllowed) {
271
284
  const placedLabels = [];
272
285
  const withLabel = entries.filter(hasLabelSize);
286
+ const decisions = new Map();
287
+ if (!labelsAllowed) {
288
+ for (const entry of withLabel) {
289
+ decisions.set(entry.marker, {
290
+ position: entry.marker.preferredTextPosition,
291
+ hidden: true,
292
+ });
293
+ }
294
+ return decisions;
295
+ }
273
296
  // Stable sort (spec-guaranteed): equal priority keeps insertion order.
274
297
  withLabel.sort((a, b) => b.marker.labelPriority - a.marker.labelPriority);
275
- const decisions = new Map();
276
298
  for (const entry of withLabel) {
277
299
  const order = [
278
300
  entry.marker.preferredTextPosition,
@@ -1 +1 @@
1
- {"version":3,"file":"markerLayoutController.js","sourceRoot":"","sources":["../../../src/controllers/markerLayoutController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,WAAW,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAgBzF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAuD;IAClF,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE;IAC5B,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;IACvB,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;IAC1B,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE;IACxB,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE;IACzB,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IAC5B,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IAC7B,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IAC/B,cAAc,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;CACjC,CAAA;AAED,2EAA2E;AAC3E,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,GAAG;IAChB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,MAAM;CACpB,CAAA;AAED,kFAAkF;AAClF,MAAM,UAAU,eAAe,CAC7B,MAAgC,EAChC,QAA2C,EAC3C,MAAsB;;IAEtB,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,MAAA,gBAAgB,CAAC,MAAM,CAAC,mCAAI,gBAAgB,CAAC,MAAM,CAAA;IACtE,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,KAAK;QACpC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,MAAM;QACpC,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAc,EACd,SAA4C,EAC5C,QAAsB,EACtB,KAAa,EACb,aAAqB;IAErB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,YAAY,CAAC,IAAI;YACpB,OAAO;gBACL,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC,KAAK;gBAC7C,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;gBAC9D,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,MAAM,EAAE,SAAS,CAAC,MAAM;aACzB,CAAA;QACH,KAAK,YAAY,CAAC,GAAG;YACnB,OAAO;gBACL,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC;gBAC9D,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,aAAa,GAAG,SAAS,CAAC,MAAM;gBACpD,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,MAAM,EAAE,SAAS,CAAC,MAAM;aACzB,CAAA;QACH,KAAK,YAAY,CAAC,MAAM;YACtB,OAAO;gBACL,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC;gBAC9D,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,aAAa;gBACnD,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,MAAM,EAAE,SAAS,CAAC,MAAM;aACzB,CAAA;QACH,KAAK,YAAY,CAAC,KAAK,CAAC;QACxB;YACE,OAAO;gBACL,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,GAAG,KAAK;gBAC5C,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;gBAC9D,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,MAAM,EAAE,SAAS,CAAC,MAAM;aACzB,CAAA;IACL,CAAC;AACH,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,UAAU,CAAC,IAAU,EAAE,OAAe;IACpD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,OAAO;QACzB,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,OAAO;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,OAAO;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO;KAClC,CAAA;AACH,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,cAAc,CAAC,CAAO,EAAE,CAAO;IAC7C,OAAO,CACL,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK;QACzB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI;QACzB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM;QACxB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CACzB,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,sBAAsB;IAUjC,YAAY,GAAqB,EAAE,MAAoC;QAP/D,mBAAc,GAAG,IAAI,OAAO,EAAsD,CAAA;QAClF,kBAAa,GAAG,IAAI,OAAO,EAAsD,CAAA;QACxE,qBAAgB,GAAG,IAAI,OAAO,EAAkC,CAAA;QAGzE,aAAQ,GAAG,KAAK,CAAA;QAGtB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAA;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAA;IAClD,CAAC;IAED,IAAY,GAAG;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAA;IAC1B,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;QACrC,IAAI,CAAC,sBAAsB,EAAE,CAAA;QAC7B,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACzB,CAAC;IAED;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,SAAsB;QACzC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAA;QAC1E,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,4BAA4B,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,CAAA;QAC3F,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,yBAAyB,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,CAAA;IAC5F,CAAC;IAED;;;;OAIG;IACK,sBAAsB;QAC5B,MAAM,KAAK,GAAI,QAA+C,CAAC,KAAK,CAAA;QACpE,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,KAAK,CAAC,KAAK;aACR,IAAI,CAAC,GAAG,EAAE;YACT,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,OAAO,EAAE,CAAA;YACnC,IAAI,CAAC,aAAa,GAAG,IAAI,OAAO,EAAE,CAAA;YAClC,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACzB,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,+DAA+D;YAC/D,qDAAqD;QACvD,CAAC,CAAC,CAAA;IACN,CAAC;IAED,2DAA2D;IAC3D,OAAO;QACL,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QACvB,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACpC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC5B,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,gBAAgB,CAAC,MAAuB;QACtC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAClC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACtC,CAAC;IAED,8EAA8E;IAC9E,gBAAgB;QACd,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,OAAM;QAChE,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;YAC1B,IAAI,CAAC,aAAa,EAAE,CAAA;QACtB,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,aAAa;QACnB,wEAAwE;QACxE,oEAAoE;QACpE,qEAAqE;QACrE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAM;QAE1B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAA;QAC1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAEhC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAA;QACzC,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,CAAA;QAC3C,MAAM,cAAc,GAAG,SAAS,CAAC,YAAY,CAAA;QAC7C,MAAM,UAAU,GACd,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAEtF,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,CAAC,CAAA;QACpF,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;QAChD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC;IAED,0FAA0F;IAClF,WAAW,CACjB,OAAmC,EACnC,aAAqB,EACrB,cAAsB,EACtB,UAAkB;QAElB,MAAM,OAAO,GAAkB,EAAE,CAAA;QACjC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,WAAW;gBAAE,SAAQ;YAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;YACnD,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;YAEzF,MAAM,aAAa,GACjB,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,UAAU;gBAC5C,QAAQ,CAAC,IAAI,GAAG,aAAa,GAAG,UAAU;gBAC1C,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,UAAU;gBAC5C,QAAQ,CAAC,GAAG,GAAG,cAAc,GAAG,UAAU,CAAA;YAC5C,IAAI,aAAa;gBAAE,SAAQ;YAE3B,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC9E,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,gBAAgB,CAAC,MAAuB;QAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAA;QACrC,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAA;QAC7B,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAChE,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,MAAuB;;QAC7C,IAAI,CAAC,MAAM,CAAC,kBAAkB;YAAE,OAAO,MAAM,CAAC,QAAQ,CAAA;QACtD,OAAO,MAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,mCAAI,MAAM,CAAC,QAAQ,CAAA;IAC/F,CAAC;IAED;;;;;;OAMG;IACK,aAAa,CACnB,KAAkE,EAClE,MAAuB,EACvB,OAAoB;QAEpB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAChC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAA;QAEzB,MAAM,QAAQ,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,CAAA;QAC7E,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,SAAS,CAAA;QACjE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC3B,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,+FAA+F;IACvF,gBAAgB,CAAC,OAAsB;QAC7C,MAAM,YAAY,GAAW,EAAE,CAAA;QAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAC9C,uEAAuE;QACvE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAEzE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkC,CAAA;QAC3D,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG;gBACZ,KAAK,CAAC,MAAM,CAAC,qBAAqB;gBAClC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC;aACxF,CAAA;YAED,MAAM,GAAG,GAAG,KAAK;iBACd,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAClB,QAAQ;gBACR,IAAI,EAAE,oBAAoB,CACxB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,SAAS,EACf,QAAQ,EACR,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,IAAI,CAAC,MAAM,CAAC,aAAa,CAC1B;aACF,CAAC,CAAC;iBACF,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;YAEhF,IAAI,GAAG,EAAE,CAAC;gBACR,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBAC3B,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;YACxE,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7F,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;;;;;;;;;OAUG;IACK,QAAQ,CACd,IAAU,EACV,IAAqB,EACrB,OAA+B,EAC/B,YAA6B;QAE7B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACtD,OAAO,CACL,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACxF,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAC5D,CAAA;IACH,CAAC;IAED,qFAAqF;IAC7E,cAAc,CAAC,SAA8C;QACnE,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAC9C,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;gBAAE,OAAM;YAE1F,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC3B,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;YAC3F,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAYD,SAAS,YAAY,CAAC,KAAkB;IACtC,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS,CAAA;AACtC,CAAC"}
1
+ {"version":3,"file":"markerLayoutController.js","sourceRoot":"","sources":["../../../src/controllers/markerLayoutController.ts"],"names":[],"mappings":"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"}
@@ -88,6 +88,7 @@ export declare const MAPLIBRE_MAX_TILE_CACHE_HARD_CAP = 100000;
88
88
  * ```typescript
89
89
  * const markerLayoutConfig: MarkerLayoutConfig = {
90
90
  * enabled: true,
91
+ * minZoomForLabels: 17,
91
92
  * gapPx: 8,
92
93
  * maxLabelWidthPx: 160,
93
94
  * };
@@ -103,6 +104,28 @@ export interface MarkerLayoutConfig {
103
104
  * @default true
104
105
  */
105
106
  enabled?: boolean;
107
+ /**
108
+ * Zoom level below which no label is rendered at all. Markers keep their
109
+ * icons; only the text is withheld.
110
+ *
111
+ * Motivated by dense maps: zoomed out, hundreds of pins share a few
112
+ * hundred pixels and nearly every label would be hidden by collision
113
+ * avoidance anyway, one at a time and in an order the caller cannot
114
+ * predict. A single threshold makes that state deliberate and uniform —
115
+ * pins only, then labels once the camera is close enough for them to fit.
116
+ *
117
+ * Evaluated continuously as the camera moves, so labels appear the moment
118
+ * the zoom crosses the threshold rather than when the gesture ends.
119
+ *
120
+ * Labels withheld by this threshold are not obstacles: they never occupy
121
+ * space for their neighbors, so nothing is displaced on their behalf.
122
+ *
123
+ * Requires `enabled: true`: `enabled: false` short-circuits the entire
124
+ * layout pass, so the threshold is never evaluated either.
125
+ *
126
+ * @default -Infinity (no threshold — labels are placed at every zoom)
127
+ */
128
+ minZoomForLabels?: number;
106
129
  /**
107
130
  * Horizontal gap, in pixels, between an icon and a label placed to its
108
131
  * left or right. Drives both the collision math and the rendered offset
@@ -1 +1 @@
1
- {"version":3,"file":"mapConfig.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/mapConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapConfig.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/mapConfig.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export const MAPLIBRE_MAX_TILE_CACHE_HARD_CAP = 100000;
25
25
  */
26
26
  export const DEFAULT_MARKER_LAYOUT_CONFIG = {
27
27
  enabled: true,
28
+ minZoomForLabels: Number.NEGATIVE_INFINITY,
28
29
  gapPx: 8,
29
30
  verticalGapPx: 4,
30
31
  paddingPx: 4,
@@ -1 +1 @@
1
- {"version":3,"file":"mapConfig.js","sourceRoot":"","sources":["../../../../src/domain/models/mapConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAA;AAqErD;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAiC;IACrE,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;IACpC,sBAAsB,EAAE,IAAI;IAC5B,oBAAoB,EAAE,KAAK;IAC3B,wBAAwB,EAAE,CAAC;CAC5B,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAO,CAAA;AAmEvD;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAiC;IACxE,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,CAAC;IACR,aAAa,EAAE,CAAC;IAChB,SAAS,EAAE,CAAC;IACZ,eAAe,EAAE,0BAA0B;CAC5C,CAAA"}
1
+ {"version":3,"file":"mapConfig.js","sourceRoot":"","sources":["../../../../src/domain/models/mapConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAA;AAqErD;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAiC;IACrE,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;IACpC,sBAAsB,EAAE,IAAI;IAC5B,oBAAoB,EAAE,KAAK;IAC3B,wBAAwB,EAAE,CAAC;CAC5B,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAO,CAAA;AA2FvD;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAiC;IACxE,OAAO,EAAE,IAAI;IACb,gBAAgB,EAAE,MAAM,CAAC,iBAAiB;IAC1C,KAAK,EAAE,CAAC;IACR,aAAa,EAAE,CAAC;IAChB,SAAS,EAAE,CAAC;IACZ,eAAe,EAAE,0BAA0B;CAC5C,CAAA"}
@@ -10,7 +10,7 @@ import { BrowserClient, defaultStackParser, getDefaultIntegrations, makeFetchTra
10
10
  // exists only for the type-checker, so in the ES/CJS builds the identifier is
11
11
  // genuinely absent and a direct comparison throws ReferenceError at module load.
12
12
  // `typeof` is the only safe way to probe a possibly-undeclared global.
13
- const SDK_VERSION = typeof VERSION === "undefined" ? "3.1.0-dev.3" : VERSION;
13
+ const SDK_VERSION = typeof VERSION === "undefined" ? "3.1.0-dev.4" : VERSION;
14
14
  const DSN = typeof SENTRY_DSN !== "undefined" && SENTRY_DSN
15
15
  ? SENTRY_DSN
16
16
  : "https://872f598f020e3cd73a0933b562d24c81@sentry.mapvx.app/5";
package/dist/umd/index.js CHANGED
@@ -11240,7 +11240,7 @@ const extractSafariExtensionDetails = (func, filename) => {
11240
11240
  // exists only for the type-checker, so in the ES/CJS builds the identifier is
11241
11241
  // genuinely absent and a direct comparison throws ReferenceError at module load.
11242
11242
  // `typeof` is the only safe way to probe a possibly-undeclared global.
11243
- var sentry_SDK_VERSION = false ? 0 : "3.1.0-dev.3";
11243
+ var sentry_SDK_VERSION = false ? 0 : "3.1.0-dev.4";
11244
11244
  var DSN = false ? 0 : "https://872f598f020e3cd73a0933b562d24c81@sentry.mapvx.app/5";
11245
11245
 
11246
11246
  /**
@@ -12673,7 +12673,8 @@ function rectsIntersect(a, b) {
12673
12673
  * Automatic collision avoidance for marker text labels: keeps a marker's
12674
12674
  * icon fixed while moving (or hiding) its label to avoid overlapping
12675
12675
  * neighboring markers' icons/labels, similar to Google Maps' label
12676
- * placement. See {@link MarkerLayoutConfig}.
12676
+ * placement. Below `minZoomForLabels` it withholds every label instead, so
12677
+ * a zoomed-out map shows pins only. See {@link MarkerLayoutConfig}.
12677
12678
  *
12678
12679
  * Not part of the public SDK surface — owned and driven entirely by
12679
12680
  * {@link InternalMapVXMap}, mirroring `RouteController`.
@@ -12810,8 +12811,14 @@ var MarkerLayoutController = /*#__PURE__*/function () {
12810
12811
  var viewportWidth = container.clientWidth;
12811
12812
  var viewportHeight = container.clientHeight;
12812
12813
  var cullMargin = this.config.maxLabelWidthPx + Math.max(this.config.gapPx, this.config.verticalGapPx);
12814
+
12815
+ // A single `>=` per pass, evaluated here rather than in `attach()` so it
12816
+ // tracks the live camera: the controller already relayouts on every
12817
+ // "move", which fires continuously through a pan/pinch, so labels cross
12818
+ // the threshold mid-gesture instead of snapping at its end.
12819
+ var labelsAllowed = this.map.getZoom() >= this.config.minZoomForLabels;
12813
12820
  var entries = this.readMarkers(markers, viewportWidth, viewportHeight, cullMargin);
12814
- var decisions = this.decidePlacements(entries);
12821
+ var decisions = this.decidePlacements(entries, labelsAllowed);
12815
12822
  this.applyDecisions(decisions);
12816
12823
  }
12817
12824
 
@@ -12886,23 +12893,49 @@ var MarkerLayoutController = /*#__PURE__*/function () {
12886
12893
  return measured;
12887
12894
  }
12888
12895
 
12889
- /** Compute phase: pure, no DOM access. Icons always block; labels negotiate a side or hide. */
12896
+ /**
12897
+ * Compute phase: pure, no DOM access. Icons always block; labels negotiate
12898
+ * a side or hide.
12899
+ *
12900
+ * Below `minZoomForLabels` every label is hidden and none is placed, so no
12901
+ * label ever becomes an obstacle for a neighbor at that zoom — a label the
12902
+ * threshold withheld must not displace anything on its way out.
12903
+ */
12890
12904
  }, {
12891
12905
  key: "decidePlacements",
12892
- value: function decidePlacements(entries) {
12906
+ value: function decidePlacements(entries, labelsAllowed) {
12893
12907
  var _this4 = this;
12894
12908
  var placedLabels = [];
12895
12909
  var withLabel = entries.filter(hasLabelSize);
12910
+ var decisions = new Map();
12911
+ if (!labelsAllowed) {
12912
+ var _iterator2 = markerLayoutController_createForOfIteratorHelper(withLabel),
12913
+ _step2;
12914
+ try {
12915
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
12916
+ var entry = _step2.value;
12917
+ decisions.set(entry.marker, {
12918
+ position: entry.marker.preferredTextPosition,
12919
+ hidden: true
12920
+ });
12921
+ }
12922
+ } catch (err) {
12923
+ _iterator2.e(err);
12924
+ } finally {
12925
+ _iterator2.f();
12926
+ }
12927
+ return decisions;
12928
+ }
12929
+
12896
12930
  // Stable sort (spec-guaranteed): equal priority keeps insertion order.
12897
12931
  withLabel.sort(function (a, b) {
12898
12932
  return b.marker.labelPriority - a.marker.labelPriority;
12899
12933
  });
12900
- var decisions = new Map();
12901
- var _iterator2 = markerLayoutController_createForOfIteratorHelper(withLabel),
12902
- _step2;
12934
+ var _iterator3 = markerLayoutController_createForOfIteratorHelper(withLabel),
12935
+ _step3;
12903
12936
  try {
12904
12937
  var _loop = function _loop() {
12905
- var entry = _step2.value;
12938
+ var entry = _step3.value;
12906
12939
  var order = [entry.marker.preferredTextPosition].concat(_toConsumableArray(FALLBACK_ORDER.filter(function (position) {
12907
12940
  return position !== entry.marker.preferredTextPosition;
12908
12941
  })));
@@ -12928,13 +12961,13 @@ var MarkerLayoutController = /*#__PURE__*/function () {
12928
12961
  });
12929
12962
  }
12930
12963
  };
12931
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
12964
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
12932
12965
  _loop();
12933
12966
  }
12934
12967
  } catch (err) {
12935
- _iterator2.e(err);
12968
+ _iterator3.e(err);
12936
12969
  } finally {
12937
- _iterator2.f();
12970
+ _iterator3.f();
12938
12971
  }
12939
12972
  return decisions;
12940
12973
  }
@@ -15227,6 +15260,7 @@ var MAPLIBRE_MAX_TILE_CACHE_HARD_CAP = 100000;
15227
15260
  * ```typescript
15228
15261
  * const markerLayoutConfig: MarkerLayoutConfig = {
15229
15262
  * enabled: true,
15263
+ * minZoomForLabels: 17,
15230
15264
  * gapPx: 8,
15231
15265
  * maxLabelWidthPx: 160,
15232
15266
  * };
@@ -15241,6 +15275,7 @@ var MAPLIBRE_MAX_TILE_CACHE_HARD_CAP = 100000;
15241
15275
  */
15242
15276
  var DEFAULT_MARKER_LAYOUT_CONFIG = {
15243
15277
  enabled: true,
15278
+ minZoomForLabels: Number.NEGATIVE_INFINITY,
15244
15279
  gapPx: 8,
15245
15280
  verticalGapPx: 4,
15246
15281
  paddingPx: 4,