@tileflow/dev 0.1.0-alpha.32 → 0.1.0-alpha.34

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
@@ -36,7 +36,7 @@ needs no API key, but serving a map can still cause requests to its remote data
36
36
  The CLI's local Map DevTools 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
- Performance's Overdraw overlay uses a heatmap with a visible pass-count legend and explanation.
39
+ Debug's Overdraw overlay uses a heatmap with a visible pass-count legend and explanation.
40
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)
41
41
  for interaction details and observation limits.
42
42
 
@@ -139,14 +139,20 @@ contract, including experimental preview-only rendering; it does not promise hos
139
139
  The package has no root entry point. `/server` also exposes the reusable Map DevTools shell. The CLI
140
140
  connects appearance controls and shared browser context through its optional local
141
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).
142
- The navigation contains **Map**, **Layers**, **Tiles**, **Assets**, **Debug** and **Beacon**.
143
- Zoom, Bearing and Pitch occupy a separate row directly below it, with a live zoom slider,
144
- **Reset** to restore all three initial camera values, and **Copy context for agent**.
142
+ The navigation contains **Map**, **Layers**, **Tiles**, **Assets**, **Debug** and **Diagnostics**.
143
+ Zoom, Pitch and Bearing appear as **Z**, **P** and **B** directly below it, with live Zoom and Pitch
144
+ sliders and **Copy for AI**. Pitch and Bearing each have an inline reset to 0° within the map's
145
+ camera limits. Camera resets preserve the current zoom and map position.
145
146
  The active tab and selected layer remain in the URL across reloads. The menu provides left,
146
147
  right and bottom docking, System/Light/Dark appearance, and **Reset all changes**.
148
+ Side docking has a minimum width of 640 CSS pixels, including restored layouts.
147
149
 
148
- **Map** exposes time-of-day segments, palette cards with actual style swatches, 3D view,
150
+ **Map** exposes time-of-day segments, theme cards with actual style swatches, 3D view,
149
151
  Off/Grow/Fade building animation, and the map's module settings. The command selects the map.
152
+ Streets shows **Default**, **Faded** and **Monochrome**; Default keeps the compatible `light`
153
+ theme ID in configs, URLs and capture commands. Time of day is selected independently.
154
+ 3D view defaults to on for every map. Buildings fade in between zoom 15 and 15.25.
155
+ Toggling 3D view preserves the camera, including pitch; an explicit off setting stays off.
150
156
  Changes update the existing map after a 300 ms pause while the form remains editable. Superseded
151
157
  compilations are discarded. Runtime controls do not recompile the style. Scene and layer edits
152
158
  share the header Undo/Redo controls; source files stay unchanged.
@@ -165,19 +171,21 @@ Inspection reads resident data without issuing tile requests. MLT and inaccessib
165
171
  have explicit unavailable states.
166
172
 
167
173
  **Assets** separates Icons, 3D models and Fonts. Icons lists real registered images and loads actual
168
- sprite variants for the map's palettes and times of day. Models previews bounded samples of loaded
174
+ sprite variants for the map's themes and times of day. Models previews bounded samples of loaded
169
175
  controller meshes, with available counts, bytes and LODs. Fonts renders editable samples from actual
170
176
  font files or glyphs and links back to consuming layers.
171
177
 
172
178
  **Debug** contains overdraw, collision and tile-boundary overlays, explanations, and controls for
173
- the map's actual pixel ratio. **Beacon** runs 48 checks across Rendering, Loading, Legibility,
174
- Accessibility, Cartography and Integrity. Choose Desktop/Mobile and Active tour (default), Quick check or All zooms. The active tour measures
175
- navigation and settled frames across the current view and five world cities within an approximately
176
- one-minute budget, reports partial coverage explicitly and restores the original camera. Findings
177
- link to Layers, Tiles and Debug and can be copied with evidence for an agent. Unknown or
178
- informational measurements do not contribute passing scores. See
179
- [Beacon map audits](https://github.com/tileflow/tileflow-sdk/blob/main/packages/dev/docs/beacon-map-audits.md)
180
- for sampling, scoring and measurement limits.
179
+ the map's actual pixel ratio. **Diagnostics** lists actionable findings under Readability, Style,
180
+ Assets and Performance. Problems identify confirmed failures; Review findings describe situations
181
+ that can be intentional. There are no quality scores or automatic camera tours. Style checks refresh
182
+ when the map changes; **Check view** collects bounded current-view evidence and briefly samples
183
+ drawing work. Findings open the affected layer and rule, show available evidence, and copy context
184
+ for an agent. Unavailable observations and stale results remain explicit. **Diagnosis** in
185
+ Layers describes the selected layer's zoom, visibility and feature-rule context without turning
186
+ empty viewport queries into errors. Legacy `tab=beacon` links open Diagnostics.
187
+ See [Map design diagnostics](https://github.com/tileflow/tileflow-sdk/blob/main/packages/dev/docs/map-design-diagnostics.md)
188
+ for detectors, sampling and interpretation limits.
181
189
 
182
190
  The preview's globe rim follows the rendered canvas silhouette, including camera and viewport
183
191
  changes, and fades between zooms 3 and 6. Its colors follow the map's atmosphere when declared.
@@ -250,6 +258,7 @@ catalog publication and lock maintenance stay in the `tileflow` CLI, which is th
250
258
 
251
259
  These references are also included under `docs/` in the installed package:
252
260
 
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.
253
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.
254
263
  - [Artifact lifecycle](https://github.com/tileflow/tileflow-sdk/blob/main/packages/dev/docs/artifact-lifecycle.md): generations, immutable snapshots, provenance, and cleanup.
255
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.
@@ -1,10 +1,10 @@
1
1
  import { MapLibreStyle, TileflowViewConfig, TileflowStyleOptions } from '@tileflow/core';
2
- export { tileflowLandmarkRegionOf, tileflowLandmarkRegionZoom, tileflowLandmarkTileOf, tileflowLandmarkTileZoom } from '@tileflow/core';
2
+ export { TileflowLandmarkFootprint, readTileflowLandmarkTileFootprints, tileflowLandmarkRegionOf, tileflowLandmarkRegionZoom, tileflowLandmarkTileOf, tileflowLandmarkTileZoom } from '@tileflow/core';
3
3
  import { TileflowBuildCatalog, TileflowBuildStyles, TileflowMapBuildManifestV1, TileflowRendererDeploymentArtifact, TileflowPreparedMapAssets, TileflowStyleInspection, TileflowMapBuildProvenanceV1 } from '@tileflow/core/build';
4
4
  import { TileflowRuntimeManifest } from '@tileflow/core/manifest';
5
5
  import { TileflowRenderer, TileflowNativeBuildRecord } from '@tileflow/core/native-profile';
6
- import { T as TileflowBuildAsset, a as TileflowIconResolutionOptions, P as PreparedTileflowBuildCatalog, b as TileflowSourceCatalog, c as PreparedTileflowCatalog } from './icons-B84H8Ymu.js';
7
- export { d as TileflowBuildingModelLevels, e as TileflowLandmarkSource, f as encodeTileflowLandmarkRegion, p as packageTileflowLandmarkTile, g as prepareTileflowBuildingModel } from './icons-B84H8Ymu.js';
6
+ import { T as TileflowBuildAsset, a as TileflowIconResolutionOptions, P as PreparedTileflowBuildCatalog, b as TileflowSourceCatalog, c as PreparedTileflowCatalog } from './icons-BIHpw5Zy.js';
7
+ export { d as TileflowBuildingModelLevels, e as TileflowLandmarkSource, f as encodeTileflowLandmarkRegion, p as packageTileflowLandmarkTile, g as prepareTileflowBuildingModel } from './icons-BIHpw5Zy.js';
8
8
  export { defaultTileflowConfigPath } from './config.js';
9
9
 
10
10
  /**
package/dist/artifacts.js CHANGED
@@ -19,6 +19,7 @@ import {
19
19
  parseTileflowLineBackgroundGlyphPath,
20
20
  prepareTileflowHostedNativeDeployment,
21
21
  prepareTileflowLocalTilesets,
22
+ readTileflowLandmarkTileFootprints,
22
23
  refreshTileflowArtifactSession,
23
24
  tileflowArtifactInventoryFileName,
24
25
  tileflowArtifactPlanSchemaVersion,
@@ -31,7 +32,7 @@ import {
31
32
  usesTileflowLineBackgroundGlyphs,
32
33
  writeTileflowArtifactPlan,
33
34
  writeTileflowBuildArtifacts
34
- } from "./chunk-CM6ZTYDJ.js";
35
+ } from "./chunk-2F7LOYQI.js";
35
36
  import {
36
37
  getTileflowAssetBasePath,
37
38
  getTileflowAssetFileName,
@@ -43,7 +44,7 @@ import {
43
44
  encodeTileflowLandmarkRegion,
44
45
  packageTileflowLandmarkTile,
45
46
  prepareTileflowBuildingModel
46
- } from "./chunk-F4PLTZS4.js";
47
+ } from "./chunk-5RT4CHSK.js";
47
48
  import "./chunk-7C4F6GAX.js";
48
49
  import "./chunk-KDFTE4Q5.js";
49
50
  import {
@@ -80,6 +81,7 @@ export {
80
81
  prepareTileflowBuildingModel,
81
82
  prepareTileflowHostedNativeDeployment,
82
83
  prepareTileflowLocalTilesets,
84
+ readTileflowLandmarkTileFootprints,
83
85
  refreshTileflowArtifactSession,
84
86
  resolveTileflowArtifactPublicUrls,
85
87
  tileflowArtifactInventoryFileName,
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  getTileflowIconWatchPaths,
10
10
  prepareTileflowCatalogIcons
11
- } from "./chunk-F4PLTZS4.js";
11
+ } from "./chunk-5RT4CHSK.js";
12
12
  import {
13
13
  TileflowStyleValidationError,
14
14
  normalizeTileflowStyleValidationIssues,
@@ -2125,6 +2125,7 @@ async function prepareTileflowHostedNativeDeployment(input) {
2125
2125
 
2126
2126
  // src/artifacts.ts
2127
2127
  import {
2128
+ readTileflowLandmarkTileFootprints,
2128
2129
  tileflowLandmarkRegionOf,
2129
2130
  tileflowLandmarkRegionZoom,
2130
2131
  tileflowLandmarkTileOf,
@@ -2518,7 +2519,8 @@ function retargetLocalFontAssetUrl(source, assets, generation) {
2518
2519
  function getMapBuildAssets(mapName, assets, fontAssets) {
2519
2520
  const selected = /* @__PURE__ */ new Map();
2520
2521
  for (const asset of assets) {
2521
- if (asset.fileName.startsWith(`icons/${mapName}/`)) selected.set(asset.fileName, asset);
2522
+ if (asset.fileName.startsWith(`icons/${mapName}/`) || asset.fileName.startsWith(`models/${mapName}/`))
2523
+ selected.set(asset.fileName, asset);
2522
2524
  }
2523
2525
  for (const asset of fontAssets) {
2524
2526
  selected.set(asset.fileName, asset);
@@ -3095,6 +3097,7 @@ export {
3095
3097
  writeTileflowArtifactPlan,
3096
3098
  assertNoLocalTilesetsForProduction,
3097
3099
  assertTileflowSelfHostedManifestTarget,
3100
+ readTileflowLandmarkTileFootprints,
3098
3101
  tileflowLandmarkRegionOf,
3099
3102
  tileflowLandmarkRegionZoom,
3100
3103
  tileflowLandmarkTileOf,