@mapbox/mapbox-gl-style-spec 14.32.0-rc.1 → 14.33.0-rc.1

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/index.cjs CHANGED
@@ -1470,6 +1470,28 @@
1470
1470
  value: "string",
1471
1471
  doc: "An array of one or more tile source URLs, as in the TileJSON spec. Requires `batched-model` source type."
1472
1472
  },
1473
+ bounds: {
1474
+ type: "array",
1475
+ value: "number",
1476
+ length: 4,
1477
+ "default": [
1478
+ -180,
1479
+ -85.051129,
1480
+ 180,
1481
+ 85.051129
1482
+ ],
1483
+ doc: "An array containing the longitude and latitude of the southwest and northeast corners of the source's bounding box in the following order: `[sw.lng, sw.lat, ne.lng, ne.lat]`. When this property is included in a source, no tiles outside of the given bounds are requested by Mapbox GL. Requires `batched-model` source type."
1484
+ },
1485
+ extra_bounds: {
1486
+ type: "array",
1487
+ value: {
1488
+ type: "array",
1489
+ value: "number",
1490
+ length: 4,
1491
+ doc: "An array containing the longitude and latitude of the southwest and northeast corners of the source's bounding box in the following order: `[sw.lng, sw.lat, ne.lng, ne.lat]`."
1492
+ },
1493
+ doc: "An array of additional discrete geographic regions where tiles are available. When used alongside the `bounds` property, these regions act as an additional filter - Mapbox GL will only request tiles that are both within the `bounds` and any of the regions defined in `extra_bounds`. When used independently (without `bounds`), Mapbox GL will request tiles that fall within any of the regions in `extra_bounds`. This allows for more fine-grained control over tile requests, particularly when dealing with sparse data coverage. Requires `batched-model` source type."
1494
+ },
1473
1495
  models: {
1474
1496
  type: "modelSourceModels",
1475
1497
  doc: "Defines properties of 3D models in collection. Requires `model` source type."
@@ -7235,7 +7257,7 @@
7235
7257
  "default": 1,
7236
7258
  minimum: 0,
7237
7259
  maximum: 1,
7238
- doc: "The opacity of the entire procedural buildings layer. This is rendered on a per-layer, not per-feature, basis, and data-driven styling is not available.",
7260
+ doc: "The opacity of the entire procedural buildings layer. This is rendered on a per-layer, not per-feature, basis, and data-driven styling is not available. When consecutive `fill-extrusion` and `building` layers are semi-transparent, they are rendered together: they occlude each other and are only transparent against other layers. If another layer type is placed between them, each layer is blended separately and later layers are visible through earlier ones.",
7239
7261
  transition: true,
7240
7262
  "private": true,
7241
7263
  "sdk-support": {
@@ -11391,7 +11413,7 @@
11391
11413
  "default": 1,
11392
11414
  minimum: 0,
11393
11415
  maximum: 1,
11394
- doc: "The opacity of the entire fill extrusion layer. This is rendered on a per-layer, not per-feature, basis, and data-driven styling is not available.",
11416
+ doc: "The opacity of the entire fill extrusion layer. This is rendered on a per-layer, not per-feature, basis, and data-driven styling is not available. When consecutive `fill-extrusion` and `building` layers are semi-transparent, they are rendered together: they occlude each other and are only transparent against other layers. If another layer type is placed between them, each layer is blended separately and later layers are visible through earlier ones.",
11395
11417
  transition: true,
11396
11418
  "sdk-support": {
11397
11419
  "basic functionality": {
@@ -15028,7 +15050,10 @@
15028
15050
 
15029
15051
  const FQIDSeparator = "";
15030
15052
  function makeConfigFQID(id, ownScope, contextScope) {
15031
- return [id, ownScope, contextScope].filter(Boolean).join(FQIDSeparator);
15053
+ let fqid = id || "";
15054
+ if (ownScope) fqid = fqid ? fqid + FQIDSeparator + ownScope : ownScope;
15055
+ if (contextScope) fqid = fqid ? fqid + FQIDSeparator + contextScope : contextScope;
15056
+ return fqid;
15032
15057
  }
15033
15058
  function coerceValue(type, value) {
15034
15059
  switch (type) {
@@ -15109,7 +15134,9 @@
15109
15134
  let result = defaultValue;
15110
15135
  if (value) {
15111
15136
  const originalScope = ctx.scope;
15112
- ctx.scope = (originalScope || "").split(FQIDSeparator).slice(1).join(FQIDSeparator);
15137
+ const scope = originalScope || "";
15138
+ const sep = scope.indexOf(FQIDSeparator);
15139
+ ctx.scope = sep >= 0 ? scope.slice(sep + 1) : "";
15113
15140
  result = value.evaluate(ctx);
15114
15141
  ctx.scope = originalScope;
15115
15142
  }