@tileflow/dev 0.1.0-alpha.35 → 0.1.0-alpha.37

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 CHANGED
@@ -33,11 +33,11 @@ export default defineMap({id: 'madrid', version: 1, extends: streets});
33
33
  Loading the config executes its imports. It is not a sandbox for untrusted code. Local preparation
34
34
  needs no API key, but serving a map can still cause requests to its remote data or font providers.
35
35
 
36
- The CLI's local Map DevTools provides a dockable layer inspector, loaded tiles, assets, scene
36
+ The CLI's local Inspector provides a dockable layer inspector, loaded tiles, assets, scene
37
37
  controls and frame timing. Its element picker selects a layer and evaluates its rules using the
38
38
  feature clicked on the map.
39
39
  Debug's Overdraw overlay uses a heatmap with a visible pass-count legend and explanation.
40
- See [Map DevTools and compiler inspection](https://github.com/tileflow/tileflow-sdk/blob/main/packages/dev/docs/local-comparison-workbench-and-compiler-inspection.md)
40
+ See [Inspector and compiler inspection](https://github.com/tileflow/tileflow-sdk/blob/main/packages/dev/docs/local-comparison-workbench-and-compiler-inspection.md)
41
41
  for interaction details and observation limits.
42
42
 
43
43
  ## Prepare a generation
@@ -136,9 +136,9 @@ Use `/artifacts` for preparation and output, `/server` for HTTP handling, `/conf
136
136
  loading, `/icons` and `/fonts` for asset preparation, `/inspect` for bounded inspection, `/tilesets`
137
137
  for local PMTiles inspection, and `/validation` for diagnostics. `/preview` is the local preview
138
138
  contract, including experimental preview-only rendering; it does not promise hosted support.
139
- The package has no root entry point. `/server` also exposes the reusable Map DevTools shell. The CLI
139
+ The package has no root entry point. `/server` also exposes the reusable Inspector shell. The CLI
140
140
  connects appearance controls and shared browser context through its optional local
141
- workflow adapter; see the [Map DevTools guide](https://github.com/tileflow/tileflow-sdk/blob/main/packages/dev/docs/local-comparison-workbench-and-compiler-inspection.md).
141
+ workflow adapter; see the [Inspector guide](https://github.com/tileflow/tileflow-sdk/blob/main/packages/dev/docs/local-comparison-workbench-and-compiler-inspection.md).
142
142
  The navigation contains **Map**, **Layers**, **Tiles**, **Assets**, **Debug** and **Diagnostics**.
143
143
  Zoom, Pitch and Bearing appear as **Z**, **P** and **B** directly below it, with live Zoom and Pitch
144
144
  sliders and **Copy for AI**. Pitch and Bearing each have an inline reset to 0° within the map's
@@ -261,7 +261,7 @@ These references are also included under `docs/` in the installed package:
261
261
  - [Building model preparation](https://github.com/tileflow/tileflow-sdk/blob/main/packages/dev/docs/building-models.md): colour slots, architectural roles, ambient visibility and compatibility.
262
262
  - [Native artifact preparation](https://github.com/tileflow/tileflow-sdk/blob/main/packages/dev/docs/native-artifacts.md): static compatibility, renderer-qualified output, and limitations.
263
263
  - [Artifact lifecycle](https://github.com/tileflow/tileflow-sdk/blob/main/packages/dev/docs/artifact-lifecycle.md): generations, immutable snapshots, provenance, and cleanup.
264
- - [Local comparison and inspection](https://github.com/tileflow/tileflow-sdk/blob/main/packages/dev/docs/local-comparison-workbench-and-compiler-inspection.md): Map DevTools controls and preview-only models.
264
+ - [Local comparison and inspection](https://github.com/tileflow/tileflow-sdk/blob/main/packages/dev/docs/local-comparison-workbench-and-compiler-inspection.md): Inspector controls and preview-only models.
265
265
  - [Config diagnostics](https://github.com/tileflow/tileflow-sdk/blob/main/packages/dev/docs/structured-config-inspection-and-diagnostics.md): bounded, machine-readable inspection.
266
266
  - [PMTiles inspection](https://github.com/tileflow/tileflow-sdk/blob/main/packages/dev/docs/bounded-pmtiles-resource-inspection.md): metadata, sampling limits, and requested properties.
267
267
  - [Feature and icon inspection](https://github.com/tileflow/tileflow-sdk/blob/main/packages/dev/docs/bounded-vector-feature-inspection.md): supported sources, icon compilation, and delivered-pixel hashes.
@@ -2,10 +2,10 @@
2
2
 
3
3
  This file records third-party components used by Node preparation and preview. Official map artwork
4
4
  and fonts are owned and published by `@tileflow/maps`; `@tileflow/dev` does not carry an `assets/`
5
- directory. Map DevTools interface fonts are distributed separately under `ui-fonts/`. Node runtime dependencies are installed as separate npm packages. The browser inspector bundles
5
+ directory. Inspector interface fonts are distributed separately under `ui-fonts/`. Node runtime dependencies are installed as separate npm packages. The browser inspector bundles
6
6
  the evaluator and decoders described below; native binaries are not copied into the dev package.
7
7
 
8
- ## Map DevTools interface fonts
8
+ ## Inspector interface fonts
9
9
 
10
10
  Inter by Rasmus Andersson and JetBrains Mono by JetBrains are distributed under the SIL Open Font License 1.1. Their complete notices accompany the WOFF2 files in `ui-fonts/inter-OFL.txt` and `ui-fonts/jetbrains-mono-OFL.txt`. Source: <https://github.com/rsms/inter> and <https://github.com/JetBrains/JetBrainsMono>.
11
11
 
@@ -96,7 +96,7 @@ tests enforce that package boundary.
96
96
 
97
97
  ## MapLibre style specification 24.8.5
98
98
 
99
- The Map DevTools browser bundle includes the expression evaluator and reference from
99
+ The Inspector browser bundle includes the expression evaluator and reference from
100
100
  `@maplibre/maplibre-gl-style-spec` 24.8.5. The following is the complete upstream `LICENSE.txt`,
101
101
  including its notices for incorporated code.
102
102
 
@@ -223,7 +223,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
223
223
 
224
224
  ## pbf 5.1.2
225
225
 
226
- The Map DevTools browser bundle includes the PBF reader to preview map font glyphs.
226
+ The Inspector browser bundle includes the PBF reader to preview map font glyphs.
227
227
  Source: <https://github.com/mapbox/pbf/tree/v5.1.2>.
228
228
 
229
229
  ```text
package/dist/artifacts.js CHANGED
@@ -32,7 +32,7 @@ import {
32
32
  usesTileflowLineBackgroundGlyphs,
33
33
  writeTileflowArtifactPlan,
34
34
  writeTileflowBuildArtifacts
35
- } from "./chunk-2F7LOYQI.js";
35
+ } from "./chunk-UKWAQKLH.js";
36
36
  import {
37
37
  getTileflowAssetBasePath,
38
38
  getTileflowAssetFileName,
@@ -575,6 +575,7 @@ import {
575
575
  import {
576
576
  getTileflowStyleFontFaces,
577
577
  serializeCanonicalJson,
578
+ steadyTileflowNauticalLights,
578
579
  tileflowStyleFontFacesMetadataKey,
579
580
  tileflowIconIdPattern,
580
581
  tileflowIconPackageLimits
@@ -1227,12 +1228,16 @@ function lowerNativeStyleRepresentation(input, normalizeFilter = (filter) => fil
1227
1228
  properties: lowered.properties
1228
1229
  });
1229
1230
  }
1230
- const changed = projection !== "none" || transformations.length > 0 || symbolOverlap.length > 0;
1231
+ if (input.sky !== void 0 && !object2(input.sky)) fail("/sky");
1232
+ const sky = input.sky !== void 0;
1233
+ const changed = projection !== "none" || sky || transformations.length > 0 || symbolOverlap.length > 0;
1231
1234
  const output = changed ? { ...input, layers } : input;
1232
1235
  if (changed && projection !== "none") delete output.projection;
1236
+ if (sky) delete output.sky;
1233
1237
  return {
1234
1238
  style: output,
1235
1239
  projection,
1240
+ ...sky ? { sky: "removed" } : {},
1236
1241
  layers: transformations,
1237
1242
  symbolOverlap,
1238
1243
  inputLayers: originalLayers.length,
@@ -1260,12 +1265,13 @@ function lowerTileflowNativeCompiledStyles(input, policy = {}) {
1260
1265
  for (const map of Object.keys(input).sort()) {
1261
1266
  styles[map] = {};
1262
1267
  for (const theme of Object.keys(input[map]).sort()) {
1263
- const original = input[map][theme];
1268
+ const web = input[map][theme];
1269
+ const original = steadyTileflowNauticalLights(web);
1264
1270
  try {
1265
1271
  const options = { ...urlOptions(map, theme, policy), deferFontClosure: true };
1266
1272
  const pending = validateTileflowNativeStyle(original, options);
1267
1273
  const blockers = pending.filter(
1268
- (issue) => issue.code !== "NATIVE_UNSUPPORTED_STYLE" || !(issue.path === "/projection" || /^\/layers\/\d+\/(?:layout\/line-cap|paint\/line-dasharray)(?:\/|$)/u.test(
1274
+ (issue) => issue.code !== "NATIVE_UNSUPPORTED_STYLE" || !(issue.path === "/projection" || issue.path === "/sky" || /^\/layers\/\d+\/(?:layout\/line-cap|paint\/line-dasharray)(?:\/|$)/u.test(
1269
1275
  issue.path
1270
1276
  ) || /^\/layers\/\d+\/layout\/(?:icon|text)-overlap$/u.test(issue.path))
1271
1277
  );
@@ -1318,11 +1324,12 @@ function lowerTileflowNativeCompiledStyles(input, policy = {}) {
1318
1324
  transformations.push({
1319
1325
  map,
1320
1326
  theme,
1321
- inputStyleSha256: createHash2("sha256").update(serializeCanonicalJson(original)).digest("hex"),
1327
+ inputStyleSha256: createHash2("sha256").update(serializeCanonicalJson(web)).digest("hex"),
1322
1328
  loweredStyleSha256: createHash2("sha256").update(serializeCanonicalJson(style)).digest("hex"),
1323
1329
  inputLayers: lowered.inputLayers,
1324
1330
  outputLayers: lowered.outputLayers,
1325
1331
  projection: lowered.projection,
1332
+ ...lowered.sky ? { sky: lowered.sky } : {},
1326
1333
  layers: lowered.layers,
1327
1334
  symbolOverlap: lowered.symbolOverlap
1328
1335
  });