@tileflow/core 0.1.0-alpha.39 → 0.1.0-alpha.40

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
@@ -138,8 +138,7 @@ export default defineMap({
138
138
  `system` is a runtime selection policy, not a stored theme. Builds, captures, static scenes, and
139
139
  receipts must use a concrete theme such as `light` or `dark`.
140
140
 
141
- Every theme of a map shares one structure, so a browser map can cross-fade or blend themes on one
142
- MapLibre instance without extra requests. See
141
+ Theme and `timeOfDay` changes animate over 450 ms by default, respecting reduced motion. See
143
142
  [theme transitions, time-of-day presets and blends](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/theme-transitions-and-blends.md).
144
143
  The same controller can make chosen modules recede and the map's labels fade so an application's
145
144
  own content reads first; see [map emphasis](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/map-emphasis.md).
@@ -166,6 +165,9 @@ Street lights default to off, including in Streets. Set `roads.streetLights.enab
166
165
  `createTileflowVegetation` controls all trees using the map's `3d`, `flat` or `auto` policy; see
167
166
  [vegetation controls and 3D trees](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/trees-3d.md).
168
167
 
168
+ Labels use native placement. POI icons and names place together by default;
169
+ `placement.coupleIconAndLabel: false` separates them.
170
+
169
171
  The semantic domains are `land`, `water`, `nautical`, `roads`, `buildings`, `boundaries`, `labels`,
170
172
  `poi`, `aeroways`, `transit`, `vegetation`, `addresses`, and `landforms`. Style stable geographic
171
173
  targets rather than compiler-generated MapLibre layer IDs. Shared primitives cover fills, lines,
@@ -252,9 +254,9 @@ tooling prepare browser resources; direct MapLibre integrations must register re
252
254
  before loading a style. See the
253
255
  [browser runtime contract](https://github.com/tileflow/tileflow-sdk/blob/main/docs/contracts/framework-browser-runtime.md).
254
256
 
255
- Set `projection: 'globe'` and `atmosphere: true` for a globe rim, space, and stars, and `sky` for a
256
- themed street-level sky that follows the sun. Frameworks and capture apply
257
- both; direct MapLibre integrations call `attachTileflowAtmosphere(map)` from `@tileflow/core/browser`.
257
+ With `projection: 'globe'`, `atmosphere: true` adds a halo and stars; an object configures colors, star count and size.
258
+ `sky` follows the sun at street level. Frameworks and capture attach both; direct
259
+ MapLibre consumers call `attachTileflowAtmosphere(map)` from `@tileflow/core/browser`.
258
260
  See
259
261
  [globe atmosphere](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/globe-atmosphere.md)
260
262
  and [street sky](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/street-sky.md).
@@ -268,11 +270,10 @@ In a 3D scene, `createTileflowDepthMarkers` from `@tileflow/core/browser` draws
268
270
  that nearer buildings hide, facing the viewer or lying on the ground. See
269
271
  [depth markers](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/depth-markers.md).
270
272
 
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
273
- fonts, and Cívica uses its packaged lettering. Hosted deployment currently rejects
274
- package/local font bundles; use self-hosted output or explicitly replace the provider with compatible
275
- public glyphs. Tile URLs and font providers do not establish redistribution rights.
273
+ Text requires exactly one provider. Soundings and Blueprint use URL glyphs; Streets packages DINish
274
+ and Noto Sans; Baedeker, 1777 and Siegfried package Cormorant; Cívica packages its lettering. Hosted
275
+ rejects packaged/local fonts: self-host or replace them with compatible public glyphs. Tile and font
276
+ URLs do not grant redistribution rights.
276
277
 
277
278
  ## Reference
278
279
 
@@ -59,6 +59,7 @@ type TileflowThemeNumberValue = number | TileflowFixedValue<number> | TileflowTh
59
59
  type TileflowThemeColorValue = string | TileflowFixedValue<string> | TileflowThemeColorOperation | TileflowThemeTokenReference<'color'>;
60
60
  type TileflowThemeFontValue = string | TileflowFixedValue<string> | TileflowThemeTokenReference<'font'>;
61
61
  type TileflowThemeImageValue = string | TileflowFixedValue<string> | TileflowThemeTokenReference<'image'>;
62
+ type TileflowThemeValue<T> = T | TileflowFixedValue<T> | (T extends number ? TileflowThemeTokenReference<'number'> : T extends string ? TileflowThemeTokenReference<'color' | 'font' | 'image'> | TileflowThemeColorOperation : never);
62
63
  type TileflowExpression<T> = {
63
64
  readonly kind: 'expression';
64
65
  readonly value: readonly unknown[];
@@ -913,6 +914,10 @@ type TileflowVegetation3D = Readonly<{
913
914
  }>;
914
915
  heightScale: number;
915
916
  crownScale: number;
917
+ /** Visual size floor in metres, after scaling; crowns keep their proportions. */
918
+ minimumHeight?: number;
919
+ /** Stable variation across trunks and within the theme's foliage palette. */
920
+ materialVariation?: number;
916
921
  /** Each form's own scales and models. */
917
922
  forms: Readonly<Partial<Record<TileflowTreeForm, TileflowTreeFormStyle>>>;
918
923
  /** The map's own models its forms draw, by id, prepared from its `models` directories. */
@@ -950,6 +955,10 @@ type TileflowVegetationThreeDimensionalStyle = {
950
955
  hedgeColors?: readonly TileflowThemeColorValue[];
951
956
  crownScale?: TileflowThemeNumberValue;
952
957
  heightScale?: TileflowThemeNumberValue;
958
+ /** Visual minimum height in metres (0–20); smaller trees grow proportionally, including crowns. Default 0 preserves measured sizes. */
959
+ minimumHeight?: TileflowThemeNumberValue;
960
+ /** Variation within the authored foliage palette and between trunks, from 0 (default) to 1. */
961
+ materialVariation?: TileflowThemeNumberValue;
953
962
  /**
954
963
  * How trees take the light: `faceted` (the default), low-poly facets softened towards a round
955
964
  * crown; `smooth`, round crowns; or `toon`, three bands of light and a crisp shadow, as a drawn
@@ -1080,4 +1089,4 @@ type TileflowMap3D = {
1080
1089
  */
1081
1090
  declare function createTileflowMap3D(options: TileflowMap3DOptions): TileflowMap3D;
1082
1091
 
1083
- export { type TileflowTrees3DMap as $, type TileflowBuildings3DThemes as A, type TileflowMap3DMap as B, type TileflowStreetLights as C, type TileflowStreetLightsMap as D, type TileflowStreetLightsOptions as E, type TileflowSunPreset as F, type TileflowTile as G, type TileflowTileAddress as H, type TileflowTileAreaRequest as I, type TileflowTileFeature as J, type TileflowTileGeometryType as K, type TileflowTileReader as L, type TileflowTileReaderOptions as M, type TileflowTileRequestTransform as N, type TileflowTileSourceMap as O, type TileflowTreeFields as P, type TileflowTreeForm as Q, type TileflowTreeFormMix as R, type TileflowTreeFormRange as S, type TileflowSymbolStyle as T, type TileflowTreeLayers as U, type TileflowTreePlacement as V, type TileflowTreePlacementOptions as W, type TileflowTreeRange as X, type TileflowTreeRegion as Y, type TileflowTrees3D as Z, type TileflowTrees3DChange as _, type TileflowThemeImageValue as a, type TileflowTrees3DOptions as a0, type TileflowTrees3DThemes as a1, type TileflowVectorTileDecodeOptions as a2, type TileflowVegetation3D as a3, type TileflowVegetationController as a4, type TileflowVegetationDisplay as a5, type TileflowVegetationOptions as a6, type TileflowVegetationRepresentation as a7, createTileflowBuildings3D as a8, createTileflowMap3D as a9, tileflowVegetationDisplayMetadataKey as aA, tileflowVegetationMetadataKey as aB, createTileflowStreetLights as aa, createTileflowTileReader as ab, createTileflowTrees3D as ac, createTileflowVegetation as ad, decodeTileflowVectorTile as ae, mixTileflowSunPresets as af, placeTileflowTrees as ag, readTileflowMapTileSource as ah, readTileflowSunPreset as ai, readTileflowVegetation3D as aj, readTileflowVegetationDisplay as ak, resolveTileflowSun as al, resolveTileflowVegetationRepresentation as am, tileflowBuildings3DLayerId as an, tileflowDefaultSunPreset as ao, tileflowStreetLightsLayerId as ap, tileflowStyleSunPreset as aq, tileflowSunDirection as ar, tileflowSunMetadataKey as as, tileflowSunPosition as at, tileflowTilePointToLngLat as au, tileflowTilesForBounds as av, tileflowTreeBytes as aw, tileflowTreeFormOf as ax, tileflowTreeForms as ay, tileflowTrees3DLayerId as az, type TileflowThemeColorValue as b, type TileflowMarkerSymbolStyle as c, type TileflowAreaStyle as d, type TileflowLineStackStyle as e, type TileflowLineHatchStyle as f, type TileflowIconStyle as g, type TileflowLinePaint as h, type TileflowThemeNumberValue as i, type TileflowNumberStyleValue as j, type TileflowCircleStyle as k, type TileflowLineStyle as l, type TileflowFillStyle as m, type TileflowExtrusionStyle as n, type TileflowBackgroundStyle as o, type TileflowSymbolPlacement as p, type TileflowVegetationModuleConfig as q, type TileflowTileLayer as r, type TileflowMap3DOptions as s, type TileflowMap3D as t, type TileflowViewMode as u, type TileflowSun as v, type TileflowBuildings3D as w, type TileflowBuildings3DChange as x, type TileflowBuildings3DMap as y, type TileflowBuildings3DOptions as z };
1092
+ export { type TileflowTrees3DChange as $, type TileflowBuildings3DOptions as A, type TileflowBuildings3DThemes as B, type TileflowMap3DMap as C, type TileflowStreetLights as D, type TileflowStreetLightsMap as E, type TileflowStreetLightsOptions as F, type TileflowSunPreset as G, type TileflowTile as H, type TileflowTileAddress as I, type TileflowTileAreaRequest as J, type TileflowTileFeature as K, type TileflowTileGeometryType as L, type TileflowTileReader as M, type TileflowTileReaderOptions as N, type TileflowTileRequestTransform as O, type TileflowTileSourceMap as P, type TileflowTreeFields as Q, type TileflowTreeForm as R, type TileflowTreeFormMix as S, type TileflowSymbolStyle as T, type TileflowTreeFormRange as U, type TileflowTreeLayers as V, type TileflowTreePlacement as W, type TileflowTreePlacementOptions as X, type TileflowTreeRange as Y, type TileflowTreeRegion as Z, type TileflowTrees3D as _, type TileflowThemeImageValue as a, type TileflowTrees3DMap as a0, type TileflowTrees3DOptions as a1, type TileflowTrees3DThemes as a2, type TileflowVectorTileDecodeOptions as a3, type TileflowVegetation3D as a4, type TileflowVegetationController as a5, type TileflowVegetationDisplay as a6, type TileflowVegetationOptions as a7, type TileflowVegetationRepresentation as a8, createTileflowBuildings3D as a9, tileflowTrees3DLayerId as aA, tileflowVegetationDisplayMetadataKey as aB, tileflowVegetationMetadataKey as aC, createTileflowMap3D as aa, createTileflowStreetLights as ab, createTileflowTileReader as ac, createTileflowTrees3D as ad, createTileflowVegetation as ae, decodeTileflowVectorTile as af, mixTileflowSunPresets as ag, placeTileflowTrees as ah, readTileflowMapTileSource as ai, readTileflowSunPreset as aj, readTileflowVegetation3D as ak, readTileflowVegetationDisplay as al, resolveTileflowSun as am, resolveTileflowVegetationRepresentation as an, tileflowBuildings3DLayerId as ao, tileflowDefaultSunPreset as ap, tileflowStreetLightsLayerId as aq, tileflowStyleSunPreset as ar, tileflowSunDirection as as, tileflowSunMetadataKey as at, tileflowSunPosition as au, tileflowTilePointToLngLat as av, tileflowTilesForBounds as aw, tileflowTreeBytes as ax, tileflowTreeFormOf as ay, tileflowTreeForms as az, type TileflowThemeColorValue as b, type TileflowMarkerSymbolStyle as c, type TileflowAreaStyle as d, type TileflowLineStackStyle as e, type TileflowLineHatchStyle as f, type TileflowIconStyle as g, type TileflowLinePaint as h, type TileflowThemeNumberValue as i, type TileflowNumberStyleValue as j, type TileflowCircleStyle as k, type TileflowLineStyle as l, type TileflowFillStyle as m, type TileflowExtrusionStyle as n, type TileflowThemeValue as o, type TileflowBackgroundStyle as p, type TileflowSymbolPlacement as q, type TileflowVegetationModuleConfig as r, type TileflowTileLayer as s, type TileflowMap3DOptions as t, type TileflowMap3D as u, type TileflowViewMode as v, type TileflowSun as w, type TileflowBuildings3D as x, type TileflowBuildings3DChange as y, type TileflowBuildings3DMap as z };
package/dist/3d.d.ts CHANGED
@@ -1 +1 @@
1
- export { t as TileflowMap3D, B as TileflowMap3DMap, s as TileflowMap3DOptions, a9 as createTileflowMap3D } from './3d-BkaJjwfk.js';
1
+ export { u as TileflowMap3D, C as TileflowMap3DMap, t as TileflowMap3DOptions, aa as createTileflowMap3D } from './3d-CzLTD0RK.js';