@tileflow/dev 0.1.0-alpha.23 → 0.1.0-alpha.25

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.
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  TileflowAssetDirectoryError,
3
3
  resolveTileflowAssetDirectories
4
- } from "./chunk-BL3FK4GO.js";
4
+ } from "./chunk-7C4F6GAX.js";
5
5
  import {
6
6
  isPathWithin
7
7
  } from "./chunk-D4OE4ITL.js";
@@ -6,11 +6,11 @@ import {
6
6
  joinTileflowPublicUrl,
7
7
  prepareTileflowStyleFonts,
8
8
  replaceTileflowStyleFontSources
9
- } from "./chunk-RSBV4L2Y.js";
9
+ } from "./chunk-UTRO4IBQ.js";
10
10
  import {
11
11
  getTileflowIconWatchPaths,
12
12
  prepareTileflowCatalogIcons
13
- } from "./chunk-CENQR5Q2.js";
13
+ } from "./chunk-D2QWYYIF.js";
14
14
  import {
15
15
  TileflowStyleValidationError,
16
16
  normalizeTileflowStyleValidationIssues,
@@ -438,6 +438,8 @@ var TileflowArtifactSessionImpl = class {
438
438
  assetBaseUrl: options.assetBaseUrl,
439
439
  config: options.config,
440
440
  cwd: this.#cwd,
441
+ // Trusted shared Icon Set resolution settings, supplied once by the owning command.
442
+ ...options.icons ? { icons: options.icons } : {},
441
443
  inspection: options.inspection,
442
444
  styleBaseUrl: options.styleBaseUrl,
443
445
  target: options.target
@@ -948,7 +950,8 @@ async function createTileflowArtifactPlan(prepared, options = {}) {
948
950
  map,
949
951
  sourceAssets: {
950
952
  fonts: preparedFonts.sourceIdentities[mapName] ?? [],
951
- icons: prepared.mapIconSources[mapName] ?? []
953
+ icons: prepared.mapIconSources[mapName] ?? [],
954
+ ...prepared.mapIconCompositions[mapName] ? { iconComposition: prepared.mapIconCompositions[mapName] } : {}
952
955
  },
953
956
  styles: style
954
957
  }
@@ -966,7 +969,9 @@ async function createTileflowArtifactPlan(prepared, options = {}) {
966
969
  [...prepared.watchPaths, ...preparedFonts.watchPaths].map(canonicalInputPath)
967
970
  ),
968
971
  files: uniqueStrings(
969
- [...options.inputFiles ?? [], ...localTilesets.watchPaths].map(canonicalInputPath)
972
+ [...options.inputFiles ?? [], ...prepared.watchFiles, ...localTilesets.watchPaths].map(
973
+ canonicalInputPath
974
+ )
970
975
  )
971
976
  };
972
977
  const partial = {
@@ -1007,7 +1012,8 @@ async function createTileflowBuildArtifacts(options = {}) {
1007
1012
  const prepared = await prepareTileflowCatalogIcons(loaded.project, {
1008
1013
  assetBaseUrl: resolveAssetBaseUrl(options),
1009
1014
  baseDirectory: dirname2(loaded.configFile),
1010
- cwd: options.cwd ?? process.cwd()
1015
+ cwd: options.cwd ?? process.cwd(),
1016
+ ...options.icons ? { icons: options.icons } : {}
1011
1017
  });
1012
1018
  return await createTileflowArtifactPlan(prepared, { ...options, inputFiles: loaded.inputFiles });
1013
1019
  }
package/dist/fonts.js CHANGED
@@ -4,8 +4,8 @@ import {
4
4
  getTileflowFontWatchPaths,
5
5
  prepareTileflowStyleFonts,
6
6
  replaceTileflowStyleFontSources
7
- } from "./chunk-RSBV4L2Y.js";
8
- import "./chunk-BL3FK4GO.js";
7
+ } from "./chunk-UTRO4IBQ.js";
8
+ import "./chunk-7C4F6GAX.js";
9
9
  import "./chunk-D4OE4ITL.js";
10
10
  export {
11
11
  TileflowFontCompilationError,
package/dist/icons.d.ts CHANGED
@@ -1,5 +1,105 @@
1
- import { TileflowIconPackageFileName, TileflowIconPackageManifest } from '@tileflow/core';
2
- import { TileflowBuildCatalog, TileflowPreparedMapAssets, TileflowEffectiveIconSourceIdentity } from '@tileflow/core/build';
1
+ import { TileflowIconSetPin, TileflowIconSource, TileflowIconsLockfileV1, TileflowIconCompositionV1, TileflowIconPackageFileName, TileflowIconPackageManifest, TileflowIconDirectory } from '@tileflow/core';
2
+ import { TileflowEffectiveIconSourceIdentity, TileflowBuildCatalog, TileflowPreparedMapAssets } from '@tileflow/core/build';
3
+
4
+ type TileflowRenderedIconCell = {
5
+ height: number;
6
+ width: number;
7
+ rgba: Uint8Array;
8
+ };
9
+ type TileflowRenderedIcon = {
10
+ id: string;
11
+ oneX: TileflowRenderedIconCell;
12
+ twoX: TileflowRenderedIconCell;
13
+ };
14
+ /** Pack independently rendered densities without scaling or re-rasterizing either input. */
15
+ declare function packTileflowRenderedIcons(input: readonly TileflowRenderedIcon[]): Promise<CompiledTileflowIconPackage>;
16
+
17
+ type VerifiedTileflowIconArtifact = {
18
+ package: CompiledTileflowIconPackage;
19
+ icons: TileflowRenderedIcon[];
20
+ };
21
+ /** Verify exact compressed bytes and independently decode/hash every cell at both densities. */
22
+ declare function verifyTileflowIconArtifact(input: CompiledTileflowIconPackage): Promise<VerifiedTileflowIconArtifact>;
23
+
24
+ type TileflowIconCacheOptions = {
25
+ /** Parent of the versioned tileflow/icons/v1 cache, not a serialized lock setting. */
26
+ cacheRoot?: string;
27
+ offline?: boolean;
28
+ /** Trusted application configuration. A lock cannot extend this allowlist. */
29
+ deliveryOrigins?: readonly string[];
30
+ fetch?: typeof globalThis.fetch;
31
+ signal?: AbortSignal;
32
+ };
33
+ declare function getTileflowIconCacheDirectory(options?: Pick<TileflowIconCacheOptions, 'cacheRoot'>): string;
34
+ /** Read and verify an exact pin; a cache miss never resolves a newer version. */
35
+ declare function loadTileflowIconSetArtifact(input: TileflowIconSetPin, options?: TileflowIconCacheOptions): Promise<VerifiedTileflowIconArtifact>;
36
+ /** Seed or repair a disposable cache using verified generated bytes, never original artwork. */
37
+ declare function storeTileflowIconSetArtifact(input: TileflowIconSetPin, artifact: CompiledTileflowIconPackage, options?: Pick<TileflowIconCacheOptions, 'cacheRoot'>): Promise<VerifiedTileflowIconArtifact>;
38
+
39
+ /**
40
+ * Read the exact current lock bytes for a compare-and-swap update.
41
+ *
42
+ * `null` means no lock exists yet. The returned text is the only valid `expectedContents` for a
43
+ * later `writeTileflowIconsLockfile` call, so a concurrent writer can never be silently lost.
44
+ */
45
+ declare function readTileflowIconsLockfileText(baseDirectory: string): Promise<string | null>;
46
+ declare function readTileflowIconsLockfile(baseDirectory: string, sources?: readonly TileflowIconSource[]): Promise<TileflowIconsLockfileV1>;
47
+ /** Compare-and-swap the whole lock. Never rewrite executable config or lose another writer's pin. */
48
+ declare function writeTileflowIconsLockfile(baseDirectory: string, input: TileflowIconsLockfileV1, expectedContents: string | null): Promise<void>;
49
+
50
+ type ComposeTileflowIconSourcesOptions = TileflowIconCacheOptions & {
51
+ cwd: string;
52
+ baseDirectory?: string;
53
+ /** Trusted caller-owned diagnostic prefix, such as `maps.main.icons`. */
54
+ configPath?: string;
55
+ lock?: unknown;
56
+ target?: TileflowIconCompilationTarget;
57
+ };
58
+ /** One declared contributor, retained even when later contributors shadow all of its exports. */
59
+ type TileflowComposedIconContributor = {
60
+ /** Ordered declared entries, before later contributors replace any of them. */
61
+ entries: readonly TileflowIconDirectoryEntry[];
62
+ iconIds: readonly string[];
63
+ insideWorkingTree: boolean;
64
+ kind: 'local' | 'package';
65
+ label: string;
66
+ } | {
67
+ iconIds: readonly string[];
68
+ kind: 'icon-set';
69
+ /** Canonical `@team/set` reference; the exact revision lives in the receipt. */
70
+ label: string;
71
+ packageId: string;
72
+ reference: string;
73
+ setId: string;
74
+ version: number;
75
+ versionId: string;
76
+ };
77
+ /** One effective icon after ordered last-wins replacement has completed. */
78
+ type TileflowComposedIconWinner = {
79
+ contributor: number;
80
+ id: string;
81
+ identity: TileflowEffectiveIconSourceIdentity;
82
+ /** Present only for filesystem-backed winners; verified shared cells expose no original. */
83
+ source: TileflowIconDirectorySourceFile | null;
84
+ };
85
+ type TileflowComposedIconSources = {
86
+ package: CompiledTileflowIconPackage | null;
87
+ composition: TileflowIconCompositionV1 | null;
88
+ contributors: TileflowComposedIconContributor[];
89
+ sourceIdentities: TileflowEffectiveIconSourceIdentity[];
90
+ replacements: Array<{
91
+ id: string;
92
+ replaced: number;
93
+ winner: number;
94
+ }>;
95
+ /** Exact files whose contents select this composition, such as the icon lock. */
96
+ watchFiles: string[];
97
+ /** Local directories whose children can change the composition without a config edit. */
98
+ watchPaths: string[];
99
+ winners: TileflowComposedIconWinner[];
100
+ };
101
+ /** The single normal icon-preparation path for declared local, package and shared contributors. */
102
+ declare function composeTileflowIconSources(input: readonly TileflowIconSource[], options: ComposeTileflowIconSourcesOptions): Promise<TileflowComposedIconSources>;
3
103
 
4
104
  type TileflowBuildAsset = {
5
105
  contentType: string;
@@ -18,11 +118,22 @@ type PreparedTileflowCatalog = {
18
118
  baseDirectory: string;
19
119
  cwd: string;
20
120
  mapAssets: Record<string, TileflowPreparedMapAssets>;
121
+ /** Ordered shared dependency receipts, present only for maps that declare an Icon Set. */
122
+ mapIconCompositions: Record<string, TileflowIconCompositionV1>;
21
123
  mapIconSources: Record<string, readonly TileflowEffectiveIconSourceIdentity[]>;
22
124
  project: PreparedTileflowBuildCatalog;
23
125
  sourceProject: TileflowSourceCatalog;
126
+ /** Exact files whose contents select the composition, such as the icon lock. */
127
+ watchFiles: string[];
24
128
  watchPaths: string[];
25
129
  };
130
+ /**
131
+ * Explicit, trusted resolution settings for declared shared Icon Sets.
132
+ *
133
+ * These are supplied by the calling command or adapter. A lock file can never widen them, and no
134
+ * ambient process state selects a cache, an origin, or a transport.
135
+ */
136
+ type TileflowIconResolutionOptions = TileflowIconCacheOptions;
26
137
  type TileflowIconCompilationTarget = 'hosted' | 'local';
27
138
  type TileflowIconCompilationIssue = {
28
139
  message: string;
@@ -44,15 +155,27 @@ type TileflowMapIconPackageBinding = {
44
155
  mapName: string;
45
156
  packageHash: string;
46
157
  };
158
+ type CompileTileflowIconPackagesOptions = {
159
+ baseDirectory?: string;
160
+ cwd: string;
161
+ /** Trusted shared-set resolution settings; omitted means the default verified cache. */
162
+ icons?: TileflowIconResolutionOptions;
163
+ target: TileflowIconCompilationTarget;
164
+ };
47
165
  type CompileTileflowIconPackagesResult = {
48
166
  bindings: TileflowMapIconPackageBinding[];
167
+ /** Exact ordered dependency receipts, keyed by map, for maps that declare an Icon Set. */
168
+ compositions: Record<string, TileflowIconCompositionV1>;
49
169
  packages: CompiledTileflowIconPackage[];
50
170
  sourceIdentities: Record<string, readonly TileflowEffectiveIconSourceIdentity[]>;
171
+ /** Exact files whose contents select the composition, such as the icon lock. */
172
+ watchFiles: string[];
51
173
  watchPaths: string[];
52
174
  };
53
175
  type InspectTileflowIconCatalogsOptions = {
54
176
  baseDirectory?: string;
55
177
  cwd: string;
178
+ icons?: TileflowIconResolutionOptions;
56
179
  mapNames?: readonly string[];
57
180
  };
58
181
  type TileflowIconCatalogSourceFormat = 'jpeg' | 'png' | 'svg' | 'webp';
@@ -69,25 +192,48 @@ type TileflowIconCatalogRenderedDensity = {
69
192
  pixelSha256: string;
70
193
  width: number;
71
194
  };
195
+ /** One winning icon's origin: a repository/package original, or an exact shared revision cell. */
196
+ type TileflowIconCatalogIconSource = {
197
+ byteLength: number;
198
+ contributor: number;
199
+ dimensions: {
200
+ height: number;
201
+ width: number;
202
+ } | null;
203
+ format: TileflowIconCatalogSourceFormat;
204
+ kind: 'file';
205
+ path: string;
206
+ } | {
207
+ contributor: number;
208
+ kind: 'icon-set';
209
+ reference: string;
210
+ version: number;
211
+ };
72
212
  type TileflowIconCatalogIcon = {
73
213
  id: string;
74
214
  rendered: {
75
215
  oneX: TileflowIconCatalogRenderedDensity;
76
216
  twoX: TileflowIconCatalogRenderedDensity;
77
217
  };
78
- source: {
79
- byteLength: number;
80
- dimensions: {
81
- height: number;
82
- width: number;
83
- } | null;
84
- format: TileflowIconCatalogSourceFormat;
85
- path: string;
86
- };
218
+ source: TileflowIconCatalogIconSource;
219
+ };
220
+ /** One declared contributor in authoring order, retained even when fully shadowed. */
221
+ type TileflowIconCatalogContributor = {
222
+ iconIds: string[];
223
+ insideWorkingTree: boolean;
224
+ kind: 'local' | 'package';
225
+ label: string;
226
+ } | {
227
+ iconIds: string[];
228
+ kind: 'icon-set';
229
+ label: string;
230
+ reference: string;
231
+ version: number;
87
232
  };
88
233
  type TileflowIconCatalog = {
89
234
  compiledPackage: CompiledTileflowIconPackage;
90
- directories: string[];
235
+ composition: TileflowIconCompositionV1 | null;
236
+ contributors: TileflowIconCatalogContributor[];
91
237
  icons: TileflowIconCatalogIcon[];
92
238
  insideWorkingTree: boolean;
93
239
  replacements: TileflowIconReplacement[];
@@ -100,9 +246,10 @@ type TileflowIconReplacement = {
100
246
  type TileflowIconCatalogMap = {
101
247
  name: string;
102
248
  icons: {
103
- directories: string[];
249
+ composition: TileflowIconCompositionV1 | null;
250
+ contributors: TileflowIconCatalogContributor[];
104
251
  iconIds: string[];
105
- kind: 'directories';
252
+ kind: 'sources';
106
253
  label: string;
107
254
  packageHash: string;
108
255
  } | {
@@ -119,18 +266,64 @@ declare class TileflowIconCompilationError extends Error {
119
266
  readonly phase: "icon-compilation";
120
267
  constructor(issues: TileflowIconCompilationIssue[]);
121
268
  }
269
+ type DecodedIconDimensions = {
270
+ height: number;
271
+ width: number;
272
+ };
122
273
  declare const iconFileExtensions: Set<string>;
123
- declare function compileTileflowIconPackages(project: TileflowBuildCatalog, options: {
124
- baseDirectory?: string;
125
- cwd: string;
126
- target: TileflowIconCompilationTarget;
127
- }): Promise<CompileTileflowIconPackagesResult>;
274
+ declare function compileTileflowIconPackages(project: TileflowBuildCatalog, options: CompileTileflowIconPackagesOptions): Promise<CompileTileflowIconPackagesResult>;
128
275
  declare function inspectTileflowIconCatalogs(project: TileflowBuildCatalog, options: InspectTileflowIconCatalogsOptions): Promise<TileflowIconCatalogInspection>;
129
276
  declare function prepareTileflowCatalogIcons(project: TileflowBuildCatalog, options: {
130
277
  assetBaseUrl: string;
131
278
  baseDirectory?: string;
132
279
  cwd: string;
280
+ icons?: TileflowIconResolutionOptions;
133
281
  }): Promise<PreparedTileflowCatalog>;
282
+ /**
283
+ * Report the exact filesystem inputs that can change the composed sprite.
284
+ *
285
+ * The lock beside the selected config is one of them; a lock edit rebuilds from its new exact
286
+ * pins. Catalog heads are never polled, so a newly published revision changes nothing here.
287
+ */
134
288
  declare function getTileflowIconWatchPaths(project: TileflowBuildCatalog, cwd: string, baseDirectory?: string): Promise<string[]>;
135
289
 
136
- export { type CompileTileflowIconPackagesResult, type CompiledTileflowIconPackage, type CompiledTileflowIconPackageFile, type InspectTileflowIconCatalogsOptions, type PreparedTileflowBuildCatalog, type PreparedTileflowCatalog, type TileflowBuildAsset, type TileflowIconCatalog, type TileflowIconCatalogAtlasRectangle, type TileflowIconCatalogIcon, type TileflowIconCatalogInspection, type TileflowIconCatalogMap, type TileflowIconCatalogRenderedDensity, type TileflowIconCatalogSourceFormat, TileflowIconCompilationError, type TileflowIconCompilationIssue, type TileflowIconCompilationTarget, type TileflowIconReplacement, type TileflowMapIconPackageBinding, type TileflowSourceCatalog, compileTileflowIconPackages, getTileflowIconWatchPaths, iconFileExtensions, inspectTileflowIconCatalogs, prepareTileflowCatalogIcons };
290
+ /** One declared icon file, including entries a later contributor eventually replaces. */
291
+ type TileflowIconDirectoryEntry = {
292
+ byteLength: number;
293
+ format: TileflowIconCatalogSourceFormat;
294
+ id: string;
295
+ kind: 'icon' | 'pattern';
296
+ /** Authoring-relative display path. Absolute filesystem paths never leave this module. */
297
+ path: string;
298
+ };
299
+ /** The decoded original behind one effective local winner. */
300
+ type TileflowIconDirectorySourceFile = TileflowIconDirectoryEntry & {
301
+ dimensions: DecodedIconDimensions;
302
+ };
303
+ type ReadTileflowIconDirectoryResult = {
304
+ containmentRoot: string;
305
+ entries: TileflowIconDirectoryEntry[];
306
+ iconIds: string[];
307
+ /** Authoring label: a config-relative directory or a safe `npm:<package>/<path>` descriptor. */
308
+ label: string;
309
+ realPath: string;
310
+ render: (ids: readonly string[]) => Promise<Array<{
311
+ icon: TileflowRenderedIcon;
312
+ identity: TileflowEffectiveIconSourceIdentity;
313
+ source: TileflowIconDirectorySourceFile;
314
+ sourceBytes: number;
315
+ }>>;
316
+ watchPath?: string;
317
+ };
318
+ /** A bounded local source snapshot used by the explicit shared-composition build port. */
319
+ declare function readTileflowIconDirectory(source: TileflowIconDirectory, options: {
320
+ baseDirectory: string;
321
+ /** Trusted caller-owned diagnostic prefix, such as `maps.main.icons`. */
322
+ configPath?: string;
323
+ cwd: string;
324
+ /** Ordinal of this directory inside the declared contributor sequence. */
325
+ ordinal?: number;
326
+ target: TileflowIconCompilationTarget;
327
+ }): Promise<ReadTileflowIconDirectoryResult>;
328
+
329
+ export { type CompileTileflowIconPackagesOptions, type CompileTileflowIconPackagesResult, type CompiledTileflowIconPackage, type CompiledTileflowIconPackageFile, type ComposeTileflowIconSourcesOptions, type InspectTileflowIconCatalogsOptions, type PreparedTileflowBuildCatalog, type PreparedTileflowCatalog, type ReadTileflowIconDirectoryResult, type TileflowBuildAsset, type TileflowComposedIconContributor, type TileflowComposedIconSources, type TileflowComposedIconWinner, type TileflowIconCacheOptions, type TileflowIconCatalog, type TileflowIconCatalogAtlasRectangle, type TileflowIconCatalogContributor, type TileflowIconCatalogIcon, type TileflowIconCatalogIconSource, type TileflowIconCatalogInspection, type TileflowIconCatalogMap, type TileflowIconCatalogRenderedDensity, type TileflowIconCatalogSourceFormat, TileflowIconCompilationError, type TileflowIconCompilationIssue, type TileflowIconCompilationTarget, type TileflowIconDirectoryEntry, type TileflowIconDirectorySourceFile, type TileflowIconReplacement, type TileflowIconResolutionOptions, type TileflowMapIconPackageBinding, type TileflowRenderedIcon, type TileflowRenderedIconCell, type TileflowSourceCatalog, type VerifiedTileflowIconArtifact, compileTileflowIconPackages, composeTileflowIconSources, getTileflowIconCacheDirectory, getTileflowIconWatchPaths, iconFileExtensions, inspectTileflowIconCatalogs, loadTileflowIconSetArtifact, packTileflowRenderedIcons, prepareTileflowCatalogIcons, readTileflowIconDirectory, readTileflowIconsLockfile, readTileflowIconsLockfileText, storeTileflowIconSetArtifact, verifyTileflowIconArtifact, writeTileflowIconsLockfile };
package/dist/icons.js CHANGED
@@ -1,17 +1,37 @@
1
1
  import {
2
2
  TileflowIconCompilationError,
3
3
  compileTileflowIconPackages,
4
+ composeTileflowIconSources,
5
+ getTileflowIconCacheDirectory,
4
6
  getTileflowIconWatchPaths,
5
7
  iconFileExtensions,
6
8
  inspectTileflowIconCatalogs,
7
- prepareTileflowCatalogIcons
8
- } from "./chunk-CENQR5Q2.js";
9
- import "./chunk-BL3FK4GO.js";
9
+ loadTileflowIconSetArtifact,
10
+ packTileflowRenderedIcons,
11
+ prepareTileflowCatalogIcons,
12
+ readTileflowIconDirectory,
13
+ readTileflowIconsLockfile,
14
+ readTileflowIconsLockfileText,
15
+ storeTileflowIconSetArtifact,
16
+ verifyTileflowIconArtifact,
17
+ writeTileflowIconsLockfile
18
+ } from "./chunk-D2QWYYIF.js";
19
+ import "./chunk-7C4F6GAX.js";
10
20
  export {
11
21
  TileflowIconCompilationError,
12
22
  compileTileflowIconPackages,
23
+ composeTileflowIconSources,
24
+ getTileflowIconCacheDirectory,
13
25
  getTileflowIconWatchPaths,
14
26
  iconFileExtensions,
15
27
  inspectTileflowIconCatalogs,
16
- prepareTileflowCatalogIcons
28
+ loadTileflowIconSetArtifact,
29
+ packTileflowRenderedIcons,
30
+ prepareTileflowCatalogIcons,
31
+ readTileflowIconDirectory,
32
+ readTileflowIconsLockfile,
33
+ readTileflowIconsLockfileText,
34
+ storeTileflowIconSetArtifact,
35
+ verifyTileflowIconArtifact,
36
+ writeTileflowIconsLockfile
17
37
  };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { CreateTileflowArtifactPlanOptions, TileflowArtifactAcquisition, TileflowArtifactDiagnostic, TileflowArtifactFile, TileflowArtifactInputGraph, TileflowArtifactPlan, TileflowArtifactSession, TileflowArtifactSessionOptions, TileflowArtifactSessionState, TileflowBuildArtifacts, TileflowBuildArtifactsOptions, TileflowBuildStyleInspections, TileflowHostedManifestOverwriteError, TileflowLocalTilesetFile, TileflowLocalTilesetProductionError, TileflowManifestOptions, WriteTileflowArtifactPlanOptions, WriteTileflowBuildArtifactsOptions, assertNoLocalTilesetsForProduction, assertTileflowSelfHostedManifestTarget, createTileflowArtifactDiagnostics, createTileflowArtifactPlan, createTileflowArtifactSession, createTileflowBuildArtifacts, createTileflowBuildProvenance, createTileflowManifest, createTileflowStyle, createTileflowStyles, disposeTileflowBuildArtifacts, getTileflowArtifactFiles, getTileflowAssetBasePath, getTileflowAssetFileName, getTileflowWatchPaths, isTileflowArtifactInputPath, joinTileflowPublicUrl, normalizeTileflowBasePath, prepareTileflowLocalTilesets, refreshTileflowArtifactSession, resolveTileflowArtifactPublicUrls, tileflowArtifactInventoryFileName, tileflowArtifactPlanSchemaVersion, tileflowArtifactSessionSchemaVersion, writeTileflowArtifactPlan, writeTileflowBuildArtifacts } from './artifacts.js';
2
2
  export { LoadTileflowConfigOptions, LoadedTileflowConfig, TileflowValidationError, assertValidTileflowConfig, defaultTileflowApiUrl, defaultTileflowConfigPath, defaultTileflowManifestPath, getFirstTileflowMapName, getTileflowMapNames, loadTileflowConfig, loadTileflowConfigWithInputs, loadValidTileflowConfig, loadValidTileflowConfigWithInputs } from './config.js';
3
3
  export { CompiledTileflowFontBundle, PrepareTileflowStyleFontsOptions, PreparedTileflowStyleFonts, TileflowFontCompilationError, TileflowFontCompilationIssue, TileflowFontCompilationTarget, bindTileflowStyleFontBundle, getTileflowFontWatchPaths, prepareTileflowStyleFonts, replaceTileflowStyleFontSources } from './fonts.js';
4
- export { CompileTileflowIconPackagesResult, CompiledTileflowIconPackage, CompiledTileflowIconPackageFile, InspectTileflowIconCatalogsOptions, PreparedTileflowBuildCatalog, PreparedTileflowCatalog, TileflowBuildAsset, TileflowIconCatalog, TileflowIconCatalogAtlasRectangle, TileflowIconCatalogIcon, TileflowIconCatalogInspection, TileflowIconCatalogMap, TileflowIconCatalogRenderedDensity, TileflowIconCatalogSourceFormat, TileflowIconCompilationError, TileflowIconCompilationIssue, TileflowIconCompilationTarget, TileflowIconReplacement, TileflowMapIconPackageBinding, TileflowSourceCatalog, compileTileflowIconPackages, getTileflowIconWatchPaths, iconFileExtensions, inspectTileflowIconCatalogs, prepareTileflowCatalogIcons } from './icons.js';
4
+ export { CompileTileflowIconPackagesOptions, CompileTileflowIconPackagesResult, CompiledTileflowIconPackage, CompiledTileflowIconPackageFile, ComposeTileflowIconSourcesOptions, InspectTileflowIconCatalogsOptions, PreparedTileflowBuildCatalog, PreparedTileflowCatalog, ReadTileflowIconDirectoryResult, TileflowBuildAsset, TileflowComposedIconContributor, TileflowComposedIconSources, TileflowComposedIconWinner, TileflowIconCacheOptions, TileflowIconCatalog, TileflowIconCatalogAtlasRectangle, TileflowIconCatalogContributor, TileflowIconCatalogIcon, TileflowIconCatalogIconSource, TileflowIconCatalogInspection, TileflowIconCatalogMap, TileflowIconCatalogRenderedDensity, TileflowIconCatalogSourceFormat, TileflowIconCompilationError, TileflowIconCompilationIssue, TileflowIconCompilationTarget, TileflowIconDirectoryEntry, TileflowIconDirectorySourceFile, TileflowIconReplacement, TileflowIconResolutionOptions, TileflowMapIconPackageBinding, TileflowRenderedIcon, TileflowRenderedIconCell, TileflowSourceCatalog, VerifiedTileflowIconArtifact, compileTileflowIconPackages, composeTileflowIconSources, getTileflowIconCacheDirectory, getTileflowIconWatchPaths, iconFileExtensions, inspectTileflowIconCatalogs, loadTileflowIconSetArtifact, packTileflowRenderedIcons, prepareTileflowCatalogIcons, readTileflowIconDirectory, readTileflowIconsLockfile, readTileflowIconsLockfileText, storeTileflowIconSetArtifact, verifyTileflowIconArtifact, writeTileflowIconsLockfile } from './icons.js';
5
5
  export { TileflowConfigInspection, TileflowConfigInspectionError, TileflowConfigInspectionOptions, TileflowFeatureInspection, TileflowFeatureInspectionOptions, TileflowInspectedFeature, TileflowInspectedProperty, TileflowMapLineageInspection, TileflowMapMergeProvenance, TileflowResolvedMapInspection, TileflowThemeContractInspection, TileflowThemeDifferenceInspection, TileflowThemeInspection, inspectLoadedTileflowConfig, inspectTileflowConfig, inspectTileflowFeatures, sanitizeTileflowInspectableValue } from './inspect.js';
6
6
  export { ResolvedTileflowPreview, TileflowLandmark, TileflowLandmarkArchive, TileflowLandmarkAxisConvention, TileflowLandmarkManifestV2, TileflowLandmarkModel, TileflowPreviewSelection, TileflowPreviewSelectionError, normalizeTileflowLandmarkManifest, readBoundedTileflowJsonResponse, readBoundedTileflowResponse, renderTileflowPreviewHtml, resolveTileflowPreview } from './preview.js';
7
7
  export { TileflowComparisonMode, TileflowComparisonOptions, TileflowComparisonRequestHandler, TileflowComparisonSide, TileflowDevRequestHandler, TileflowDevRequestHandlerOptions, createTileflowArtifactStatus, createTileflowComparisonRequestHandler, createTileflowDevRequestHandler, createTileflowNodeRequest, getTileflowRequestPath, getTileflowStyleInspectionSelection, getTileflowStyleSelection, isTileflowRequestUrl, tileflowComparisonSchemaVersion, writeTileflowNodeResponse } from './server.js';
package/dist/index.js CHANGED
@@ -31,7 +31,7 @@ import {
31
31
  isTileflowRequestUrl,
32
32
  tileflowComparisonSchemaVersion,
33
33
  writeTileflowNodeResponse
34
- } from "./chunk-G5FUSWNN.js";
34
+ } from "./chunk-3WCEHA27.js";
35
35
  import {
36
36
  TileflowHostedManifestOverwriteError,
37
37
  TileflowLocalTilesetProductionError,
@@ -56,7 +56,7 @@ import {
56
56
  tileflowArtifactSessionSchemaVersion,
57
57
  writeTileflowArtifactPlan,
58
58
  writeTileflowBuildArtifacts
59
- } from "./chunk-XTRHREXO.js";
59
+ } from "./chunk-W3X2JXYS.js";
60
60
  import {
61
61
  inspectTileflowPmtiles,
62
62
  inspectTileflowPmtilesForLocalUse
@@ -72,16 +72,26 @@ import {
72
72
  prepareTileflowStyleFonts,
73
73
  replaceTileflowStyleFontSources,
74
74
  resolveTileflowArtifactPublicUrls
75
- } from "./chunk-RSBV4L2Y.js";
75
+ } from "./chunk-UTRO4IBQ.js";
76
76
  import {
77
77
  TileflowIconCompilationError,
78
78
  compileTileflowIconPackages,
79
+ composeTileflowIconSources,
80
+ getTileflowIconCacheDirectory,
79
81
  getTileflowIconWatchPaths,
80
82
  iconFileExtensions,
81
83
  inspectTileflowIconCatalogs,
82
- prepareTileflowCatalogIcons
83
- } from "./chunk-CENQR5Q2.js";
84
- import "./chunk-BL3FK4GO.js";
84
+ loadTileflowIconSetArtifact,
85
+ packTileflowRenderedIcons,
86
+ prepareTileflowCatalogIcons,
87
+ readTileflowIconDirectory,
88
+ readTileflowIconsLockfile,
89
+ readTileflowIconsLockfileText,
90
+ storeTileflowIconSetArtifact,
91
+ verifyTileflowIconArtifact,
92
+ writeTileflowIconsLockfile
93
+ } from "./chunk-D2QWYYIF.js";
94
+ import "./chunk-7C4F6GAX.js";
85
95
  import {
86
96
  TileflowStyleValidationError,
87
97
  assertValidTileflowStyle,
@@ -117,6 +127,7 @@ export {
117
127
  assertValidTileflowStyle,
118
128
  bindTileflowStyleFontBundle,
119
129
  compileTileflowIconPackages,
130
+ composeTileflowIconSources,
120
131
  createTileflowArtifactDiagnostics,
121
132
  createTileflowArtifactPlan,
122
133
  createTileflowArtifactSession,
@@ -141,6 +152,7 @@ export {
141
152
  getTileflowAssetBasePath,
142
153
  getTileflowAssetFileName,
143
154
  getTileflowFontWatchPaths,
155
+ getTileflowIconCacheDirectory,
144
156
  getTileflowIconWatchPaths,
145
157
  getTileflowMapNames,
146
158
  getTileflowRequestPath,
@@ -159,15 +171,20 @@ export {
159
171
  joinTileflowPublicUrl,
160
172
  loadTileflowConfig,
161
173
  loadTileflowConfigWithInputs,
174
+ loadTileflowIconSetArtifact,
162
175
  loadValidTileflowConfig,
163
176
  loadValidTileflowConfigWithInputs,
164
177
  normalizeTileflowBasePath,
165
178
  normalizeTileflowLandmarkManifest,
179
+ packTileflowRenderedIcons,
166
180
  prepareTileflowCatalogIcons,
167
181
  prepareTileflowLocalTilesets,
168
182
  prepareTileflowStyleFonts,
169
183
  readBoundedTileflowJsonResponse,
170
184
  readBoundedTileflowResponse,
185
+ readTileflowIconDirectory,
186
+ readTileflowIconsLockfile,
187
+ readTileflowIconsLockfileText,
171
188
  refreshTileflowArtifactSession,
172
189
  renderTileflowPreviewHtml,
173
190
  replaceTileflowStyleFontSources,
@@ -176,13 +193,16 @@ export {
176
193
  sanitizeDiagnosticSecrets,
177
194
  sanitizeTileflowInspectableValue,
178
195
  serializeTileflowCommandDocument,
196
+ storeTileflowIconSetArtifact,
179
197
  tileflowArtifactInventoryFileName,
180
198
  tileflowArtifactPlanSchemaVersion,
181
199
  tileflowArtifactSessionSchemaVersion,
182
200
  tileflowCommandDocumentSchemaVersion,
183
201
  tileflowComparisonSchemaVersion,
184
202
  validateTileflowStyle,
203
+ verifyTileflowIconArtifact,
185
204
  writeTileflowArtifactPlan,
186
205
  writeTileflowBuildArtifacts,
206
+ writeTileflowIconsLockfile,
187
207
  writeTileflowNodeResponse
188
208
  };
package/dist/server.js CHANGED
@@ -9,11 +9,11 @@ import {
9
9
  isTileflowRequestUrl,
10
10
  tileflowComparisonSchemaVersion,
11
11
  writeTileflowNodeResponse
12
- } from "./chunk-G5FUSWNN.js";
12
+ } from "./chunk-3WCEHA27.js";
13
13
  import {
14
14
  createTileflowArtifactDiagnostics,
15
15
  tileflowArtifactSessionSchemaVersion
16
- } from "./chunk-XTRHREXO.js";
16
+ } from "./chunk-W3X2JXYS.js";
17
17
  import "./chunk-ONYQNLNA.js";
18
18
  import {
19
19
  getTileflowAssetBasePath,
@@ -21,9 +21,9 @@ import {
21
21
  joinTileflowPublicUrl,
22
22
  normalizeTileflowBasePath,
23
23
  resolveTileflowArtifactPublicUrls
24
- } from "./chunk-RSBV4L2Y.js";
25
- import "./chunk-CENQR5Q2.js";
26
- import "./chunk-BL3FK4GO.js";
24
+ } from "./chunk-UTRO4IBQ.js";
25
+ import "./chunk-D2QWYYIF.js";
26
+ import "./chunk-7C4F6GAX.js";
27
27
  import "./chunk-KDFTE4Q5.js";
28
28
  import "./chunk-6MGFMKG3.js";
29
29
  import "./chunk-D4OE4ITL.js";