@tileflow/core 0.1.0-alpha.30 → 0.1.0-alpha.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -1
- package/dist/browser.d.ts +747 -15
- package/dist/browser.js +1015 -53
- package/dist/build.d.ts +62 -55
- package/dist/build.js +100 -53
- package/dist/{capture-scene-D6soWztE.d.ts → capture-scene-BaAJjGq7.d.ts} +11 -1
- package/dist/capture.d.ts +1 -1
- package/dist/capture.js +12 -0
- package/dist/config-reference.json +1411 -1367
- package/dist/{icon-composition-BiOTwrvD.d.ts → icon-composition-Befmn-zZ.d.ts} +40 -32
- package/dist/index.d.ts +13 -11
- package/dist/index.js +108 -53
- package/dist/{manifest-types-CTT2eLbp.d.ts → manifest-types-E7m23eXL.d.ts} +18 -1
- package/dist/manifest.d.ts +2 -2
- package/dist/native-profile.d.ts +25 -11
- package/dist/native-profile.js +21 -1
- package/dist/native.d.ts +134 -1
- package/dist/native.js +691 -1
- package/dist/runtime.d.ts +1 -1
- package/docs/authoring-model.md +20 -4
- package/docs/capture-scenes.md +1 -1
- package/docs/compiled-style-performance.md +4 -1
- package/docs/data-is-separate-from-design.md +103 -9
- package/docs/dynamic-style-images.md +100 -0
- package/docs/map-emphasis.md +89 -0
- package/docs/native-artifact-profile.md +5 -3
- package/docs/shared-visual-primitives.md +20 -0
- package/docs/style-states.md +73 -0
- package/docs/theme-transitions-and-blends.md +100 -5
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2174,8 +2174,19 @@ var tileflowCaptureSceneSchema = z3.object({
|
|
|
2174
2174
|
viewport: tileflowCaptureViewportSchema,
|
|
2175
2175
|
target: tileflowCaptureTargetSchema.optional()
|
|
2176
2176
|
}).strict();
|
|
2177
|
+
function tileflowCaptureSceneFitIssue(scene) {
|
|
2178
|
+
if (scene.camera.type !== "bounds" || scene.camera.padding === void 0) return void 0;
|
|
2179
|
+
const room = Math.min(scene.viewport.width, scene.viewport.height);
|
|
2180
|
+
if (scene.camera.padding * 2 < room) return void 0;
|
|
2181
|
+
return {
|
|
2182
|
+
message: `Expected bounds padding less than half the viewport's shorter side (${room / 2} pixels)`,
|
|
2183
|
+
path: ["camera", "padding"]
|
|
2184
|
+
};
|
|
2185
|
+
}
|
|
2177
2186
|
function normalizeTileflowCaptureScene(input) {
|
|
2178
2187
|
const scene = tileflowCaptureSceneSchema.parse(input);
|
|
2188
|
+
const fit = tileflowCaptureSceneFitIssue(scene);
|
|
2189
|
+
if (fit) throw new RangeError(`${fit.path.join(".")}: ${fit.message}`);
|
|
2179
2190
|
const camera = scene.camera.type === "center" ? {
|
|
2180
2191
|
type: scene.camera.type,
|
|
2181
2192
|
center: scene.camera.center,
|
|
@@ -2391,6 +2402,7 @@ var canonicalLayers = {
|
|
|
2391
2402
|
boundary: "boundary",
|
|
2392
2403
|
building: "building",
|
|
2393
2404
|
businessCorridor: "business_corridor",
|
|
2405
|
+
canopy: "canopy",
|
|
2394
2406
|
globalLandcover: "globallandcover",
|
|
2395
2407
|
houseNumber: "housenumber",
|
|
2396
2408
|
landcover: "landcover",
|
|
@@ -2412,8 +2424,10 @@ var canonicalFields = {
|
|
|
2412
2424
|
adminLevel: "admin_level",
|
|
2413
2425
|
bicycle: "bicycle",
|
|
2414
2426
|
brunnel: "brunnel",
|
|
2415
|
-
buildingKind: "building_kind",
|
|
2416
2427
|
buildingTone: "building_tone",
|
|
2428
|
+
canopyClearanceAtZoom15: "clearance_px_z15",
|
|
2429
|
+
canopyCoverPercent: "cover_pct",
|
|
2430
|
+
canopyRank: "rank",
|
|
2417
2431
|
capital: "capital",
|
|
2418
2432
|
circularClearanceExtraAtZoom15: "clearance_extra_px_z15",
|
|
2419
2433
|
circularInnerRadiusMeters: "inner_radius_m",
|
|
@@ -2424,9 +2438,9 @@ var canonicalFields = {
|
|
|
2424
2438
|
class: "class",
|
|
2425
2439
|
crossing: "crossing",
|
|
2426
2440
|
circumference: "circumference",
|
|
2427
|
-
classificationConfidence: "classification_confidence",
|
|
2428
2441
|
confidence: "confidence",
|
|
2429
2442
|
diameterCrown: "diameter_crown",
|
|
2443
|
+
direction: "direction",
|
|
2430
2444
|
disputed: "disputed",
|
|
2431
2445
|
elevation: "ele",
|
|
2432
2446
|
elevationFeet: "ele_ft",
|
|
@@ -2434,7 +2448,6 @@ var canonicalFields = {
|
|
|
2434
2448
|
foot: "foot",
|
|
2435
2449
|
height: "height",
|
|
2436
2450
|
hide3d: "hide_3d",
|
|
2437
|
-
hasBusiness: "has_business",
|
|
2438
2451
|
hasParts: "has_parts",
|
|
2439
2452
|
horse: "horse",
|
|
2440
2453
|
houseNumber: "housenumber",
|
|
@@ -2469,7 +2482,6 @@ var canonicalFields = {
|
|
|
2469
2482
|
ref: "ref",
|
|
2470
2483
|
refLength: "ref_length",
|
|
2471
2484
|
renderHeight: "render_height",
|
|
2472
|
-
renderMinZoom: "render_min_zoom",
|
|
2473
2485
|
renderMinHeight: "render_min_height",
|
|
2474
2486
|
service: "service",
|
|
2475
2487
|
species: "species",
|
|
@@ -2492,6 +2504,7 @@ function openMapTiles(options = {}) {
|
|
|
2492
2504
|
delete fields.bathymetryMinDepth;
|
|
2493
2505
|
delete fields.bathymetrySortKey;
|
|
2494
2506
|
}
|
|
2507
|
+
if (options.capabilities?.canopy === false) delete layers.canopy;
|
|
2495
2508
|
if (options.capabilities?.globalLandcover === false) delete layers.globalLandcover;
|
|
2496
2509
|
if (options.capabilities?.tree === false) delete layers.tree;
|
|
2497
2510
|
return {
|
|
@@ -2509,14 +2522,6 @@ function tileflowWorldV1Schema(options = {}) {
|
|
|
2509
2522
|
...options,
|
|
2510
2523
|
capabilities: { ...options.capabilities, bathymetry: true, globalLandcover: true },
|
|
2511
2524
|
fields: {
|
|
2512
|
-
circularClearanceExtraAtZoom15: "clearance_extra_px_z15",
|
|
2513
|
-
circularInnerRadiusMeters: "inner_radius_m",
|
|
2514
|
-
circularKind: "circle_kind",
|
|
2515
|
-
circularOuterRadiusMeters: "outer_radius_m",
|
|
2516
|
-
circularRadiusAtZoom15: "radius_px_z15",
|
|
2517
|
-
circularRadiusMeters: "radius_m",
|
|
2518
|
-
direction: "direction",
|
|
2519
|
-
hasParts: "has_parts",
|
|
2520
2525
|
shieldKind: "shield_kind",
|
|
2521
2526
|
shieldLineLengthMeters: "shield_line_length_m",
|
|
2522
2527
|
shieldNetwork: "shield_network",
|
|
@@ -2547,6 +2552,7 @@ function validateTileflowWorldV1Tilejson(tilejson, schema = tileflowWorldV1Schem
|
|
|
2547
2552
|
const road = requireTilejsonLayer(layers, schema.layers.road, issues);
|
|
2548
2553
|
const roadName = requireTilejsonLayer(layers, schema.layers.roadName, issues);
|
|
2549
2554
|
const roadShield = requireTilejsonLayer(layers, schema.layers.roadShield, issues);
|
|
2555
|
+
const canopy = optionalTilejsonLayer(layers, schema.layers.canopy, issues);
|
|
2550
2556
|
if (bathymetry2) {
|
|
2551
2557
|
if (bathymetry2.minzoom !== 0 || bathymetry2.maxzoom !== 9) {
|
|
2552
2558
|
issues.push(`Tileflow World V1 ${schema.layers.bathymetry} must declare z0-z9.`);
|
|
@@ -2719,6 +2725,18 @@ function validateTileflowWorldV1Tilejson(tilejson, schema = tileflowWorldV1Schem
|
|
|
2719
2725
|
requireTilejsonField(roadShield, schema.layers.roadShield, field2, ["Number"], issues);
|
|
2720
2726
|
}
|
|
2721
2727
|
}
|
|
2728
|
+
if (canopy && schema.layers.canopy) {
|
|
2729
|
+
if (canopy.minzoom !== 14 || canopy.maxzoom !== 15) {
|
|
2730
|
+
issues.push(`Tileflow World V1 ${schema.layers.canopy} must declare native z14-z15.`);
|
|
2731
|
+
}
|
|
2732
|
+
for (const field2 of [
|
|
2733
|
+
schema.fields.canopyRank,
|
|
2734
|
+
schema.fields.canopyClearanceAtZoom15,
|
|
2735
|
+
schema.fields.canopyCoverPercent
|
|
2736
|
+
]) {
|
|
2737
|
+
requireTilejsonField(canopy, schema.layers.canopy, field2, ["Number"], issues);
|
|
2738
|
+
}
|
|
2739
|
+
}
|
|
2722
2740
|
return issues;
|
|
2723
2741
|
}
|
|
2724
2742
|
function requireTilejsonLayer(layers, id2, issues) {
|
|
@@ -2735,6 +2753,13 @@ function requireTilejsonLayer(layers, id2, issues) {
|
|
|
2735
2753
|
}
|
|
2736
2754
|
return matches[0];
|
|
2737
2755
|
}
|
|
2756
|
+
function optionalTilejsonLayer(layers, id2, issues) {
|
|
2757
|
+
if (id2 === void 0) return void 0;
|
|
2758
|
+
const declared = layers.some(
|
|
2759
|
+
(layer) => typeof layer === "object" && layer !== null && layer.id === id2
|
|
2760
|
+
);
|
|
2761
|
+
return declared ? requireTilejsonLayer(layers, id2, issues) : void 0;
|
|
2762
|
+
}
|
|
2738
2763
|
function requireNativeZoom15(layer, layerId, issues) {
|
|
2739
2764
|
if (layer.minzoom !== 15 || layer.maxzoom !== 15) {
|
|
2740
2765
|
issues.push(`Tileflow World V1 ${layerId} must declare native z15.`);
|
|
@@ -2839,7 +2864,7 @@ function resolveTileflowData(data, options = {}) {
|
|
|
2839
2864
|
};
|
|
2840
2865
|
}
|
|
2841
2866
|
function isCanonicalOpenMapTilesSchema(schema) {
|
|
2842
|
-
return
|
|
2867
|
+
return schema.semantics.parkLayer === "mixed" && Object.entries(canonicalLayers).every(
|
|
2843
2868
|
([key, value]) => schema.layers[key] === value
|
|
2844
2869
|
) && Object.entries(canonicalFields).every(
|
|
2845
2870
|
([key, value]) => schema.fields[key] === value
|
|
@@ -2857,6 +2882,7 @@ function dataIdentity(kind, schema, version, url) {
|
|
|
2857
2882
|
capabilities: {
|
|
2858
2883
|
businessCorridor: Boolean(schema.layers.businessCorridor),
|
|
2859
2884
|
bathymetry: Boolean(schema.layers.bathymetry),
|
|
2885
|
+
canopy: Boolean(schema.layers.canopy),
|
|
2860
2886
|
globalLandcover: Boolean(schema.layers.globalLandcover),
|
|
2861
2887
|
tree: Boolean(schema.layers.tree)
|
|
2862
2888
|
}
|
|
@@ -3013,7 +3039,7 @@ function validateOpenMapTilesSchema(schema) {
|
|
|
3013
3039
|
`Tileflow requires OpenMapTiles contract version ${openMapTilesContractVersion}.`
|
|
3014
3040
|
);
|
|
3015
3041
|
}
|
|
3016
|
-
const parkLayer = schema.semantics?.parkLayer
|
|
3042
|
+
const parkLayer = schema.semantics?.parkLayer;
|
|
3017
3043
|
if (parkLayer !== "mixed" && parkLayer !== "protected-only") {
|
|
3018
3044
|
throw new Error("Tileflow OpenMapTiles semantics.parkLayer is invalid.");
|
|
3019
3045
|
}
|
|
@@ -3942,7 +3968,7 @@ function applyTextStyle(layer, style) {
|
|
|
3942
3968
|
layout["text-variable-anchor"] = [...style.variableAnchors];
|
|
3943
3969
|
}
|
|
3944
3970
|
if (style.justify !== void 0) layout["text-justify"] = style.justify;
|
|
3945
|
-
|
|
3971
|
+
setOverlap(layout, "text", style);
|
|
3946
3972
|
if (style.ignorePlacement !== void 0) layout["text-ignore-placement"] = style.ignorePlacement;
|
|
3947
3973
|
if (style.keepUpright !== void 0) layout["text-keep-upright"] = style.keepUpright;
|
|
3948
3974
|
if (style.optional !== void 0) layout["text-optional"] = style.optional;
|
|
@@ -4012,7 +4038,7 @@ function applyIconStyle(layer, style) {
|
|
|
4012
4038
|
if (style.rotationAlignment !== void 0) {
|
|
4013
4039
|
layout["icon-rotation-alignment"] = style.rotationAlignment;
|
|
4014
4040
|
}
|
|
4015
|
-
|
|
4041
|
+
setOverlap(layout, "icon", style);
|
|
4016
4042
|
if (style.ignorePlacement !== void 0) layout["icon-ignore-placement"] = style.ignorePlacement;
|
|
4017
4043
|
if (style.keepUpright !== void 0) layout["icon-keep-upright"] = style.keepUpright;
|
|
4018
4044
|
if (style.optional !== void 0) layout["icon-optional"] = style.optional;
|
|
@@ -4130,6 +4156,18 @@ function withoutRange(value) {
|
|
|
4130
4156
|
const { maxZoom: _maxZoom, minZoom: _minZoom, visible: _visible, ...rest } = value;
|
|
4131
4157
|
return rest;
|
|
4132
4158
|
}
|
|
4159
|
+
function setOverlap(layout, part, style) {
|
|
4160
|
+
if (style.overlap !== void 0) layout[`${part}-overlap`] = style.overlap;
|
|
4161
|
+
else if (style.allowOverlap !== void 0) layout[`${part}-allow-overlap`] = style.allowOverlap;
|
|
4162
|
+
if (layout[`${part}-overlap`] !== void 0) delete layout[`${part}-allow-overlap`];
|
|
4163
|
+
}
|
|
4164
|
+
function withoutGovernedAllowOverlap(layout) {
|
|
4165
|
+
const result = { ...layout };
|
|
4166
|
+
for (const part of ["icon", "text"]) {
|
|
4167
|
+
if (result[`${part}-overlap`] !== void 0) delete result[`${part}-allow-overlap`];
|
|
4168
|
+
}
|
|
4169
|
+
return result;
|
|
4170
|
+
}
|
|
4133
4171
|
function setPaint(paint, property, value) {
|
|
4134
4172
|
if (value !== void 0) paint[property] = toMapLibreStyleValue(value);
|
|
4135
4173
|
}
|
|
@@ -4668,15 +4706,6 @@ function buildingColorExpression(context) {
|
|
|
4668
4706
|
colors.destination,
|
|
4669
4707
|
["==", ["coalesce", ["get", fields.buildingTone], ""], "commercial"],
|
|
4670
4708
|
colors.commercial,
|
|
4671
|
-
// Defensive compatibility for immutable V8.9 archives. New candidates emit building_tone.
|
|
4672
|
-
[
|
|
4673
|
-
"any",
|
|
4674
|
-
["==", ["get", fields.hasBusiness], true],
|
|
4675
|
-
["==", ["get", fields.hasBusiness], 1],
|
|
4676
|
-
["==", ["get", fields.hasBusiness], "1"],
|
|
4677
|
-
["==", ["coalesce", ["get", fields.buildingKind], "generic"], "commercial"]
|
|
4678
|
-
],
|
|
4679
|
-
colors.commercial,
|
|
4680
4709
|
colors.generic
|
|
4681
4710
|
];
|
|
4682
4711
|
}
|
|
@@ -6757,7 +6786,7 @@ function createPoiLayer(options) {
|
|
|
6757
6786
|
["==", ["get", options.categoryField], options.category],
|
|
6758
6787
|
["has", options.filterRankField],
|
|
6759
6788
|
[">=", filterRank, 0],
|
|
6760
|
-
["<=", filterRank, options.density],
|
|
6789
|
+
["<=", filterRank, poiRankThreshold(options.density)],
|
|
6761
6790
|
["has", options.sizeRankField],
|
|
6762
6791
|
[">=", sizeRank, 0],
|
|
6763
6792
|
["<=", sizeRank, 16]
|
|
@@ -6765,6 +6794,9 @@ function createPoiLayer(options) {
|
|
|
6765
6794
|
layout: { "symbol-sort-key": poiSortKey(options.filterRankField, options.sizeRankField) }
|
|
6766
6795
|
};
|
|
6767
6796
|
}
|
|
6797
|
+
function poiRankThreshold(density) {
|
|
6798
|
+
return ["+", ["step", ["zoom"], 0, 16, 1, 17, 2], density];
|
|
6799
|
+
}
|
|
6768
6800
|
function numericPoiField(field2, fallback) {
|
|
6769
6801
|
return ["to-number", ["get", field2], fallback];
|
|
6770
6802
|
}
|
|
@@ -7704,9 +7736,7 @@ function compileSidewalks(request, context, contributions) {
|
|
|
7704
7736
|
}
|
|
7705
7737
|
function compileRoundabouts(request, context, contributions) {
|
|
7706
7738
|
const { fields, layers } = context.data.schema;
|
|
7707
|
-
if (!layers.circularFeature
|
|
7708
|
-
return;
|
|
7709
|
-
}
|
|
7739
|
+
if (!layers.circularFeature) return;
|
|
7710
7740
|
const circularFields = {
|
|
7711
7741
|
circularInnerRadiusMeters: fields.circularInnerRadiusMeters,
|
|
7712
7742
|
circularOuterRadiusMeters: fields.circularOuterRadiusMeters,
|
|
@@ -7780,7 +7810,7 @@ function compileRoundabouts(request, context, contributions) {
|
|
|
7780
7810
|
}
|
|
7781
7811
|
function compileCrossings(request, context, contributions) {
|
|
7782
7812
|
const { fields, layers } = context.data.schema;
|
|
7783
|
-
if (!request || !layers.streetFurniture
|
|
7813
|
+
if (!request || !layers.streetFurniture) return;
|
|
7784
7814
|
const config = mergeTileflowDesign(
|
|
7785
7815
|
{
|
|
7786
7816
|
allowOverlap: true,
|
|
@@ -7846,7 +7876,7 @@ function circularRoadInnerRadius(fields, casing) {
|
|
|
7846
7876
|
["/", values.innerRadiusMeters, values.radiusMeters]
|
|
7847
7877
|
];
|
|
7848
7878
|
const baseWidth = circularRoadBaseWidth(fields.class);
|
|
7849
|
-
const fallbackWidth = level === 15 ? baseWidth : ["*", baseWidth,
|
|
7879
|
+
const fallbackWidth = level === 15 ? baseWidth : ["*", baseWidth, circularRoadFallbackScale(level)];
|
|
7850
7880
|
const fallbackInnerRadius = ["-", centerlineRadius, ["/", fallbackWidth, 2]];
|
|
7851
7881
|
const innerRadius = ["case", values.hasPhysicalRadii, physicalInnerRadius, fallbackInnerRadius];
|
|
7852
7882
|
stops.push(level, [
|
|
@@ -7868,7 +7898,7 @@ function circularRoadStrokeWidth(fields, casing) {
|
|
|
7868
7898
|
centerlineRadius,
|
|
7869
7899
|
["/", ["-", values.outerRadiusMeters, values.innerRadiusMeters], values.radiusMeters]
|
|
7870
7900
|
];
|
|
7871
|
-
const fallbackWidth = level === 15 ? baseWidth : ["*", baseWidth,
|
|
7901
|
+
const fallbackWidth = level === 15 ? baseWidth : ["*", baseWidth, circularRoadFallbackScale(level)];
|
|
7872
7902
|
stops.push(level, [
|
|
7873
7903
|
"case",
|
|
7874
7904
|
values.hasPhysicalRadii,
|
|
@@ -7917,7 +7947,7 @@ function circularRoadValues(fields) {
|
|
|
7917
7947
|
radiusMeters
|
|
7918
7948
|
};
|
|
7919
7949
|
}
|
|
7920
|
-
function
|
|
7950
|
+
function circularRoadFallbackScale(level) {
|
|
7921
7951
|
const interpolationBase = 1.35;
|
|
7922
7952
|
const progress = (interpolationBase ** (level - 15) - 1) / (interpolationBase ** (22 - 15) - 1);
|
|
7923
7953
|
return 1 + progress * 1.2;
|
|
@@ -8524,7 +8554,7 @@ function cloneJson16(value) {
|
|
|
8524
8554
|
// src/modules/vegetation/compiler.ts
|
|
8525
8555
|
init_values();
|
|
8526
8556
|
function compileVegetation(request, context) {
|
|
8527
|
-
const minZoom = request?.flat?.minZoom ??
|
|
8557
|
+
const minZoom = request?.flat?.minZoom ?? 16;
|
|
8528
8558
|
const mode = request?.mode ?? "3d";
|
|
8529
8559
|
const config = mergeTileflowDesign(
|
|
8530
8560
|
{
|
|
@@ -8544,7 +8574,6 @@ function compileVegetation(request, context) {
|
|
|
8544
8574
|
strokeOpacity: 0.55,
|
|
8545
8575
|
strokeWidth: 0.8
|
|
8546
8576
|
},
|
|
8547
|
-
minZoom,
|
|
8548
8577
|
mode,
|
|
8549
8578
|
threeDimensional: {
|
|
8550
8579
|
barkColor: context.colors.vegetation.tree.bark,
|
|
@@ -9316,6 +9345,9 @@ function compareCodeUnits3(left, right) {
|
|
|
9316
9345
|
return left < right ? -1 : left > right ? 1 : 0;
|
|
9317
9346
|
}
|
|
9318
9347
|
|
|
9348
|
+
// src/layer-domain.ts
|
|
9349
|
+
var tileflowLayerDomainMetadataKey = "tileflow:domain";
|
|
9350
|
+
|
|
9319
9351
|
// src/cartography/domains.ts
|
|
9320
9352
|
var tileflowLayerDomains = Object.freeze([
|
|
9321
9353
|
...tileflowSemanticModuleNames,
|
|
@@ -9677,6 +9709,11 @@ function featureState(name) {
|
|
|
9677
9709
|
if (!key) throw new Error("expr.featureState requires a non-empty state key.");
|
|
9678
9710
|
return make(["feature-state", key]);
|
|
9679
9711
|
}
|
|
9712
|
+
function globalState(name) {
|
|
9713
|
+
const key = name.trim();
|
|
9714
|
+
if (!key) throw new Error("expr.globalState requires a non-empty state key.");
|
|
9715
|
+
return make(["global-state", key]);
|
|
9716
|
+
}
|
|
9680
9717
|
function variable(name) {
|
|
9681
9718
|
const key = name.trim();
|
|
9682
9719
|
if (!key) throw new Error("expr.var requires a non-empty variable name.");
|
|
@@ -9919,6 +9956,12 @@ function visitExpression(value, path, variables, issues) {
|
|
|
9919
9956
|
}
|
|
9920
9957
|
return;
|
|
9921
9958
|
}
|
|
9959
|
+
case "global-state": {
|
|
9960
|
+
if (exact(2) && !isNonEmptyString(value[1])) {
|
|
9961
|
+
addExpressionIssue(issues, [...path, 1], "Global-state keys must be non-empty strings.");
|
|
9962
|
+
}
|
|
9963
|
+
return;
|
|
9964
|
+
}
|
|
9922
9965
|
case "var": {
|
|
9923
9966
|
if (exact(2)) {
|
|
9924
9967
|
if (!isNonEmptyString(value[1])) {
|
|
@@ -10185,6 +10228,7 @@ var expr = Object.freeze({
|
|
|
10185
10228
|
has,
|
|
10186
10229
|
id,
|
|
10187
10230
|
featureState,
|
|
10231
|
+
globalState,
|
|
10188
10232
|
interpolate: interpolate2,
|
|
10189
10233
|
let: letValue,
|
|
10190
10234
|
literal,
|
|
@@ -11349,10 +11393,10 @@ function applyRefinement(previous, refinement) {
|
|
|
11349
11393
|
style: {
|
|
11350
11394
|
...previous.style,
|
|
11351
11395
|
...patch.style?.placement === void 0 ? {} : {
|
|
11352
|
-
placement: {
|
|
11396
|
+
placement: withoutGovernedAllowOverlap({
|
|
11353
11397
|
...previous.style.placement ?? {},
|
|
11354
11398
|
...patch.style.placement
|
|
11355
|
-
}
|
|
11399
|
+
})
|
|
11356
11400
|
},
|
|
11357
11401
|
...patch.style?.appearance === void 0 ? {} : {
|
|
11358
11402
|
appearance: {
|
|
@@ -12273,6 +12317,7 @@ var textStyleSchema = z6.object({
|
|
|
12273
12317
|
offset: numberOffsetValueSchema.optional(),
|
|
12274
12318
|
optional: z6.boolean().optional(),
|
|
12275
12319
|
opacity: numberValueSchema.optional(),
|
|
12320
|
+
overlap: z6.enum(["always", "cooperative", "never"]).optional(),
|
|
12276
12321
|
padding: numberValueSchema.optional(),
|
|
12277
12322
|
pitchAlignment: z6.enum(["auto", "map", "viewport"]).optional(),
|
|
12278
12323
|
radialOffset: numberValueSchema.optional(),
|
|
@@ -12318,6 +12363,7 @@ var iconStyleSchema = z6.object({
|
|
|
12318
12363
|
opacity: numberValueSchema.optional(),
|
|
12319
12364
|
keepUpright: z6.boolean().optional(),
|
|
12320
12365
|
optional: z6.boolean().optional(),
|
|
12366
|
+
overlap: z6.enum(["always", "cooperative", "never"]).optional(),
|
|
12321
12367
|
padding: numberValueSchema.optional(),
|
|
12322
12368
|
pitchAlignment: z6.enum(["auto", "map", "viewport"]).optional(),
|
|
12323
12369
|
rotate: numberValueSchema.optional(),
|
|
@@ -12890,7 +12936,6 @@ var modulesSchema = z6.object({
|
|
|
12890
12936
|
type: z6.literal("vegetation"),
|
|
12891
12937
|
enabled: z6.boolean().optional(),
|
|
12892
12938
|
flat: circleStyleSchema.optional(),
|
|
12893
|
-
minZoom: zoomNumberSchema.optional(),
|
|
12894
12939
|
mode: z6.enum(["3d", "flat"]).optional(),
|
|
12895
12940
|
renderStack: renderStackSchema.optional(),
|
|
12896
12941
|
threeDimensional: z6.object({
|
|
@@ -12926,6 +12971,7 @@ var layerBindingsSchema = z6.object({
|
|
|
12926
12971
|
building: z6.string().trim().min(1),
|
|
12927
12972
|
bathymetry: z6.string().trim().min(1).optional(),
|
|
12928
12973
|
businessCorridor: z6.string().trim().min(1).optional(),
|
|
12974
|
+
canopy: z6.string().trim().min(1).optional(),
|
|
12929
12975
|
circularFeature: z6.string().trim().min(1).optional(),
|
|
12930
12976
|
globalLandcover: z6.string().trim().min(1).optional(),
|
|
12931
12977
|
houseNumber: z6.string().trim().min(1),
|
|
@@ -12953,34 +12999,34 @@ var fieldBindingsSchema = z6.object({
|
|
|
12953
12999
|
bathymetryMinDepth: z6.string().trim().min(1).optional(),
|
|
12954
13000
|
bathymetrySortKey: z6.string().trim().min(1).optional(),
|
|
12955
13001
|
brunnel: z6.string().trim().min(1),
|
|
12956
|
-
buildingKind: z6.string().trim().min(1),
|
|
12957
13002
|
buildingTone: z6.string().trim().min(1),
|
|
13003
|
+
canopyClearanceAtZoom15: z6.string().trim().min(1),
|
|
13004
|
+
canopyCoverPercent: z6.string().trim().min(1),
|
|
13005
|
+
canopyRank: z6.string().trim().min(1),
|
|
12958
13006
|
capital: z6.string().trim().min(1),
|
|
12959
|
-
circularClearanceExtraAtZoom15: z6.string().trim().min(1)
|
|
12960
|
-
circularKind: z6.string().trim().min(1)
|
|
12961
|
-
circularRadiusAtZoom15: z6.string().trim().min(1)
|
|
12962
|
-
circularRadiusMeters: z6.string().trim().min(1)
|
|
12963
|
-
circularInnerRadiusMeters: z6.string().trim().min(1)
|
|
12964
|
-
circularOuterRadiusMeters: z6.string().trim().min(1)
|
|
13007
|
+
circularClearanceExtraAtZoom15: z6.string().trim().min(1),
|
|
13008
|
+
circularKind: z6.string().trim().min(1),
|
|
13009
|
+
circularRadiusAtZoom15: z6.string().trim().min(1),
|
|
13010
|
+
circularRadiusMeters: z6.string().trim().min(1),
|
|
13011
|
+
circularInnerRadiusMeters: z6.string().trim().min(1),
|
|
13012
|
+
circularOuterRadiusMeters: z6.string().trim().min(1),
|
|
12965
13013
|
class: z6.string().trim().min(1),
|
|
12966
13014
|
crossing: z6.string().trim().min(1),
|
|
12967
|
-
classificationConfidence: z6.string().trim().min(1),
|
|
12968
13015
|
confidence: z6.string().trim().min(1),
|
|
12969
13016
|
circumference: z6.string().trim().min(1),
|
|
12970
13017
|
diameterCrown: z6.string().trim().min(1),
|
|
12971
13018
|
disputed: z6.string().trim().min(1),
|
|
12972
|
-
direction: z6.string().trim().min(1)
|
|
13019
|
+
direction: z6.string().trim().min(1),
|
|
12973
13020
|
elevation: z6.string().trim().min(1),
|
|
12974
13021
|
elevationFeet: z6.string().trim().min(1),
|
|
12975
13022
|
expressway: z6.string().trim().min(1),
|
|
12976
13023
|
foot: z6.string().trim().min(1),
|
|
12977
13024
|
height: z6.string().trim().min(1),
|
|
12978
|
-
|
|
12979
|
-
hasParts: z6.string().trim().min(1).optional(),
|
|
13025
|
+
hasParts: z6.string().trim().min(1),
|
|
12980
13026
|
hide3d: z6.string().trim().min(1),
|
|
12981
13027
|
horse: z6.string().trim().min(1),
|
|
12982
13028
|
houseNumber: z6.string().trim().min(1),
|
|
12983
|
-
importanceTier: z6.string().trim().min(1)
|
|
13029
|
+
importanceTier: z6.string().trim().min(1),
|
|
12984
13030
|
iata: z6.string().trim().min(1),
|
|
12985
13031
|
icao: z6.string().trim().min(1),
|
|
12986
13032
|
indoor: z6.string().trim().min(1),
|
|
@@ -13011,7 +13057,6 @@ var fieldBindingsSchema = z6.object({
|
|
|
13011
13057
|
ref: z6.string().trim().min(1),
|
|
13012
13058
|
refLength: z6.string().trim().min(1),
|
|
13013
13059
|
renderHeight: z6.string().trim().min(1),
|
|
13014
|
-
renderMinZoom: z6.string().trim().min(1),
|
|
13015
13060
|
renderMinHeight: z6.string().trim().min(1),
|
|
13016
13061
|
shieldKind: z6.string().trim().min(1).optional(),
|
|
13017
13062
|
shieldLineLengthMeters: z6.string().trim().min(1).optional(),
|
|
@@ -13037,6 +13082,7 @@ var openMapTilesSchema = z6.object({
|
|
|
13037
13082
|
capabilities: schema.layers === void 0 ? void 0 : {
|
|
13038
13083
|
businessCorridor: schema.layers.businessCorridor !== void 0,
|
|
13039
13084
|
bathymetry: schema.layers.bathymetry !== void 0,
|
|
13085
|
+
canopy: schema.layers.canopy !== void 0,
|
|
13040
13086
|
globalLandcover: schema.layers.globalLandcover !== void 0,
|
|
13041
13087
|
tree: schema.layers.tree !== void 0
|
|
13042
13088
|
},
|
|
@@ -15578,8 +15624,11 @@ function finalizeTileflowLayers(input) {
|
|
|
15578
15624
|
}
|
|
15579
15625
|
const metadata = isRecord8(layer.metadata) ? { ...layer.metadata } : void 0;
|
|
15580
15626
|
if (metadata) {
|
|
15627
|
+
const owner = metadata[tileflowCompilerMetadataKeys.owner];
|
|
15581
15628
|
delete metadata[tileflowCompilerProvenanceMetadataKey];
|
|
15582
15629
|
for (const key of Object.values(tileflowCompilerMetadataKeys)) delete metadata[key];
|
|
15630
|
+
if (tileflowLayerDomains.includes(owner))
|
|
15631
|
+
metadata[tileflowLayerDomainMetadataKey] = owner;
|
|
15583
15632
|
}
|
|
15584
15633
|
return {
|
|
15585
15634
|
...layer,
|
|
@@ -16322,8 +16371,8 @@ function validateMapScenes(map, mapId) {
|
|
|
16322
16371
|
);
|
|
16323
16372
|
}
|
|
16324
16373
|
const result = tileflowCaptureSceneSchema.safeParse({ ...input, map: mapId });
|
|
16325
|
-
|
|
16326
|
-
|
|
16374
|
+
const issue = result.success ? tileflowCaptureSceneFitIssue(result.data) : result.error.issues[0];
|
|
16375
|
+
if (!result.success || issue) {
|
|
16327
16376
|
throw new Error(
|
|
16328
16377
|
`Invalid Tileflow map "${map.id}". scenes.${sceneName}${issue?.path.length ? `.${issue.path.join(".")}` : ""}: ${issue?.message ?? "Invalid scene"}`
|
|
16329
16378
|
);
|
|
@@ -16618,6 +16667,12 @@ var expressionBuilders = [
|
|
|
16618
16667
|
returns: "registered field value",
|
|
16619
16668
|
serializedOperator: "get"
|
|
16620
16669
|
},
|
|
16670
|
+
{
|
|
16671
|
+
arguments: ["name: nonempty string"],
|
|
16672
|
+
name: "globalState",
|
|
16673
|
+
returns: "unknown",
|
|
16674
|
+
serializedOperator: "global-state"
|
|
16675
|
+
},
|
|
16621
16676
|
{
|
|
16622
16677
|
arguments: ["left: T", "right: T"],
|
|
16623
16678
|
name: "gt",
|
|
@@ -125,6 +125,11 @@ type TileflowTextJustify = 'auto' | 'center' | 'left' | 'right';
|
|
|
125
125
|
type TileflowIconAnchor = TileflowTextAnchor;
|
|
126
126
|
type TileflowAlignment = 'auto' | 'map' | 'viewport';
|
|
127
127
|
type TileflowIconTextFit = 'both' | 'height' | 'none' | 'width';
|
|
128
|
+
/**
|
|
129
|
+
* How a symbol part treats collisions with symbols placed before it. `never` hides it, `always`
|
|
130
|
+
* shows it, and `cooperative` shows it unless the earlier symbol was placed with `never`.
|
|
131
|
+
*/
|
|
132
|
+
type TileflowSymbolOverlap = 'always' | 'cooperative' | 'never';
|
|
128
133
|
/** Visibility and zoom bounds shared by every visual primitive. */
|
|
129
134
|
type TileflowLayerRange = {
|
|
130
135
|
maxZoom?: number;
|
|
@@ -221,6 +226,12 @@ type TileflowTextLayout = {
|
|
|
221
226
|
maxWidth?: TileflowNumberStyleValue;
|
|
222
227
|
offset?: TileflowNumberOffsetStyleValue;
|
|
223
228
|
optional?: boolean;
|
|
229
|
+
/**
|
|
230
|
+
* Overlap mode. Takes precedence over `allowOverlap`, so the compiled layer carries only the mode.
|
|
231
|
+
* Native artifacts, whose renderer has no overlap modes, use `allowOverlap: false` for `never`
|
|
232
|
+
* and `true` otherwise.
|
|
233
|
+
*/
|
|
234
|
+
overlap?: TileflowSymbolOverlap;
|
|
224
235
|
padding?: TileflowNumberStyleValue;
|
|
225
236
|
pitchAlignment?: TileflowAlignment;
|
|
226
237
|
radialOffset?: TileflowNumberStyleValue;
|
|
@@ -246,6 +257,12 @@ type TileflowIconLayout = {
|
|
|
246
257
|
keepUpright?: boolean;
|
|
247
258
|
offset?: TileflowNumberOffsetStyleValue;
|
|
248
259
|
optional?: boolean;
|
|
260
|
+
/**
|
|
261
|
+
* Overlap mode. Takes precedence over `allowOverlap`, so the compiled layer carries only the mode.
|
|
262
|
+
* Native artifacts, whose renderer has no overlap modes, use `allowOverlap: false` for `never`
|
|
263
|
+
* and `true` otherwise.
|
|
264
|
+
*/
|
|
265
|
+
overlap?: TileflowSymbolOverlap;
|
|
249
266
|
padding?: TileflowNumberStyleValue;
|
|
250
267
|
pitchAlignment?: TileflowAlignment;
|
|
251
268
|
rotate?: TileflowNumberStyleValue;
|
|
@@ -787,4 +804,4 @@ type TileflowRuntimeManifest = {
|
|
|
787
804
|
version: typeof tileflowRuntimeManifestVersion;
|
|
788
805
|
};
|
|
789
806
|
|
|
790
|
-
export { type TileflowManifestFetchOptions as $, type TileflowAreaStyle as A, type TileflowBackgroundPaint as B, type TileflowCirclePaint as C, type TileflowColor as D, type TileflowColorStyleValue as E, type TileflowExtrusionPaint as F, type TileflowFillPaint as G, type TileflowIconAnchor as H, type TileflowIconLayout as I, type TileflowIconPaint as J, type TileflowIconStyle as K, type TileflowIconTextFit as L, type MapLibreStyle as M, type TileflowImageStyleValue as N, type TileflowLabelDetail as O, type TileflowLabelLanguage as P, type TileflowLabelStyles as Q, type TileflowLayerRange as R, type TileflowLight as S, type TileflowRuntimeManifest as T, type TileflowLineCap as U, type ValidationMessage as V, type TileflowLineHatchStyle as W, type TileflowLineJoin as X, type TileflowLineLayout as Y, type TileflowLinePaint as Z, type TileflowLineStackStyle as _, type TileflowRuntimeColorScheme as a, type
|
|
807
|
+
export { type TileflowManifestFetchOptions as $, type TileflowAreaStyle as A, type TileflowBackgroundPaint as B, type TileflowCirclePaint as C, type TileflowColor as D, type TileflowColorStyleValue as E, type TileflowExtrusionPaint as F, type TileflowFillPaint as G, type TileflowIconAnchor as H, type TileflowIconLayout as I, type TileflowIconPaint as J, type TileflowIconStyle as K, type TileflowIconTextFit as L, type MapLibreStyle as M, type TileflowImageStyleValue as N, type TileflowLabelDetail as O, type TileflowLabelLanguage as P, type TileflowLabelStyles as Q, type TileflowLayerRange as R, type TileflowLight as S, type TileflowRuntimeManifest as T, type TileflowLineCap as U, type ValidationMessage as V, type TileflowLineHatchStyle as W, type TileflowLineJoin as X, type TileflowLineLayout as Y, type TileflowLinePaint as Z, type TileflowLineStackStyle as _, type TileflowRuntimeColorScheme as a, type TileflowTextAnchor as a$, type TileflowManifestLoadOptions as a0, type TileflowMapMode as a1, type TileflowMapModeOptions as a2, type TileflowMarkerSymbolStyle as a3, type TileflowMountainBikeScale as a4, type TileflowNumberInsetsStyleValue as a5, type TileflowNumberStyleValue as a6, type TileflowPlaceLabelClass as a7, type TileflowPoiCategory as a8, type TileflowPoiCategoryStyle as a9, type TileflowRoadWeight as aA, type TileflowRuntimeCenterLike as aB, type TileflowRuntimeManifestMap as aC, type TileflowRuntimeSource as aD, type TileflowRuntimeSourceValidation as aE, type TileflowRuntimeStyle as aF, type TileflowRuntimeStyleOptions as aG, type TileflowRuntimeViewOptions as aH, type TileflowSessionController as aI, type TileflowSessionGrantResponse as aJ, type TileflowStringStyleValue as aK, type TileflowStructuralStyleValue as aL, type TileflowStyleFontFace as aM, type TileflowStyleValue as aN, type TileflowSymbolOverlap as aO, type TileflowSymbolPlacement as aP, type TileflowSymbolPlacementStyle as aQ, type TileflowSymbolZOrder as aR, type TileflowTerrain as aS, type TileflowTerrainConfig as aT, type TileflowTerrainContourLabelStyle as aU, type TileflowTerrainContourLineStyle as aV, type TileflowTerrainContoursConfig as aW, type TileflowTerrainEncoding as aX, type TileflowTerrainHillshadeStyle as aY, type TileflowTerrainLayerRange as aZ, type TileflowTerrainMode as a_, type TileflowPoiColorMode as aa, type TileflowPoiDensity as ab, type TileflowPriorityOrder as ac, type TileflowProjection as ad, type TileflowResolvedRuntimeTheme as ae, type TileflowRoadAreaStyle as af, type TileflowRoadClass as ag, type TileflowRoadClassStyle as ah, type TileflowRoadCrossingStyle as ai, type TileflowRoadDetail as aj, type TileflowRoadExtras as ak, type TileflowRoadHierarchy as al, type TileflowRoadLabelDetail as am, type TileflowRoadLayerStyle as an, type TileflowRoadModifier as ao, type TileflowRoadOutline as ap, type TileflowRoadRestriction as aq, type TileflowRoadRoundaboutStyle as ar, type TileflowRoadServiceType as as, type TileflowRoadShieldDetail as at, type TileflowRoadShieldStyles as au, type TileflowRoadSidewalkStyle as av, type TileflowRoadStructure as aw, type TileflowRoadTreatmentLayerStyle as ax, type TileflowRoadTreatmentLineStyle as ay, type TileflowRoadTreatmentStyle as az, type TileflowRuntimeManifestMapEntry as b, type TileflowTextBackground as b0, type TileflowTextJustify as b1, type TileflowTextLayout as b2, type TileflowTextPaint as b3, type TileflowTextStyle as b4, type TileflowThemeBlendSelection as b5, type TileflowThemeColorAlpha as b6, type TileflowThemeColorMix as b7, type TileflowThemeColorValue as b8, type TileflowThemeFontValue as b9, normalizeTileflowUrl as bA, resolveTileflowAnalyticsRequestUrl as bB, resolveTileflowManifestMap as bC, resolveTileflowMapMode as bD, resolveTileflowRuntimeStyle as bE, resolveTileflowRuntimeTheme as bF, resolveTileflowRuntimeThemeBlend as bG, resolveTileflowRuntimeView as bH, resolveTileflowStaticImageUrl as bI, shouldLoadTileflowManifest as bJ, startTileflowSession as bK, tileflowPoiCategories as bL, tileflowStyleFontFaceLimits as bM, tileflowStyleFontFacesMetadataKey as bN, tileflowThemeBlendLimits as bO, tileflowThemeTokenCategories as bP, token as bQ, validateTileflowRuntimeSource as bR, validateTileflowThemeBlendSelection as bS, validateTileflowThemeSelection as bT, zoom as bU, type TileflowTypographyStyle as bV, type ResolvedTileflowTypography as bW, normalizeTileflowSurfaceId as bX, type TileflowThemeImageValue as ba, type TileflowThemeNumberValue as bb, type TileflowThemeSelection as bc, type TileflowThemeTokenCategory as bd, type TileflowThemeValue as be, type TileflowViewConfig as bf, type TileflowWaterLabelClass as bg, type TileflowZoomInterpolation as bh, type TileflowZoomValue as bi, type ValidationResult as bj, assertValidTileflowRuntimeSource as bk, clearTileflowManifestCache as bl, color as bm, createTileflowSessionController as bn, createTileflowSessionId as bo, defaultTileflowManifestUrl as bp, defaultTileflowRuntimeView as bq, fixed as br, getTileflowAnalyticsApiUrl as bs, getTileflowStyleFontFaces as bt, inferTileflowAnalyticsFromStyleUrl as bu, loadTileflowManifest as bv, mergeTileflowAnalytics as bw, nearestTileflowBlendTheme as bx, normalizeTileflowRuntimeCenter as by, normalizeTileflowStaticImageSize as bz, type TileflowRuntimeManifestTheme as c, type TileflowRuntimeSystemThemes as d, tileflowRuntimeManifestVersion as e, type TileflowExpression as f, type TileflowFixedValue as g, type TileflowThemeTokenReference as h, type TileflowThemeColorOperation as i, type TileflowBackgroundStyle as j, type TileflowCircleStyle as k, type TileflowExtrusionStyle as l, type TileflowFillStyle as m, type TileflowLineStyle as n, type TileflowSymbolStyle as o, type TileflowRoadsModuleOptions as p, type TileflowRoadsModuleConfig as q, type TileflowLabelsModuleOptions as r, type TileflowLabelsModuleConfig as s, tileflowRuntimeManifestLimits as t, type TileflowPoiModuleOptions as u, type TileflowPoiModuleConfig as v, type MapLibreSprite as w, type TileflowAerodromeCodeDetail as x, type TileflowAlignment as y, type TileflowAnalytics as z };
|
package/dist/manifest.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { T as TileflowRuntimeManifest } from './manifest-types-
|
|
3
|
-
export { a as TileflowRuntimeColorScheme, b as TileflowRuntimeManifestMapEntry, c as TileflowRuntimeManifestTheme, d as TileflowRuntimeSystemThemes, t as tileflowRuntimeManifestLimits, e as tileflowRuntimeManifestVersion } from './manifest-types-
|
|
2
|
+
import { T as TileflowRuntimeManifest } from './manifest-types-E7m23eXL.js';
|
|
3
|
+
export { a as TileflowRuntimeColorScheme, b as TileflowRuntimeManifestMapEntry, c as TileflowRuntimeManifestTheme, d as TileflowRuntimeSystemThemes, t as tileflowRuntimeManifestLimits, e as tileflowRuntimeManifestVersion } from './manifest-types-E7m23eXL.js';
|
|
4
4
|
|
|
5
5
|
declare const tileflowRuntimeManifestSchema: z.ZodType<TileflowRuntimeManifest>;
|
|
6
6
|
declare function parseTileflowRuntimeManifest(input: unknown): TileflowRuntimeManifest;
|
package/dist/native-profile.d.ts
CHANGED
|
@@ -62,7 +62,6 @@ declare const tileflowNativeProfileLimits: Readonly<{
|
|
|
62
62
|
}>;
|
|
63
63
|
/** Fixed output budget for a prepared native-v1 style, never a raw input allowance. */
|
|
64
64
|
declare const tileflowNativePreparedStyleLimits: Readonly<{
|
|
65
|
-
maximumNodes: 540000;
|
|
66
65
|
maximumStyleBytes: number;
|
|
67
66
|
maximumDepth: 64;
|
|
68
67
|
maximumSources: 128;
|
|
@@ -70,6 +69,7 @@ declare const tileflowNativePreparedStyleLimits: Readonly<{
|
|
|
70
69
|
maximumIssues: 32;
|
|
71
70
|
maximumFontFaces: 16;
|
|
72
71
|
maximumFontBytes: number;
|
|
72
|
+
maximumNodes: 540000;
|
|
73
73
|
}>;
|
|
74
74
|
|
|
75
75
|
declare const tileflowNativeBuildRecordFileName = "native-build.json";
|
|
@@ -81,17 +81,24 @@ declare const tileflowNativeStyleTransformationSchema: z.ZodLazy<z.core.$ZodObje
|
|
|
81
81
|
inputLayers: z.ZodNumber;
|
|
82
82
|
outputLayers: z.ZodNumber;
|
|
83
83
|
projection: z.ZodEnum<{
|
|
84
|
-
none: "none";
|
|
85
|
-
"mercator-to-implicit": "mercator-to-implicit";
|
|
86
84
|
"globe-to-mercator": "globe-to-mercator";
|
|
85
|
+
"mercator-to-implicit": "mercator-to-implicit";
|
|
86
|
+
none: "none";
|
|
87
87
|
}>;
|
|
88
88
|
layers: z.ZodArray<z.ZodLazy<z.core.$ZodObject<{
|
|
89
89
|
inputLayer: z.ZodNumber;
|
|
90
90
|
outputStart: z.ZodNumber;
|
|
91
91
|
outputCount: z.ZodNumber;
|
|
92
92
|
properties: z.ZodArray<z.ZodEnum<{
|
|
93
|
-
"line-dasharray": "line-dasharray";
|
|
94
93
|
"line-cap": "line-cap";
|
|
94
|
+
"line-dasharray": "line-dasharray";
|
|
95
|
+
}>>;
|
|
96
|
+
}, z.core.$strict>>>;
|
|
97
|
+
symbolOverlap: z.ZodArray<z.ZodLazy<z.core.$ZodObject<{
|
|
98
|
+
inputLayer: z.ZodNumber;
|
|
99
|
+
properties: z.ZodArray<z.ZodEnum<{
|
|
100
|
+
"icon-overlap": "icon-overlap";
|
|
101
|
+
"text-overlap": "text-overlap";
|
|
95
102
|
}>>;
|
|
96
103
|
}, z.core.$strict>>>;
|
|
97
104
|
}, z.core.$strict>>;
|
|
@@ -116,17 +123,24 @@ declare const tileflowNativeBuildRecordSchema: z.ZodLazy<z.core.$ZodObject<{
|
|
|
116
123
|
inputLayers: z.ZodNumber;
|
|
117
124
|
outputLayers: z.ZodNumber;
|
|
118
125
|
projection: z.ZodEnum<{
|
|
119
|
-
none: "none";
|
|
120
|
-
"mercator-to-implicit": "mercator-to-implicit";
|
|
121
126
|
"globe-to-mercator": "globe-to-mercator";
|
|
127
|
+
"mercator-to-implicit": "mercator-to-implicit";
|
|
128
|
+
none: "none";
|
|
122
129
|
}>;
|
|
123
130
|
layers: z.ZodArray<z.ZodLazy<z.core.$ZodObject<{
|
|
124
131
|
inputLayer: z.ZodNumber;
|
|
125
132
|
outputStart: z.ZodNumber;
|
|
126
133
|
outputCount: z.ZodNumber;
|
|
127
134
|
properties: z.ZodArray<z.ZodEnum<{
|
|
128
|
-
"line-dasharray": "line-dasharray";
|
|
129
135
|
"line-cap": "line-cap";
|
|
136
|
+
"line-dasharray": "line-dasharray";
|
|
137
|
+
}>>;
|
|
138
|
+
}, z.core.$strict>>>;
|
|
139
|
+
symbolOverlap: z.ZodArray<z.ZodLazy<z.core.$ZodObject<{
|
|
140
|
+
inputLayer: z.ZodNumber;
|
|
141
|
+
properties: z.ZodArray<z.ZodEnum<{
|
|
142
|
+
"icon-overlap": "icon-overlap";
|
|
143
|
+
"text-overlap": "text-overlap";
|
|
130
144
|
}>>;
|
|
131
145
|
}, z.core.$strict>>>;
|
|
132
146
|
}, z.core.$strict>>>;
|
|
@@ -135,21 +149,21 @@ type TileflowNativeBuildRecord = z.infer<typeof tileflowNativeBuildRecordSchema>
|
|
|
135
149
|
declare function createTileflowNativeBuildRecord(buildManifestSha256: string, transformations?: readonly TileflowNativeStyleTransformation[]): TileflowNativeBuildRecord;
|
|
136
150
|
|
|
137
151
|
declare const tileflowNativeDiagnosticCodeSchema: z.ZodEnum<{
|
|
138
|
-
NATIVE_UNSUPPORTED_STYLE: "NATIVE_UNSUPPORTED_STYLE";
|
|
139
|
-
NATIVE_UNSUPPORTED_SOURCE: "NATIVE_UNSUPPORTED_SOURCE";
|
|
140
152
|
NATIVE_FONT_UNAVAILABLE: "NATIVE_FONT_UNAVAILABLE";
|
|
141
153
|
NATIVE_MANIFEST_REQUIRED: "NATIVE_MANIFEST_REQUIRED";
|
|
142
154
|
NATIVE_RENDERER_UNSUPPORTED: "NATIVE_RENDERER_UNSUPPORTED";
|
|
155
|
+
NATIVE_UNSUPPORTED_SOURCE: "NATIVE_UNSUPPORTED_SOURCE";
|
|
156
|
+
NATIVE_UNSUPPORTED_STYLE: "NATIVE_UNSUPPORTED_STYLE";
|
|
143
157
|
}>;
|
|
144
158
|
type TileflowNativeDiagnosticCode = z.infer<typeof tileflowNativeDiagnosticCodeSchema>;
|
|
145
159
|
/** Uses the command diagnostic fields; renderer/profile are bounded additional context. */
|
|
146
160
|
declare const tileflowNativeDiagnosticSchema: z.ZodLazy<z.core.$ZodObject<{
|
|
147
161
|
code: z.ZodEnum<{
|
|
148
|
-
NATIVE_UNSUPPORTED_STYLE: "NATIVE_UNSUPPORTED_STYLE";
|
|
149
|
-
NATIVE_UNSUPPORTED_SOURCE: "NATIVE_UNSUPPORTED_SOURCE";
|
|
150
162
|
NATIVE_FONT_UNAVAILABLE: "NATIVE_FONT_UNAVAILABLE";
|
|
151
163
|
NATIVE_MANIFEST_REQUIRED: "NATIVE_MANIFEST_REQUIRED";
|
|
152
164
|
NATIVE_RENDERER_UNSUPPORTED: "NATIVE_RENDERER_UNSUPPORTED";
|
|
165
|
+
NATIVE_UNSUPPORTED_SOURCE: "NATIVE_UNSUPPORTED_SOURCE";
|
|
166
|
+
NATIVE_UNSUPPORTED_STYLE: "NATIVE_UNSUPPORTED_STYLE";
|
|
153
167
|
}>;
|
|
154
168
|
phase: z.ZodLiteral<"native-compatibility">;
|
|
155
169
|
severity: z.ZodLiteral<"error">;
|