@tileflow/core 0.1.0-alpha.34 → 0.1.0-alpha.36
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 +24 -23
- package/THIRD_PARTY_NOTICES.md +100 -6
- package/dist/browser.d.ts +758 -388
- package/dist/browser.js +4598 -1169
- package/dist/build.d.ts +9 -5
- package/dist/build.js +2892 -1410
- package/dist/capture.js +1 -0
- package/dist/config-reference.json +3780 -2153
- package/dist/{icon-composition-DqoZWQuz.d.ts → icon-composition-sN3JkXdb.d.ts} +380 -96
- package/dist/index.d.ts +426 -13
- package/dist/index.js +4999 -1841
- package/dist/{manifest-types-hmzy2bBX.d.ts → manifest-types-jrBdBrES.d.ts} +71 -9
- package/dist/manifest.d.ts +2 -2
- package/dist/manifest.js +80 -2
- package/dist/native-profile.js +1 -0
- package/dist/native.d.ts +13 -3
- package/dist/native.js +714 -318
- package/dist/runtime.d.ts +1 -1
- package/dist/runtime.js +124 -6
- package/dist/worker/buildings-3d-worker.global.js +1 -0
- package/docs/authoring-model.md +12 -3
- package/docs/boundary-areas-and-choropleths.md +217 -0
- package/docs/buildings-3d.md +264 -34
- package/docs/cartographic-defaults.md +142 -0
- package/docs/compiled-style-performance.md +14 -3
- package/docs/data-is-separate-from-design.md +191 -7
- package/docs/hosted-session-authorization.md +2 -4
- package/docs/map-and-terrain-examples.md +10 -3
- package/docs/native-artifact-profile.md +5 -0
- package/docs/native-resource-urls.md +5 -3
- package/docs/street-lights.md +22 -6
- package/docs/sun-and-light.md +42 -2
- package/docs/theme-transitions-and-blends.md +50 -0
- package/docs/themes-and-module-styles.md +66 -0
- package/docs/trees-3d.md +85 -13
- package/package.json +5 -4
package/README.md
CHANGED
|
@@ -38,9 +38,8 @@ export default defineMap({
|
|
|
38
38
|
});
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
Coordinates use `[longitude, latitude]`.
|
|
42
|
-
A
|
|
43
|
-
extend an existing map instead of rebuilding its complete visual contract.
|
|
41
|
+
Coordinates use `[longitude, latitude]`. This map inherits Streets' themes and assets.
|
|
42
|
+
A standalone map uses `defineMap()` without `extends`.
|
|
44
43
|
|
|
45
44
|
Validate and preview the file with the project-local CLI:
|
|
46
45
|
|
|
@@ -60,7 +59,7 @@ Omitted fields inherit, but declaring a field does not imply a recursive merge:
|
|
|
60
59
|
- `modules` merges by domain. Declaring `roads(...)` replaces that domain's inherited request and
|
|
61
60
|
render contributions. Use `refine(...)` to patch it, `disable()` to remove it, and `reset()` for
|
|
62
61
|
an explicit reset inside a supported patch.
|
|
63
|
-
- `themes` replaces the complete collection and clears
|
|
62
|
+
- `themes` replaces the complete collection and clears inherited `systemThemes` and `timeOfDay` mappings.
|
|
64
63
|
`defaultTheme` can select an inherited concrete theme; `systemThemes` replaces its complete mapping.
|
|
65
64
|
- `icons` replaces the ordered contributor list. Omission inherits it; `[]` disables it. Local and
|
|
66
65
|
package directories can be combined with explicit locked `iconSet('@team/set')` descriptors.
|
|
@@ -141,7 +140,7 @@ receipts must use a concrete theme such as `light` or `dark`.
|
|
|
141
140
|
|
|
142
141
|
Because every theme of a map shares one structure, a browser map can cross-fade between themes or
|
|
143
142
|
show a continuous blend of them on the same MapLibre instance, with no extra requests. See
|
|
144
|
-
[theme transitions and blends](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/theme-transitions-and-blends.md).
|
|
143
|
+
[theme transitions, time-of-day presets and blends](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/theme-transitions-and-blends.md).
|
|
145
144
|
The same controller can make chosen modules recede and the map's labels fade so an application's
|
|
146
145
|
own content reads first; see [map emphasis](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/map-emphasis.md).
|
|
147
146
|
It also sets the style-wide states that themes read with `expr.globalState`, easing numbers so the
|
|
@@ -158,15 +157,14 @@ A theme can describe its sun and sky light (`lighting.sun`, `lighting.ambient`);
|
|
|
158
157
|
returns the sun the map shows with `getSun()`, mixed during a blend, for an application's own 3D
|
|
159
158
|
layers, and `setSun()` places it by direction or by the real sun of a date and place; see
|
|
160
159
|
[sun and light](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/sun-and-light.md).
|
|
161
|
-
`createTileflowBuildings3D`
|
|
162
|
-
sun,
|
|
163
|
-
they hold; it shows, hides and grows them without laying out any source; see
|
|
160
|
+
`createTileflowBuildings3D` enables worker-meshed buildings fading in at zoom 15–15.25, with scene
|
|
161
|
+
sun, cast/contact shadows and 0.8 m rounded corners. Each effect is independently overridable. See
|
|
164
162
|
[3D buildings](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/buildings-3d.md).
|
|
165
|
-
|
|
166
|
-
|
|
163
|
+
Street lights default to off, including in Streets. Set `roads.streetLights.enabled: true` and mount
|
|
164
|
+
`createTileflowStreetLights` to enable them; see
|
|
167
165
|
[street lights](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/street-lights.md).
|
|
168
|
-
`
|
|
169
|
-
[3D trees](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/trees-3d.md).
|
|
166
|
+
`createTileflowVegetation` controls all trees using the map's `3d`, `flat` or `auto` policy; see
|
|
167
|
+
[vegetation controls and 3D trees](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/trees-3d.md).
|
|
170
168
|
|
|
171
169
|
The semantic domains are `land`, `water`, `nautical`, `roads`, `buildings`, `boundaries`, `labels`,
|
|
172
170
|
`poi`, `aeroways`, `transit`, `vegetation`, `addresses`, and `landforms`. Style stable geographic
|
|
@@ -184,15 +182,14 @@ validates the authoring input and throws on failure. `createStyle(map, options)`
|
|
|
184
182
|
throws; `createStyleResult(map, options)` returns structured diagnostics and a compilation report.
|
|
185
183
|
Only a successful result contains `style`.
|
|
186
184
|
|
|
187
|
-
|
|
188
|
-
directories needs the CLI, a build plugin, or
|
|
185
|
+
Maps with package/local icon or font directories need the CLI, a build plugin, or
|
|
189
186
|
[`@tileflow/dev/artifacts`](https://github.com/tileflow/tileflow-sdk/blob/main/packages/dev/README.md)
|
|
190
|
-
to
|
|
191
|
-
they do not import executable configs.
|
|
187
|
+
to prepare assets. Browser components consume the resulting manifest.
|
|
192
188
|
|
|
193
|
-
|
|
189
|
+
Discover the language and inspect a prepared map:
|
|
194
190
|
|
|
195
191
|
```sh
|
|
192
|
+
npx tileflow describe themes --json
|
|
196
193
|
npx tileflow language manifest --json
|
|
197
194
|
npx tileflow language schema --json
|
|
198
195
|
npx tileflow inspect --json
|
|
@@ -238,10 +235,12 @@ package uses this contract for its mounted Map; it is not yet published.
|
|
|
238
235
|
|
|
239
236
|
## Data, terrain, and browser resources
|
|
240
237
|
|
|
241
|
-
Tileflow World is the hosted primary
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
238
|
+
Tileflow World is the hosted primary source. `vectorTiles()` with `openMapTiles()` supports
|
|
239
|
+
external local/self-hosted data; hosted eligibility is separate. `hostedTileset()`, `boundaryAreas`
|
|
240
|
+
and semantic overlays add named sources. Local PMTiles inputs are tooling-only.
|
|
241
|
+
|
|
242
|
+
`bathymetry({vectorLayers: {...}})` declares compatible contour/name layers; omission retains
|
|
243
|
+
legacy band geometry.
|
|
245
244
|
|
|
246
245
|
World attribution links to Tileflow's source notice, OpenMapTiles, and OpenStreetMap. External
|
|
247
246
|
vector data retains the attribution supplied by its owner.
|
|
@@ -269,8 +268,8 @@ In a 3D scene, `createTileflowDepthMarkers` from `@tileflow/core/browser` draws
|
|
|
269
268
|
that nearer buildings hide, facing the viewer or lying on the ground. See
|
|
270
269
|
[depth markers](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/depth-markers.md).
|
|
271
270
|
|
|
272
|
-
A map with text must declare exactly one text provider. Streets,
|
|
273
|
-
and Blueprint use URL glyph providers. Baedeker and Siegfried use packaged Cormorant
|
|
271
|
+
A map with text must declare exactly one text provider. Streets, Soundings,
|
|
272
|
+
and Blueprint use URL glyph providers. Baedeker, 1777, and Siegfried use packaged Cormorant
|
|
274
273
|
fonts, and Cívica uses its packaged lettering. Hosted deployment currently rejects
|
|
275
274
|
package/local font bundles; use self-hosted output or explicitly replace the provider with compatible
|
|
276
275
|
public glyphs. Tile URLs and font providers do not establish redistribution rights.
|
|
@@ -295,6 +294,7 @@ revision; prefer the installed copy when working with an older release.
|
|
|
295
294
|
- [Shared visual primitives](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/shared-visual-primitives.md)
|
|
296
295
|
- [Compiled-style performance](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/compiled-style-performance.md)
|
|
297
296
|
- [Camera moves and the tile cache](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/camera-moves-and-tile-cache.md)
|
|
297
|
+
- [Cartographic defaults and overrides](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/cartographic-defaults.md)
|
|
298
298
|
- [Themes and module styles](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/themes-and-module-styles.md)
|
|
299
299
|
- [Theme transitions and blends](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/theme-transitions-and-blends.md)
|
|
300
300
|
- [Map emphasis](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/map-emphasis.md)
|
|
@@ -304,6 +304,7 @@ revision; prefer the installed copy when working with an older release.
|
|
|
304
304
|
- [3D buildings](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/buildings-3d.md)
|
|
305
305
|
- [Street lights](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/street-lights.md)
|
|
306
306
|
- [3D trees](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/trees-3d.md)
|
|
307
|
+
- [Boundary areas and choropleths](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/boundary-areas-and-choropleths.md)
|
|
307
308
|
- [Data is separate from design](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/data-is-separate-from-design.md)
|
|
308
309
|
- [Capture scenes](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/capture-scenes.md)
|
|
309
310
|
- [Capture shots](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/capture-shots.md)
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
# Third-party notices
|
|
2
2
|
|
|
3
|
-
`@tileflow/core/browser` embeds `maplibre-contour` 0.1.0, `PMTiles` 4.
|
|
4
|
-
`earcut` 3.2.4 so contour, local archive, and 3D building rendering remain self-contained.
|
|
3
|
+
`@tileflow/core/browser` embeds `maplibre-contour` 0.1.0, `PMTiles` 4.5.0, `fflate` 0.8.3, and
|
|
4
|
+
`earcut` 3.2.4 so contour, local archive, and 3D building rendering remain self-contained.
|
|
5
|
+
`@tileflow/core` and `@tileflow/core/browser` embed the decoder of `meshoptimizer` 1.3.0, loaded
|
|
6
|
+
only to read a compressed 3D model file. The complete upstream licenses follow.
|
|
5
7
|
|
|
6
8
|
## maplibre-contour 0.1.0
|
|
7
9
|
|
|
@@ -168,7 +170,7 @@ See <https://github.com/nodejs/node/blob/main/LICENSE> for more information.
|
|
|
168
170
|
|
|
169
171
|
---
|
|
170
172
|
|
|
171
|
-
## PMTiles 4.
|
|
173
|
+
## PMTiles 4.5.0
|
|
172
174
|
|
|
173
175
|
The below license (BSD-3) applies to the reference implementations in this repository.
|
|
174
176
|
|
|
@@ -249,6 +251,32 @@ OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWA
|
|
|
249
251
|
|
|
250
252
|
---
|
|
251
253
|
|
|
254
|
+
## meshoptimizer 1.3.0
|
|
255
|
+
|
|
256
|
+
MIT License
|
|
257
|
+
|
|
258
|
+
Copyright (c) 2016-2026 Arseny Kapoulkine
|
|
259
|
+
|
|
260
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
261
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
262
|
+
in the Software without restriction, including without limitation the rights
|
|
263
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
264
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
265
|
+
furnished to do so, subject to the following conditions:
|
|
266
|
+
|
|
267
|
+
The above copyright notice and this permission notice shall be included in all
|
|
268
|
+
copies or substantial portions of the Software.
|
|
269
|
+
|
|
270
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
271
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
272
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
273
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
274
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
275
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
276
|
+
SOFTWARE.
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
252
280
|
## TypeScript helper code
|
|
253
281
|
|
|
254
282
|
The bundled browser entry retains TypeScript helper code and its complete upstream notice:
|
|
@@ -267,11 +295,11 @@ OF THIS SOFTWARE.
|
|
|
267
295
|
|
|
268
296
|
---
|
|
269
297
|
|
|
270
|
-
## whatwg-url
|
|
298
|
+
## whatwg-url 17.2.0 and tr46 7.0.0
|
|
271
299
|
|
|
272
300
|
The native entry embeds the low-level `whatwg-url` parser and `tr46` IDNA processing. During the
|
|
273
|
-
native build only, the parser's
|
|
274
|
-
codec. No upstream package is patched on disk and no global codec is installed. Both components
|
|
301
|
+
native build only, the parser's encoding and query-encoding imports use Tileflow's private UTF-8
|
|
302
|
+
codec; the legacy encoding bootstrap is replaced by that side-effect-free module. No upstream package is patched on disk and no global codec is installed. Both components
|
|
275
303
|
are MIT-licensed:
|
|
276
304
|
|
|
277
305
|
The MIT License (MIT)
|
|
@@ -348,3 +376,69 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
348
376
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
349
377
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
350
378
|
SOFTWARE.
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
## MapLibre GL JS 6.13.0 extrusion lighting
|
|
383
|
+
|
|
384
|
+
The style-lighting shader in `buildings-3d-shaders.ts` adapts the native fill-extrusion
|
|
385
|
+
lighting equations. The applicable upstream notices follow.
|
|
386
|
+
|
|
387
|
+
Copyright (c) 2023, MapLibre contributors
|
|
388
|
+
|
|
389
|
+
All rights reserved.
|
|
390
|
+
|
|
391
|
+
Redistribution and use in source and binary forms, with or without modification,
|
|
392
|
+
are permitted provided that the following conditions are met:
|
|
393
|
+
|
|
394
|
+
* Redistributions of source code must retain the above copyright notice,
|
|
395
|
+
this list of conditions and the following disclaimer.
|
|
396
|
+
* Redistributions in binary form must reproduce the above copyright notice,
|
|
397
|
+
this list of conditions and the following disclaimer in the documentation
|
|
398
|
+
and/or other materials provided with the distribution.
|
|
399
|
+
* Neither the name of MapLibre GL JS nor the names of its contributors
|
|
400
|
+
may be used to endorse or promote products derived from this software
|
|
401
|
+
without specific prior written permission.
|
|
402
|
+
|
|
403
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
404
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
405
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
406
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
407
|
+
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
408
|
+
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
409
|
+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
410
|
+
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
411
|
+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
412
|
+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
413
|
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
414
|
+
|
|
415
|
+
---
|
|
416
|
+
|
|
417
|
+
Contains code from mapbox-gl-js v1.13 and earlier
|
|
418
|
+
|
|
419
|
+
Version v1.13 of mapbox-gl-js and earlier are licensed under a BSD-3-Clause license
|
|
420
|
+
|
|
421
|
+
Copyright (c) 2020, Mapbox
|
|
422
|
+
Redistribution and use in source and binary forms, with or without modification,
|
|
423
|
+
are permitted provided that the following conditions are met:
|
|
424
|
+
|
|
425
|
+
- Redistributions of source code must retain the above copyright notice,
|
|
426
|
+
this list of conditions and the following disclaimer.
|
|
427
|
+
- Redistributions in binary form must reproduce the above copyright notice,
|
|
428
|
+
this list of conditions and the following disclaimer in the documentation
|
|
429
|
+
and/or other materials provided with the distribution.
|
|
430
|
+
- Neither the name of Mapbox GL JS nor the names of its contributors
|
|
431
|
+
may be used to endorse or promote products derived from this software
|
|
432
|
+
without specific prior written permission.
|
|
433
|
+
|
|
434
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
435
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
436
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
437
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
438
|
+
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
439
|
+
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
440
|
+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
441
|
+
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
442
|
+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
443
|
+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
444
|
+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|