tileflow 0.1.0-alpha.17 → 0.1.0-alpha.19
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 +5 -29
- package/dist/index.js +2 -2
- package/package.json +9 -10
- package/docs/agent-icon-composition.md +0 -68
- package/docs/build-artifacts.md +0 -40
- package/docs/cli-setup-and-defaults.md +0 -56
- package/docs/command-families.md +0 -36
- package/docs/coordinates.md +0 -68
- package/docs/deterministic-agent-diagnostics.md +0 -47
- package/docs/hosted-authentication-and-deploy.md +0 -237
- package/docs/inspect-vector-features.md +0 -19
- package/docs/local-visual-feedback.md +0 -268
- package/docs/map-authoring.md +0 -132
- package/docs/native-artifacts.md +0 -174
- package/docs/read-only-icon-comparison.md +0 -81
- package/docs/team-3d-models.md +0 -36
- package/docs/team-icon-sets.md +0 -130
package/README.md
CHANGED
|
@@ -59,9 +59,6 @@ for reproducible evidence, and `compare` for saved captures, semantic edits, sty
|
|
|
59
59
|
baselines. `preview` opens Inspector. These tools work in independent projects with
|
|
60
60
|
custom maps and data; official maps are optional.
|
|
61
61
|
|
|
62
|
-
See the [map authoring workflow](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/docs/map-authoring.md)
|
|
63
|
-
for command examples, bounded JSON queries, compatible aliases and efficient agent workflows.
|
|
64
|
-
|
|
65
62
|
## Preview and compare
|
|
66
63
|
|
|
67
64
|
`preview` binds to `127.0.0.1` by default. `--host` explicitly accepts an IP literal or `localhost`;
|
|
@@ -111,9 +108,7 @@ npx tileflow inspect session --url http://127.0.0.1:3333 --json
|
|
|
111
108
|
```
|
|
112
109
|
|
|
113
110
|
Use the origin printed by your running preview. This reads browser observations, including their
|
|
114
|
-
age and stale flag; exact source lines and token ownership are not inferred.
|
|
115
|
-
[Inspector workflow](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/docs/map-authoring.md#work-with-a-person-and-an-agent)
|
|
116
|
-
for storage and context bounds.
|
|
111
|
+
age and stale flag; exact source lines and token ownership are not inferred.
|
|
117
112
|
|
|
118
113
|
`--api-base-url` or `TILEFLOW_API_URL` changes the API origin used by the official preview sources.
|
|
119
114
|
It does not change the map's authored data ownership or publish any data.
|
|
@@ -122,8 +117,6 @@ It does not change the map's authored data ownership or publish any data.
|
|
|
122
117
|
|
|
123
118
|
Captures return reusable IDs. Compare two saved renders with
|
|
124
119
|
`tileflow compare --before <id> --after <id> --json`; no config, browser, or network is needed.
|
|
125
|
-
The [authoring workflow](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/docs/map-authoring.md)
|
|
126
|
-
describes storage, integrity checks, mismatch outcomes and watch-session reuse.
|
|
127
120
|
|
|
128
121
|
Add a concrete-theme scene to `tileflow.config.ts`:
|
|
129
122
|
|
|
@@ -176,7 +169,7 @@ Do not run a separate `tileflow preview` server beside the application.
|
|
|
176
169
|
|
|
177
170
|
## Render a timed shot
|
|
178
171
|
|
|
179
|
-
Commit a
|
|
172
|
+
Commit a capture shot
|
|
180
173
|
under `shots` on the same map: a concrete theme, a viewport, and two or more center-camera
|
|
181
174
|
keyframes, optionally with a theme blend. Then render it:
|
|
182
175
|
|
|
@@ -209,8 +202,7 @@ receipt. Use `visual compare` for an authenticated two-style review with matched
|
|
|
209
202
|
renderer, and data identity. Neither operation approves a baseline. Capture watch mode emits NDJSON
|
|
210
203
|
generation events rather than a single JSON document.
|
|
211
204
|
|
|
212
|
-
|
|
213
|
-
documents readiness, receipts, comparison limits, and CLI output formats.
|
|
205
|
+
Use `tileflow capture --help` and `tileflow compare --help` for installed command options.
|
|
214
206
|
|
|
215
207
|
## Publish data and deploy a map
|
|
216
208
|
|
|
@@ -316,26 +308,10 @@ Missing fonts or sprites require the complete prepared output. Hosted compatibil
|
|
|
316
308
|
be fixed before authentication or upload, not bypassed with repeated deployment attempts.
|
|
317
309
|
|
|
318
310
|
See [deployment documentation](https://tileflow.dev/docs/deploy),
|
|
319
|
-
[SDK responsibility boundaries](https://github.com/tileflow/tileflow-sdk/blob/main/
|
|
311
|
+
[SDK responsibility boundaries](https://github.com/tileflow/tileflow-sdk/blob/main/README.md),
|
|
320
312
|
and [issues](https://github.com/tileflow/tileflow-sdk/issues). Source `main` may be newer than npm;
|
|
321
313
|
use the installed CLI's help and generated contracts for that release.
|
|
322
314
|
|
|
323
|
-
## Detailed guides
|
|
324
|
-
|
|
325
|
-
These guides are also included in the installed package under `docs/`. They describe this source
|
|
326
|
-
revision; prefer the installed copy when working with an older release.
|
|
327
|
-
|
|
328
|
-
- [CLI setup and defaults](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/docs/cli-setup-and-defaults.md)
|
|
329
|
-
- [Build artifacts](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/docs/build-artifacts.md)
|
|
330
|
-
- [Deterministic agent diagnostics](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/docs/deterministic-agent-diagnostics.md)
|
|
331
|
-
- [Coordinates](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/docs/coordinates.md)
|
|
332
|
-
- [Command families](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/docs/command-families.md)
|
|
333
|
-
- [Local visual feedback](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/docs/local-visual-feedback.md)
|
|
334
|
-
- [Inspect vector features](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/docs/inspect-vector-features.md)
|
|
335
|
-
- [Hosted authentication and deploy](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/docs/hosted-authentication-and-deploy.md)
|
|
336
|
-
- [Agent icon composition](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/docs/agent-icon-composition.md)
|
|
337
|
-
- [Read-only icon comparison](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/docs/read-only-icon-comparison.md)
|
|
338
|
-
|
|
339
315
|
## Validate icon representations
|
|
340
316
|
|
|
341
317
|
`tileflow validate`, development and build resolve icon capabilities before returning a map.
|
|
@@ -348,4 +324,4 @@ reports the invalid generation while retaining its last valid artifact.
|
|
|
348
324
|
|
|
349
325
|
Declare defaults in `tileflow.icons.json`; inspect effective appearances and text-fitting layouts with
|
|
350
326
|
`tileflow icons list --json`. Diff reports detect default-only changes and show rendered previews.
|
|
351
|
-
See [Author recolorable and adaptable icons](https://github.com/tileflow/tileflow-sdk/blob/main/packages/dev/
|
|
327
|
+
See [Author recolorable and adaptable icons](https://github.com/tileflow/tileflow-sdk/blob/main/packages/dev/README.md) for the source profile and halo bounds.
|
package/dist/index.js
CHANGED
|
@@ -7329,7 +7329,7 @@ function registerModelCommands(program2, dependencies) {
|
|
|
7329
7329
|
return emitFailure(
|
|
7330
7330
|
options.json,
|
|
7331
7331
|
"no_building_models",
|
|
7332
|
-
"No building models were found. A building model is a .glb whose materials name its parts
|
|
7332
|
+
"No building models were found. A building model is a .glb whose materials name its parts, such as surface, glass, roof or water; one whose materials name only bark, leaves, fronds or stem is a tree."
|
|
7333
7333
|
);
|
|
7334
7334
|
}
|
|
7335
7335
|
const authority = await resolveTeamAuthority(options, ["models:write"], dependencies);
|
|
@@ -7592,7 +7592,7 @@ async function prepareFromPaths(paths) {
|
|
|
7592
7592
|
for (const name of selected)
|
|
7593
7593
|
if (!prepared.buildings[name])
|
|
7594
7594
|
throw new Error(
|
|
7595
|
-
`${display}/${name}.glb is not a building model: its materials must name its parts
|
|
7595
|
+
`${display}/${name}.glb is not a building model: its materials must name its parts, such as surface, glass, roof or water, and not only a tree's.`
|
|
7596
7596
|
);
|
|
7597
7597
|
}
|
|
7598
7598
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tileflow",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.19",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "CLI-only tools for Tileflow config, capture, visual testing, and deploy.",
|
|
6
6
|
"type": "module",
|
|
@@ -25,7 +25,6 @@
|
|
|
25
25
|
},
|
|
26
26
|
"files": [
|
|
27
27
|
"dist",
|
|
28
|
-
"docs",
|
|
29
28
|
"LICENSE"
|
|
30
29
|
],
|
|
31
30
|
"bin": {
|
|
@@ -36,16 +35,16 @@
|
|
|
36
35
|
},
|
|
37
36
|
"dependencies": {
|
|
38
37
|
"@hono/node-server": "2.1.3",
|
|
39
|
-
"@tileflow/capture": ">=0.1.0-alpha.
|
|
40
|
-
"@tileflow/coordinates": ">=0.1.0-alpha.
|
|
41
|
-
"@tileflow/coordinates-runtime": ">=0.1.0-alpha.
|
|
42
|
-
"@tileflow/core": ">=0.1.0-alpha.
|
|
43
|
-
"@tileflow/dev": ">=0.1.0-alpha.
|
|
44
|
-
"@tileflow/maps": ">=0.1.0-alpha.
|
|
38
|
+
"@tileflow/capture": ">=0.1.0-alpha.36 <0.1.0-beta.0",
|
|
39
|
+
"@tileflow/coordinates": ">=0.1.0-alpha.3 <0.1.0-beta.0",
|
|
40
|
+
"@tileflow/coordinates-runtime": ">=0.1.0-alpha.6 <0.1.0-beta.0",
|
|
41
|
+
"@tileflow/core": ">=0.1.0-alpha.43 <0.1.0-beta.0",
|
|
42
|
+
"@tileflow/dev": ">=0.1.0-alpha.39 <0.1.0-beta.0",
|
|
43
|
+
"@tileflow/maps": ">=0.1.0-alpha.17 <0.1.0-beta.0",
|
|
45
44
|
"commander": "^15.0.0",
|
|
46
|
-
"hono": "4.13.
|
|
45
|
+
"hono": "4.13.14",
|
|
47
46
|
"picocolors": "^1.1.1",
|
|
48
|
-
"zod": "^4.
|
|
47
|
+
"zod": "^4.6.7"
|
|
49
48
|
},
|
|
50
49
|
"devDependencies": {
|
|
51
50
|
"@types/pngjs": "6.0.5",
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# Agent icon composition
|
|
2
|
-
|
|
3
|
-
Start with the [tileflow guide](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/README.md) for installation and a complete first example.
|
|
4
|
-
|
|
5
|
-
List the effective local catalog used by the exported map:
|
|
6
|
-
|
|
7
|
-
```sh
|
|
8
|
-
npx tileflow icons list --json
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
The successful stdout contract is one deterministic JSON document followed by exactly one newline.
|
|
12
|
-
Its top-level fields, in order, are `schemaVersion: 3`, `pathBase: "cwd"`, and `maps`.
|
|
13
|
-
Schema version 3 is a compatibility boundary: removing or renaming a field or changing an enum's
|
|
14
|
-
meaning requires a new schema version. Additive optional fields require corresponding documentation
|
|
15
|
-
and tests. It replaces version 2's directory-only shape so a locked `iconSet('@team/set')`
|
|
16
|
-
contributor can be represented without inventing a local path.
|
|
17
|
-
|
|
18
|
-
Each sorted map entry has one `id` and an `icons` value. `icons.kind` is `none` for `icons: []`, or
|
|
19
|
-
`sources` for a prepared ordered composition. A `sources` entry contains:
|
|
20
|
-
|
|
21
|
-
- `contributors`, in the exact left-to-right authoring order. Each has a `kind` of `local`,
|
|
22
|
-
`package` or `icon-set`, a `label` (a config-relative path, a safe `npm:<package>/<path>`
|
|
23
|
-
descriptor, or the canonical `@team/set` reference) and the `iconIds` it declares. Filesystem
|
|
24
|
-
contributors also report `insideWorkingTree`; shared contributors report their exact locked
|
|
25
|
-
`reference` and integer `version`.
|
|
26
|
-
- `finalIds`, the sorted canonical lower-kebab IDs in the resulting sprite;
|
|
27
|
-
- `replacements`, naming the replaced and winning contributor export for every later exact-ID
|
|
28
|
-
replacement, by authored file for filesystem contributors and by `@team/set` for shared ones;
|
|
29
|
-
- `sources`, one entry for each winning ID. A `file` entry carries the cwd-relative `path`, format,
|
|
30
|
-
byte length and intrinsic dimensions; an `icon-set` entry carries the exact `reference` and
|
|
31
|
-
`version` and deliberately has no path, because a shared revision publishes verified generated
|
|
32
|
-
cells rather than original artwork. Both carry the winning `contributor` ordinal.
|
|
33
|
-
- `composition`, the exact ordered receipt when the map declares a shared set, and `null`
|
|
34
|
-
otherwise. It uses `tileflow-icon-composition-v2` when an effective winner has SDF appearance
|
|
35
|
-
or stretch/content layout; metadata-free compositions retain v1;
|
|
36
|
-
- optional `appearances` and `layouts`, keyed by effective icon ID; and
|
|
37
|
-
- `insideWorkingTree` and the deterministic generated `packageHash`.
|
|
38
|
-
|
|
39
|
-
Listing reads the exact `tileflow.icons.lock.json` beside the selected config. It never resolves a
|
|
40
|
-
catalog head, so a newly published revision does not change this output until `tileflow icons
|
|
41
|
-
install`, `update` or `pin` changes the lock. `--cache-dir` selects the verified artifact cache root
|
|
42
|
-
and `--offline` fails a cache miss instead of hydrating it.
|
|
43
|
-
|
|
44
|
-
There is deliberately no parallel catalog registry, provider kind, semantic mapping, external
|
|
45
|
-
sprite branch, or arbitrary source-to-runtime renaming. `<id>.<ext>` publishes `<id>` and the
|
|
46
|
-
reserved pattern form `<id>.pattern.<ext>` also publishes `<id>`. This lets an
|
|
47
|
-
agent answer “which directory wins this icon?” directly from one map record without reconstructing
|
|
48
|
-
hidden provider state. Use `--map <id>` to select one exact map when internal orchestration supplies
|
|
49
|
-
more than one.
|
|
50
|
-
|
|
51
|
-
All reported paths are relative to the invocation working directory. A source outside that tree
|
|
52
|
-
uses `../` and `insideWorkingTree: false`; no absolute path is emitted. Listing follows local
|
|
53
|
-
authoring semantics. Run `npx tileflow validate --target hosted` separately before a
|
|
54
|
-
hosted deploy to check containment, portable IDs, SVG safety, and hosted limits.
|
|
55
|
-
|
|
56
|
-
The Tileflow command performs no authentication or browser/server launch and never writes config,
|
|
57
|
-
repository locks or frontend manifests. A cold cache can download and store the exact public
|
|
58
|
-
sprite artifacts. It performs no network request when every locked artifact is already in the
|
|
59
|
-
verified cache, and `--offline` forbids hydration entirely. `--json` is required; use `--config`
|
|
60
|
-
(or `-c`) to select another config file. It removes an ambient `TILEFLOW_API_KEY` before importing config. As with every config-aware
|
|
61
|
-
command, loading `tileflow.config.ts` executes repository code and is not a sandbox; side effects in
|
|
62
|
-
that code remain the repository's responsibility. Success emits no ANSI or progress prose. Usage,
|
|
63
|
-
config, source, decode, and render failures exit 1, write diagnostics to stderr, and leave stdout
|
|
64
|
-
empty.
|
|
65
|
-
|
|
66
|
-
The output contains no source contents or source hash, rendered cells, atlas coordinates,
|
|
67
|
-
image/base64 payload, credential, timestamp, random value, or absolute path. Open a reported local
|
|
68
|
-
source path with normal repository tools only when the pixels themselves are needed.
|
package/docs/build-artifacts.md
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# Build artifacts
|
|
2
|
-
|
|
3
|
-
Start with the [tileflow guide](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/README.md) for installation and a complete first example.
|
|
4
|
-
|
|
5
|
-
`tileflow build` resolves the exported map lineage, validates executable config and MapLibre
|
|
6
|
-
semantics, compiles its ordered package/local icon directories and selected text provider, and
|
|
7
|
-
writes `manifest.json`, one `styles/<map>/<theme>.json` per concrete appearance, and every referenced
|
|
8
|
-
sprite/font asset. The manifest records `defaultTheme`, optional `systemThemes`, and the exact theme
|
|
9
|
-
catalog; it never flattens a default into a second style alias. A
|
|
10
|
-
map with text has exactly one provider: local/package `fonts` directories or a `glyphs` descriptor
|
|
11
|
-
whose `fontStacks` are explicit. The default output is `dist/tileflow`; choose another directory
|
|
12
|
-
explicitly with `--out`:
|
|
13
|
-
|
|
14
|
-
```sh
|
|
15
|
-
npx tileflow build --out public/tileflow
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
Named hosted sources with `local` archives are for account-free validation, development, preview,
|
|
19
|
-
and capture. `tileflow build` rejects them instead of copying, publishing, or taking ownership of
|
|
20
|
-
user data. For production, either publish managed data explicitly with `tileset publish` or serve
|
|
21
|
-
it from infrastructure owned by the application. A local declaration never selects either path
|
|
22
|
-
implicitly.
|
|
23
|
-
|
|
24
|
-
Preview, capture, and the React/Vue/Svelte adapters register Tileflow's local PMTiles protocol
|
|
25
|
-
before MapLibre reads the compiled Style. Its URL is stable by logical tileset ID; physical local
|
|
26
|
-
snapshot generations do not change Style identity. Standalone Capture retains one snapshot for the
|
|
27
|
-
render. Application Capture uses the application's server; Tileflow's local handler provides
|
|
28
|
-
immutable, ETag-guarded PMTiles reads, but does not freeze every local dataset for the complete
|
|
29
|
-
screenshot window.
|
|
30
|
-
|
|
31
|
-
Build is local and credential-free. Hosted compatibility is a separate
|
|
32
|
-
`tileflow validate --target hosted` preflight. Primary map data must remain Tileflow World; named
|
|
33
|
-
Team sources are validated and resolved independently.
|
|
34
|
-
|
|
35
|
-
## Choose an artifact renderer
|
|
36
|
-
|
|
37
|
-
`validate` and `build` accept `--renderer web|native`; omission preserves the web pipeline and its
|
|
38
|
-
bytes. Native artifacts use a separate `native/` output directory and do not establish a running
|
|
39
|
-
mobile SDK. See [native artifact validation and output](native-artifacts.md) for the target matrix,
|
|
40
|
-
JSON diagnostics, prepared fonts and explicit limitations.
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
# CLI setup and defaults
|
|
2
|
-
|
|
3
|
-
Start with the [tileflow guide](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/README.md) for installation and a complete first example.
|
|
4
|
-
|
|
5
|
-
CLI-only tools for Tileflow config, preview, validation, capture, and hosted deploy. The package
|
|
6
|
-
requires Node.js 22 or newer and intentionally exposes only the `tileflow` binary; importing
|
|
7
|
-
`tileflow` as a JavaScript library is not a supported surface.
|
|
8
|
-
|
|
9
|
-
Local config, validation, build, preview, and hosted-compatibility checks require
|
|
10
|
-
no Tileflow account or API key:
|
|
11
|
-
|
|
12
|
-
```sh
|
|
13
|
-
npm install @tileflow/core@alpha @tileflow/maps@alpha
|
|
14
|
-
npm install --save-dev --save-exact tileflow@alpha
|
|
15
|
-
npx tileflow init
|
|
16
|
-
npx tileflow validate
|
|
17
|
-
npx tileflow validate --target hosted
|
|
18
|
-
npx tileflow build
|
|
19
|
-
npx tileflow preview
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
The generated config imports `streets`, extends it, materializes a custom dark theme from
|
|
23
|
-
`streetsThemes.dark`, and declares the starter's theme family, modules, and view. Streets already
|
|
24
|
-
owns its complete icon and glyph providers, so the leaf does not repeat font stacks or know a
|
|
25
|
-
delivery URL.
|
|
26
|
-
|
|
27
|
-
Install the exact project dependency first; then `npx tileflow` runs its local executable. Other
|
|
28
|
-
package managers work; use the equivalent command for the lockfile already owned by the project.
|
|
29
|
-
|
|
30
|
-
`tileflow preview` previews the map exported by `tileflow.config.ts` and uses its configured `view`.
|
|
31
|
-
Select one of that map's committed standalone scenes explicitly:
|
|
32
|
-
|
|
33
|
-
```sh
|
|
34
|
-
npx tileflow preview --scene madrid-mobile
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
To work on another map, point `--config` at another singular config. Multi-map catalogs are internal
|
|
38
|
-
orchestration used by this repository's workbench and are not a second public config shape.
|
|
39
|
-
|
|
40
|
-
The `preview` name distinguishes this SDK preview server from an application's own `npm run dev`
|
|
41
|
-
process.
|
|
42
|
-
|
|
43
|
-
`--api-base-url` selects the origin used by official World, Bathymetry vector, Bathymetry DEM,
|
|
44
|
-
Nautical, and terrain TileJSON sources in the generated preview style. In particular, a hybrid
|
|
45
|
-
Bathymetry map resolves `/tiles/bathymetry/tiles.json` and `/tiles/bathymetry/dem/tiles.json` from
|
|
46
|
-
that one origin. `TILEFLOW_API_URL` supplies the same value when the flag is omitted, which lets a
|
|
47
|
-
local tiles stack serve all sidecars without changing map authoring.
|
|
48
|
-
|
|
49
|
-
The preview binds only `127.0.0.1` by default. Network exposure is never implicit. To bind another
|
|
50
|
-
interface, pass one explicit IP literal (or `localhost`) with `--host`, for example
|
|
51
|
-
`tileflow preview --host 192.0.2.10`. URL-, path-, and hostname-shaped values are rejected.
|
|
52
|
-
|
|
53
|
-
A map preview accepts `--theme <concrete-name>`; omission selects its declared default. A scene
|
|
54
|
-
preview applies its committed concrete theme, camera, and CSS viewport dimensions. Capture remains the
|
|
55
|
-
authority for exact DPR and pixels. Scenes whose target is an application must be viewed through
|
|
56
|
-
that application's normal development server.
|
package/docs/command-families.md
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# Command families
|
|
2
|
-
|
|
3
|
-
Start with the [tileflow guide](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/README.md) for installation and a complete first example.
|
|
4
|
-
|
|
5
|
-
| Family | Commands |
|
|
6
|
-
| ----------------- | ---------------------------------------------------------------------------------------------- |
|
|
7
|
-
| Semantic language | `language manifest`, `language schema` |
|
|
8
|
-
| Map authoring | `init`, `validate`, `inspect`, `explain`, `semantic-diff`, `build`, `preview` |
|
|
9
|
-
| Local evidence | `setup capture`, `capture`, `visual compare`, `visual analyze`, `visual diff`, `visual update` |
|
|
10
|
-
| Data and assets | `tileset inspect`, `tileset publish/list/status/purge`, `inspect features`, `icons list/diff` |
|
|
11
|
-
| Team Icon Sets | `icon-set publish/list/status/versions/uses/archive/unarchive/purge` |
|
|
12
|
-
| Team 3D models | `models publish/list/status/restore/purge` |
|
|
13
|
-
| Repository locks | `icons install`, `icons update`, `icons pin` |
|
|
14
|
-
| Account | `login`, `logout`, `whoami` |
|
|
15
|
-
| Hosted delivery | `deploy`, `status` |
|
|
16
|
-
|
|
17
|
-
Run `tileflow <command> --help` (or the family help, such as `tileflow icons --help`) for the exact
|
|
18
|
-
arguments and bounded JSON modes. `preview` defaults to the existing web renderer. The explicit
|
|
19
|
-
`preview --renderer native` mode serves watched `native-v1` artifacts only;
|
|
20
|
-
Metro remains the React Native JavaScript development server. See
|
|
21
|
-
[Native artifacts and local preview](./native-artifacts.md) for the endpoint and qualification
|
|
22
|
-
boundary.
|
|
23
|
-
|
|
24
|
-
`icon-set` and `icons` are deliberately separate. `icon-set` needs Team authority and changes the
|
|
25
|
-
remote catalog. `icons list --json` needs no credential; a cold cache may download exact public
|
|
26
|
-
artifacts. `icons diff` requires a managed `--map-id`, the configured map ID in `--against`, and
|
|
27
|
-
`status:read` authority for its hosted baseline. `icons install|update|pin` use Team `icons:read`
|
|
28
|
-
authority when resolving revisions and are the only commands that select revisions or write
|
|
29
|
-
`tileflow.icons.lock.json`. See the
|
|
30
|
-
[Team Icon Set workflow](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/docs/team-icon-sets.md).
|
|
31
|
-
|
|
32
|
-
`models` publishes and manages the Team 3D models that maps place by name; see
|
|
33
|
-
[Team 3D models](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/docs/team-3d-models.md).
|
|
34
|
-
|
|
35
|
-
The hidden `projects` command family lists and manages the internal application destinations of an
|
|
36
|
-
account for support. It is not part of the ordinary workflow or the product catalog.
|
package/docs/coordinates.md
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# Coordinates
|
|
2
|
-
|
|
3
|
-
Start with the [tileflow guide](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/README.md) for installation and a complete first example.
|
|
4
|
-
|
|
5
|
-
These local commands require an explicitly provided compatible runtime distribution. No public
|
|
6
|
-
native runtime download is currently offered; package installation or the default setup URL does
|
|
7
|
-
not supply one. The verified production profile is Linux x64 on Debian 12, glibc 2.36 and Node 24.
|
|
8
|
-
The examples below use development artifacts and do not establish public platform support.
|
|
9
|
-
|
|
10
|
-
Coordinates commands use a locally provisioned execution release. They do not use Map
|
|
11
|
-
configuration, account state, or a Hosted fallback. Provision first from a distribution source, then
|
|
12
|
-
run the local commands against the active cache entry or an explicit runtime directory.
|
|
13
|
-
|
|
14
|
-
```sh
|
|
15
|
-
tileflow setup coordinates --source /path/to/distribution.json --cache-dir /path/to/coordinates-cache --development --json
|
|
16
|
-
tileflow coordinates search --query ETRS89 --runtime-dir /path/to/installed-release --development --json
|
|
17
|
-
tileflow coordinates describe --id EPSG:25830 --runtime-dir /path/to/installed-release --development --json
|
|
18
|
-
tileflow coordinates operations --from EPSG:4258 --to EPSG:25832 --runtime-dir /path/to/installed-release --development --json
|
|
19
|
-
tileflow coordinates transform --from EPSG:4258 --to EPSG:25832 --positions '[[12,55]]' --runtime-dir /path/to/installed-release --development --json
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
`setup coordinates --source` accepts a distribution URL, a local `distribution.json`, or a directory
|
|
23
|
-
that contains one. `--archive` is a local archive alias and rejects URLs. Setup verifies every asset
|
|
24
|
-
declared by the selected distribution before it records the active release. `--development` is
|
|
25
|
-
required for a development distribution.
|
|
26
|
-
|
|
27
|
-
Every execution command accepts `--runtime-dir`, `--release`, and `--development`. With no
|
|
28
|
-
`--runtime-dir`, it opens the cache entry selected by setup. `search` accepts `--query`, `describe`
|
|
29
|
-
accepts `--id`, `operations` accepts `--from` and `--to`, and `transform` also accepts JSON
|
|
30
|
-
`--positions`.
|
|
31
|
-
|
|
32
|
-
For a complete request, use exactly one of `--request '<json>'` or `--input <file|->`. These forms
|
|
33
|
-
cannot be combined with the command's convenience request flags. Input is limited to 32 KiB, must be
|
|
34
|
-
valid UTF-8 JSON, and `-` reads standard input. Success writes one JSON document to stdout. A
|
|
35
|
-
structured failure writes one JSON document to stderr and exits with status 1. Plain `--help` remains
|
|
36
|
-
human-readable; `--help --json` is a structured failure.
|
|
37
|
-
|
|
38
|
-
`tileflow explain` compiles exactly one map/theme selection through `createStyleResult()` and emits
|
|
39
|
-
its structured `report` and safe compiler `diagnostics`; it deliberately omits the usually large
|
|
40
|
-
MapLibre `style`. In a singular config, `--map` is optional; a multi-map workbench requires it.
|
|
41
|
-
`--theme` defaults to that map's declared default. `--inspection` adds opt-in, read-only
|
|
42
|
-
physical-output provenance to the report. Its physical layer IDs and indexes are diagnostic
|
|
43
|
-
observations only: they are not stable application or authoring targets, and no semantic operation
|
|
44
|
-
accepts them. The JSON document has this stable projection:
|
|
45
|
-
|
|
46
|
-
```json
|
|
47
|
-
{
|
|
48
|
-
"schemaVersion": 1,
|
|
49
|
-
"command": "explain",
|
|
50
|
-
"ok": true,
|
|
51
|
-
"selection": {"map": "madrid", "theme": "dark"},
|
|
52
|
-
"authoringManifestSchemaVersion": 2,
|
|
53
|
-
"compilation": {"ok": true, "diagnostics": [], "report": {}},
|
|
54
|
-
"diagnostics": []
|
|
55
|
-
}
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
`tileflow semantic-diff --from-config <path> --to-config <path>` compares the sole map exported by
|
|
59
|
-
each ordinary config, which is the normal agent workflow for reviewing a change across two files or
|
|
60
|
-
checkouts. If either endpoint is a multi-map `*.workspace.ts`, select that endpoint explicitly with
|
|
61
|
-
`--from-map` or `--to-map`; selectors are rejected for singular configs. The existing
|
|
62
|
-
`--config <workspace> --from <map> --to <map>` form remains as the same-workspace shortcut. Paired
|
|
63
|
-
config options and workspace options cannot be mixed.
|
|
64
|
-
|
|
65
|
-
The successful document adds `diff`, whose exact core shape is `{schemaVersion, from, to, summary,
|
|
66
|
-
changes}`; each change is `add`, `remove`, or `change` at an RFC 6901 JSON Pointer. Differences are
|
|
67
|
-
informational, so a non-empty diff still exits successfully. Selection, load, validation, asset, or
|
|
68
|
-
compilation failures leave stdout empty and emit one safe structured document on stderr.
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# Deterministic agent diagnostics
|
|
2
|
-
|
|
3
|
-
Start with the [tileflow guide](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/README.md) for installation and a complete first example.
|
|
4
|
-
|
|
5
|
-
Use JSON mode when an agent or CI job needs to validate or reason about the resolved config:
|
|
6
|
-
|
|
7
|
-
```sh
|
|
8
|
-
npx tileflow validate --json
|
|
9
|
-
npx tileflow inspect --json
|
|
10
|
-
npx tileflow inspect --map madrid --json
|
|
11
|
-
npx tileflow language manifest --json
|
|
12
|
-
npx tileflow language schema --json
|
|
13
|
-
npx tileflow explain --map madrid --theme dark --json
|
|
14
|
-
npx tileflow semantic-diff --from-config before/tileflow.config.ts --to-config after/tileflow.config.ts --json
|
|
15
|
-
npx tileflow semantic-diff --config maps.workspace.ts --from before --to after --json
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
`validate`, `inspect`, `explain`, and `semantic-diff` success writes exactly one
|
|
19
|
-
schema-version-1 command envelope to stdout. The two discovery commands intentionally return their
|
|
20
|
-
contracts raw instead of wrapping them: `language manifest --json` emits authoring-manifest version
|
|
21
|
-
2 and `language schema --json` emits config-reference version 4. Every JSON-mode failure, including
|
|
22
|
-
failure to load either raw discovery contract, leaves stdout empty and writes one schema-version-1
|
|
23
|
-
command failure to stderr. Command summaries and every failure diagnostic contain `phase`, `code`,
|
|
24
|
-
`path`, `severity`, `message`, and a bounded safe `suggestion`; diagnostics are sorted and
|
|
25
|
-
deduplicated deterministically.
|
|
26
|
-
|
|
27
|
-
Config inspection returns the resolved map, parent-to-leaf lineage, declared paths, leaf-level merge
|
|
28
|
-
provenance, and an explicit `themeContract`: default/system selection, shared token schema,
|
|
29
|
-
concrete values, typography, lighting, differences from the default, and stable audit diagnostics.
|
|
30
|
-
It omits the executable input-file graph and sanitizes credentials, URL queries,
|
|
31
|
-
secret-shaped values, data URLs, and absolute filesystem paths. The generated
|
|
32
|
-
[`modules-api-reference.json`](https://github.com/tileflow/tileflow-sdk/blob/main/docs/modules-api-reference.json) is the machine-readable
|
|
33
|
-
map/module schema; its default `authoring` entrypoint tells an agent how to write the singular
|
|
34
|
-
config with `extends` and `scenes`, while its named `resolved` entrypoint matches inspection and
|
|
35
|
-
compiler input. Both are produced from executable core schemas rather than a handwritten parallel
|
|
36
|
-
API list.
|
|
37
|
-
|
|
38
|
-
`tileflow language manifest --json` discovers the complete closed semantic language without loading
|
|
39
|
-
a project: compiler identity, domains and their dependencies, public operations, expression-builder
|
|
40
|
-
signatures and limits, render selectors, semantic fields/features, diagnostics, reports, commands,
|
|
41
|
-
and schema references. `tileflow language schema --json` returns the packaged generated JSON Schema
|
|
42
|
-
that those references address. Together they are the canonical bootstrap surface for an authoring
|
|
43
|
-
agent; neither command writes files or accesses the network.
|
|
44
|
-
|
|
45
|
-
Each manifest command entry declares its `outputKind`, `outputVersion`, and stable
|
|
46
|
-
`outputSchemaRef`. `raw-authoring-manifest` and `raw-config-reference` identify the two bootstrap
|
|
47
|
-
documents above; `command-envelope` identifies the ordinary version-1 CLI contract.
|