tileflow 0.1.0-alpha.13 → 0.1.0-alpha.15
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 +2 -1
- package/dist/index.js +697 -236
- package/docs/command-families.md +4 -0
- package/docs/hosted-authentication-and-deploy.md +15 -2
- package/docs/local-visual-feedback.md +2 -2
- package/docs/map-authoring.md +7 -0
- package/docs/team-3d-models.md +36 -0
- package/package.json +5 -5
package/docs/command-families.md
CHANGED
|
@@ -9,6 +9,7 @@ Start with the [tileflow guide](https://github.com/tileflow/tileflow-sdk/blob/ma
|
|
|
9
9
|
| Local evidence | `setup capture`, `capture`, `visual compare`, `visual analyze`, `visual diff`, `visual update` |
|
|
10
10
|
| Data and assets | `tileset inspect`, `tileset publish/list/status/purge`, `inspect features`, `icons list/diff` |
|
|
11
11
|
| Team Icon Sets | `icon-set publish/list/status/versions/uses/archive/unarchive/purge` |
|
|
12
|
+
| Team 3D models | `models publish/list/status/restore/purge` |
|
|
12
13
|
| Repository locks | `icons install`, `icons update`, `icons pin` |
|
|
13
14
|
| Account | `login`, `logout`, `whoami` |
|
|
14
15
|
| Hosted delivery | `deploy`, `status` |
|
|
@@ -28,5 +29,8 @@ authority when resolving revisions and are the only commands that select revisio
|
|
|
28
29
|
`tileflow.icons.lock.json`. See the
|
|
29
30
|
[Team Icon Set workflow](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/docs/team-icon-sets.md).
|
|
30
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
|
+
|
|
31
35
|
The hidden `projects` command family lists and manages the internal application destinations of an
|
|
32
36
|
account for support. It is not part of the ordinary workflow or the product catalog.
|
|
@@ -184,8 +184,21 @@ Hosted deploy currently rejects local or package-owned web fonts before authenti
|
|
|
184
184
|
writes. Use self-hosted delivery or an explicit public glyph provider. Enabling managed font bundles
|
|
185
185
|
requires a separately deployed ownership, quota, retention, and immutable-delivery contract.
|
|
186
186
|
|
|
187
|
-
|
|
187
|
+
A map's own 3D building models (the building models of its `models` directories) are its Team's
|
|
188
|
+
3D models, which `tileflow models publish` publishes by name. Deploy uploads no model files: it
|
|
189
|
+
compiles each placement's `url` as the placeholder `tileflow://team-models/<name>`, leaves the
|
|
190
|
+
building models out of the build's assets and model source identities, so the map's revision binds
|
|
191
|
+
their names and not their bytes, and sends `teamModelSources`, the SHA-256 and size of each glTF
|
|
192
|
+
binary a model was prepared from. Hosted replaces each placeholder with the model's address in the
|
|
193
|
+
map's Team, which follows the model's current version, and fails the deploy for a model the Team has
|
|
194
|
+
not published. The response's `teamModels` names each placed model's current version and whether it
|
|
195
|
+
was prepared from the same files (`match`, `differ` or `unknown`); the CLI warns on `differ`. A
|
|
196
|
+
deploy with `--with-native` rejects a map's own building models, because MapLibre Native draws no
|
|
197
|
+
models.
|
|
198
|
+
|
|
199
|
+
For every managed resource kind, `assetSetSha256` remains a separate per-map output identity. It
|
|
188
200
|
hashes each generated file's exact portable name, media type, byte count, and SHA-256 using Core's
|
|
189
201
|
asset-set v1 contract; it does not hash only the icon-package manifest. Hosted must
|
|
190
202
|
confirm the immutable resource bytes, reconstruct those same per-file identities (including the
|
|
191
|
-
`icons/<mapId>/`
|
|
203
|
+
`icons/<mapId>/` and `models/<mapId>/` prefixes), and reject the Style when the submitted
|
|
204
|
+
build-manifest hash diverges.
|
|
@@ -62,8 +62,8 @@ authoring:
|
|
|
62
62
|
```sh
|
|
63
63
|
# Two maps or themes from one config.
|
|
64
64
|
npx tileflow preview \
|
|
65
|
-
--map
|
|
66
|
-
--against-map
|
|
65
|
+
--map baedeker --theme light \
|
|
66
|
+
--against-map map-1777 --against-theme light
|
|
67
67
|
|
|
68
68
|
# Or compare against another config.
|
|
69
69
|
npx tileflow preview \
|
package/docs/map-authoring.md
CHANGED
|
@@ -25,6 +25,7 @@ Start with bounded queries, then request more detail at the returned JSON Pointe
|
|
|
25
25
|
```sh
|
|
26
26
|
npx tileflow describe --json
|
|
27
27
|
npx tileflow describe roads --path /properties/classes --json
|
|
28
|
+
npx tileflow describe themes --json
|
|
28
29
|
npx tileflow inspect --domain roads --limit 80 --json
|
|
29
30
|
npx tileflow inspect compiled --domain roads --theme dark --json
|
|
30
31
|
npx tileflow compare configs --from-config before/tileflow.config.ts --to-config after/tileflow.config.ts --json
|
|
@@ -54,6 +55,12 @@ Inspection includes resolved inheritance, merge provenance, and the theme contra
|
|
|
54
55
|
returns compilation diagnostics and a report, not the complete Style JSON. Add `--inspection` only
|
|
55
56
|
when physical output provenance is needed; those layer IDs are not stable authoring targets.
|
|
56
57
|
|
|
58
|
+
`describe themes` lists the minimal palette roles and optional time-of-day behavior. Compiled
|
|
59
|
+
inspection includes `report.decisions` for resolved color roles and selected module defaults,
|
|
60
|
+
with the effective value, source, reason and override guidance. Query it with
|
|
61
|
+
`inspect compiled --path /report/decisions --limit 80 --json`. It describes semantic decisions,
|
|
62
|
+
not every final paint property; config inspection retains inheritance provenance separately.
|
|
63
|
+
|
|
57
64
|
For a normal config, map selection is implicit. Paired `--from-config` and `--to-config` compare
|
|
58
65
|
two ordinary configs. Workspace comparisons use their documented explicit map selectors; do not
|
|
59
66
|
mix the paired-config and same-workspace forms.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Team 3D models
|
|
2
|
+
|
|
3
|
+
A Team publishes its own 3D building models, such as a store or a kiosk, once, under their names,
|
|
4
|
+
and every map of the Team places them by name. Hosted maps follow each model's current version, so
|
|
5
|
+
publishing an improvement changes every map that places the model on its next load, without
|
|
6
|
+
deploying the maps again. Locally, maps draw their own `.glb` files and need no account.
|
|
7
|
+
|
|
8
|
+
```sh
|
|
9
|
+
npx tileflow models publish ./models/flagship-store.glb --team @acme --json
|
|
10
|
+
npx tileflow models list --team @acme
|
|
11
|
+
npx tileflow models status flagship-store --team @acme
|
|
12
|
+
npx tileflow models restore flagship-store --team @acme
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
- `publish [paths...]` prepares each building model as `build` does (its levels of detail, its
|
|
16
|
+
footprint and meshoptimizer compression) and publishes it as the model's new current version.
|
|
17
|
+
Paths are `.glb` files or directories; with none, it publishes the building models of every map in
|
|
18
|
+
the config. Publishing the bytes of the current version again changes nothing.
|
|
19
|
+
- `list` and `status <name>` read the Team's models, their versions and the maps that place them.
|
|
20
|
+
- `restore <name>` makes the previous version current again. A model keeps its current and previous
|
|
21
|
+
versions.
|
|
22
|
+
- `purge <name> --confirm <name>` deletes a model and its versions, and is refused while a map
|
|
23
|
+
places it.
|
|
24
|
+
|
|
25
|
+
Each command needs Team authority: an account session with access to the Team, or a Team API key
|
|
26
|
+
with the 3D models permission (`--api-key`). Pass `--team @team` when the account has several Teams.
|
|
27
|
+
|
|
28
|
+
`tileflow deploy` uploads no model files. It writes each placement of a building model as the
|
|
29
|
+
placeholder `tileflow://team-models/<name>`, which Hosted replaces with the model's address in the
|
|
30
|
+
map's Team; a model the Team has not published fails the deploy, and the deploy warns when a placed
|
|
31
|
+
model's published version was prepared from other files than the map's. Models are served publicly
|
|
32
|
+
and may be cached, so they must not hold secrets or restricted personal data. MapLibre Native draws
|
|
33
|
+
no models, so a deploy with `--with-native` does not take them.
|
|
34
|
+
|
|
35
|
+
See [3D buildings](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/buildings-3d.md#building-models)
|
|
36
|
+
for how to prepare a model.
|
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.15",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "CLI-only tools for Tileflow config, capture, visual testing, and deploy.",
|
|
6
6
|
"type": "module",
|
|
@@ -36,12 +36,12 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@hono/node-server": "2.1.3",
|
|
39
|
-
"@tileflow/capture": ">=0.1.0-alpha.
|
|
39
|
+
"@tileflow/capture": ">=0.1.0-alpha.32 <0.1.0-beta.0",
|
|
40
40
|
"@tileflow/coordinates": ">=0.1.0-alpha.2 <0.1.0-beta.0",
|
|
41
41
|
"@tileflow/coordinates-runtime": ">=0.1.0-alpha.5 <0.1.0-beta.0",
|
|
42
|
-
"@tileflow/core": ">=0.1.0-alpha.
|
|
43
|
-
"@tileflow/dev": ">=0.1.0-alpha.
|
|
44
|
-
"@tileflow/maps": ">=0.1.0-alpha.
|
|
42
|
+
"@tileflow/core": ">=0.1.0-alpha.37 <0.1.0-beta.0",
|
|
43
|
+
"@tileflow/dev": ">=0.1.0-alpha.34 <0.1.0-beta.0",
|
|
44
|
+
"@tileflow/maps": ">=0.1.0-alpha.11 <0.1.0-beta.0",
|
|
45
45
|
"commander": "^15.0.0",
|
|
46
46
|
"hono": "4.13.7",
|
|
47
47
|
"picocolors": "^1.1.1",
|