tileflow 0.1.0-alpha.7 → 0.1.0-alpha.9

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.
@@ -30,8 +30,10 @@ Each sorted map entry has one `id` and an `icons` value. `icons.kind` is `none`
30
30
  byte length and intrinsic dimensions; an `icon-set` entry carries the exact `reference` and
31
31
  `version` and deliberately has no path, because a shared revision publishes verified generated
32
32
  cells rather than original artwork. Both carry the winning `contributor` ordinal.
33
- - `composition`, the exact ordered `tileflow-icon-composition-v1` receipt when the map declares a
34
- shared set, and `null` otherwise; and
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
35
37
  - `insideWorkingTree` and the deterministic generated `packageHash`.
36
38
 
37
39
  Listing reads the exact `tileflow.icons.lock.json` beside the selected config. It never resolves a
@@ -51,9 +53,11 @@ uses `../` and `insideWorkingTree: false`; no absolute path is emitted. Listing
51
53
  authoring semantics. Run `npx tileflow validate --target hosted` separately before a
52
54
  hosted deploy to check containment, portable IDs, SVG safety, and hosted limits.
53
55
 
54
- The Tileflow command performs no authentication, browser/server launch, or file write. It performs
55
- no network request when every locked artifact is already in the verified cache, and `--offline`
56
- forbids hydration entirely. It removes an ambient `TILEFLOW_API_KEY` before importing config. As with every config-aware
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
57
61
  command, loading `tileflow.config.ts` executes repository code and is not a sandbox; side effects in
58
62
  that code remain the repository's responsibility. Success emits no ANSI or progress prose. Usage,
59
63
  config, source, decode, and render failures exit 1, write diagnostics to stderr, and leave stdout
@@ -31,3 +31,10 @@ screenshot window.
31
31
  Build is local and credential-free. Hosted compatibility is a separate
32
32
  `tileflow validate --target hosted` preflight. Primary map data must remain Tileflow World; named
33
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.
@@ -14,11 +14,17 @@ Start with the [tileflow guide](https://github.com/tileflow/tileflow-sdk/blob/ma
14
14
  | Hosted delivery | `deploy`, `status` |
15
15
 
16
16
  Run `tileflow <command> --help` (or the family help, such as `tileflow icons --help`) for the exact
17
- arguments and bounded JSON modes.
17
+ arguments and bounded JSON modes. `preview` defaults to the existing web renderer. The explicit
18
+ `preview --renderer native` / `dev --renderer native` mode serves watched `native-v1` artifacts only;
19
+ Metro remains the React Native JavaScript development server. See
20
+ [Native artifacts and local preview](./native-artifacts.md) for the endpoint and qualification
21
+ boundary.
18
22
 
19
23
  `icon-set` and `icons` are deliberately separate. `icon-set` needs Team authority and changes the
20
- remote catalog. `icons list` and `icons diff` are keyless local inspection, and
21
- `icons install|update|pin` are the only commands that resolve `latest` or write
24
+ remote catalog. `icons list --json` needs no credential; a cold cache may download exact public
25
+ artifacts. `icons diff` requires a managed `--map-id`, the configured map ID in `--against`, and
26
+ `status:read` authority for its hosted baseline. `icons install|update|pin` use Team `icons:read`
27
+ authority when resolving revisions and are the only commands that select revisions or write
22
28
  `tileflow.icons.lock.json`. See the
23
29
  [Team Icon Set workflow](https://github.com/tileflow/tileflow-sdk/blob/main/packages/cli/docs/team-icon-sets.md).
24
30
 
@@ -171,8 +171,9 @@ For a map with `icons: ['./icons']`, hosted validation compiles the local SVG/PN
171
171
  without a key. Ordered directories apply left to right and later exact IDs replace earlier files.
172
172
  Deploy uploads the four generated sprite files before its first style write and reuses
173
173
  byte-identical packages by content hash. Source icons and absolute paths remain local; generated
174
- atlas bytes and sorted icon names are public. Each hosted package is limited to 256 icons and 8 MiB
175
- generated bytes as a processing envelope. There is no package-count quota; physically retained
174
+ atlas bytes and sorted icon names are public. Each hosted package is limited to 1,000 icons and 8 MiB
175
+ generated bytes as a processing envelope. Large artwork may reach the 2,048-pixel atlas bound before
176
+ the icon count. There is no package-count quota; physically retained
176
177
  generated packages share the organization's 5/10-GB hosted-storage pool with retained PMTiles,
177
178
  remain protected by deployment/library references, and otherwise enter the technical orphan grace
178
179
  before deletion. Upload success must confirm the submitted `contentHash`, exact icon count, exact
@@ -0,0 +1,169 @@
1
+ # Native artifacts, local preview and Hosted deployment
2
+
3
+ Use a project-local CLI version that includes the native artifact selector and a trusted
4
+ `tileflow.config.ts`. Follow the [installation instructions](../README.md) first. Native commands
5
+ prepare, serve or publish Tileflow artifacts; they do not install, start or qualify a mobile renderer.
6
+
7
+ ## Validate and build
8
+
9
+ ```sh
10
+ npx tileflow validate --renderer native --target local --json
11
+ npx tileflow build --renderer native --target local --out public/tileflow --json
12
+ ```
13
+
14
+ `validate` prepares and checks the complete theme family without writing production output.
15
+ `build` writes the checked generation beneath `public/tileflow/native`, including a strict version-1
16
+ runtime manifest and a separate schema-v2 `native-build.json` record. Serve the complete renderer
17
+ directory, not just the style. A failed compatibility check leaves existing output unchanged.
18
+
19
+ Both commands accept `--renderer web|native`; omission means `web`. Renderer selection is separate
20
+ from `--target local|hosted`. Existing `validate --target hosted` continues to perform web Hosted
21
+ preflight. Native with `--target hosted` fails with `NATIVE_RENDERER_UNSUPPORTED` before loading the
22
+ config or writing files. `build --target hosted` is not publication and is rejected. The explicit
23
+ combined Hosted publication command below performs its own complete two-renderer preflight.
24
+
25
+ JSON success uses the existing version-1 command envelope. Native results additionally identify
26
+ `renderer: 'native'`, `profile: 'native-v1'` and `validation: 'static-artifacts'`. JSON failure writes
27
+ one structured envelope to stderr, leaves stdout empty and exits nonzero. Native diagnostics have
28
+ safe JSON Pointers, stable codes, severity and suggestions. Unknown renderer names are not echoed.
29
+ The ordinary web commands and their default artifact bytes retain their existing behavior.
30
+
31
+ ## Watch and serve native artifacts
32
+
33
+ `preview` and its `dev` alias use the same renderer selector:
34
+
35
+ ```sh
36
+ npx tileflow preview --renderer native --map stores --theme light
37
+ ```
38
+
39
+ Native mode creates the existing watched artifact session with renderer `native`. It keeps the
40
+ last-known-good native artifact family when a watched generation becomes invalid and replaces it
41
+ only after a later valid generation is prepared. The endpoint is an **assets-only** development
42
+ endpoint: it does not render a browser map, open the visual workbench, start Metro, launch a device,
43
+ or establish visual/native acceptance.
44
+
45
+ With the default host and port, the canonical runtime manifest is:
46
+
47
+ ```text
48
+ http://127.0.0.1:3333/native/manifest.json
49
+ ```
50
+
51
+ The manifest remains the ordinary strict version-1 Tileflow runtime manifest. Its style, sprite,
52
+ font, tileset and generation references use the existing renderer-specific `/native/...` paths; no
53
+ preview-only manifest schema is introduced. `--map` and `--theme` validate a desired map/theme
54
+ against that finalized manifest but do not narrow or fork the served artifact family.
55
+
56
+ Human output identifies the exact manifest URL, profile `native-v1`, and `assets-only` endpoint.
57
+ Native NDJSON lifecycle events additionally carry `renderer`, `profile`, `manifest` and
58
+ `assetsOnly`; the default and explicit `--renderer web` lifecycle/output contract remains the
59
+ existing browser-preview contract.
60
+
61
+ Metro remains the React Native application's JavaScript development server. The application points
62
+ its Tileflow source at the native manifest URL and sets `source.developmentOrigin` to its exact HTTP
63
+ origin, for example `http://127.0.0.1:3333`. Both addresses must be reachable from the target device;
64
+ an Android emulator may use a different host address. Other resource origins still require HTTPS.
65
+ The application supplies its own development networking setup. Tileflow
66
+ does not add a Metro plugin, device discovery or a tunnel.
67
+
68
+ `preview` still binds to `127.0.0.1` by default. Existing explicit `--host <ip-or-localhost>` behavior
69
+ is preserved. Selecting another host does not add LAN discovery, a public tunnel, an iOS ATS
70
+ exception, an Android cleartext exception, or any native application mutation; the application and
71
+ developer remain responsible for making an explicitly selected development endpoint reachable
72
+ under their own platform/network policy.
73
+
74
+ Browser-only selections fail before config execution in native mode. In particular, committed
75
+ `--scene` preview and every `--against-*` comparison-workbench option are unavailable with
76
+ `--renderer native`. Native mode does not serve the browser preview root, preview JavaScript runtime,
77
+ compiler-inspection sidecars, or the dev handler's status/event control routes. Use ordinary/default
78
+ web preview for those workflows.
79
+
80
+ The `native-lowering-v1` preparation policy records fixed globe-to-Mercator normalization and
81
+ finite cap/dash layer partitioning in `native-build.json`; it does not change web artifacts.
82
+ Native preparation rejects adaptive/unknown projections, terrain, browser PMTiles/contour protocols,
83
+ missing text providers and unsupported style values rather than degrading them silently. It preserves
84
+ shared icon inheritance and independent sprite densities, and maps verified licensed TTF/OTF faces
85
+ into native style declarations. See the
86
+ [profile contract](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/native-artifact-profile.md)
87
+ and [artifact layout](https://github.com/tileflow/tileflow-sdk/blob/main/packages/dev/docs/native-artifacts.md).
88
+
89
+ ## Publish web and Native together
90
+
91
+ The pre-release source supports an explicit combined deployment against a compatible Hosted API.
92
+ This is a wire and implementation contract, not a statement that a package or server release is
93
+ available. The API must understand renderer-collection deployment schema 2.
94
+
95
+ ```sh
96
+ npx tileflow deploy --with-native --map-id map_0123456789abcdef --map stores
97
+ ```
98
+
99
+ `--map-id` selects the existing managed Tileflow Map. `--map` selects one map from the repository;
100
+ it can be omitted only when the config contains one map. The command uses the ordinary deployment
101
+ credential or account capability, not the publishable mobile credential. Do not put privileged
102
+ credentials in mobile application configuration.
103
+
104
+ Before authentication, upload or publication, the command loads the trusted config once, prepares
105
+ its icon closure, compiles all web themes and lowers all Native themes from that same compiled
106
+ input. It validates profile `native-v1`, hashes, authored identity, source ownership declarations,
107
+ semantic POI provenance and overlay boundaries. Native incompatibility rejects the entire request;
108
+ it cannot publish a new web family alone. Existing Hosted restrictions still apply, including the
109
+ current rejection of package-owned web font bundles. This opt-in does not bypass those restrictions;
110
+ use an explicitly configured glyph provider for this Hosted path.
111
+
112
+ Shared icon packages use the existing content-addressed upload protocol once. The command replaces
113
+ only the confirmed owned sprite URL, without reevaluating config, and sends one strict renderer
114
+ collection to `POST /v1/styles`. The server verifies both complete families and their owned resources,
115
+ stages immutable outputs, and activates them through the existing single deployment authority.
116
+ A Native staging failure does not activate the replacement web family. Retry the same input after an
117
+ interrupted response: the server's existing content identity determines reuse or a new deployment.
118
+
119
+ The successful response has its own explicit schema version 2 and identifies one managed Map and
120
+ deployment plus web and Native theme references. The CLI requires the complete matching response
121
+ before atomically replacing `--manifest`. That local file stays a strict **runtime manifest v1 for
122
+ web**, so existing bundlers do not receive unknown Native fields. The CLI separately prints the
123
+ canonical Native manifest URL. A failed request or invalid response leaves the existing local file
124
+ unchanged; an uncertain response is not proof that the server performed no publication.
125
+
126
+ Ordinary `deploy` without `--with-native` keeps its schema-1 request and response behavior. A later
127
+ web-only deployment does not inherit a Native family from an older deployment.
128
+
129
+ ## Native discovery and protected resources
130
+
131
+ The canonical entry URL is on the application's configured API origin:
132
+
133
+ ```text
134
+ https://api.example.test/maps/map_0123456789abcdef/native/manifest.json
135
+ ```
136
+
137
+ This bounded, one-map runtime manifest is **public metadata**. It contains identity, theme names,
138
+ revisions and references, never Style JSON, credentials or grants. It is served with `no-store` only
139
+ for a coherent active Native deployment. Its GET is not a commercial completion event.
140
+
141
+ Use that URL in the existing `Map` source descriptor, keeping the authored map name in `source.map`.
142
+ The application configures its publishable mobile credential and approved API origin once, using the
143
+ [React Native application configuration contract](../../react-native/docs/native-configuration.md).
144
+ The SDK requires both the requested and final response URLs to be the exact canonical route for the
145
+ declared managed Map. The manifest's `apiUrl` must exactly equal the configured canonical API origin;
146
+ a remote document cannot create a trusted origin or choose where the credential is sent.
147
+
148
+ The credential goes only to the configured API's `POST /v1/sessions/start`. It is not sent to the
149
+ manifest, a CDN, a style URL or a redirect destination. Styles, TileJSON, tiles, sprites, glyphs and
150
+ font resources remain protected by the existing grant and resource-ownership checks.
151
+
152
+ A Native theme references `/maps/<mapId>/native/v<deploymentVersion>/<theme>.json` and requires a
153
+ revision. The server verifies that version against the active deployment and the style's stored
154
+ bytes against the revision. Before resource projection, the SDK checks the protected response URL
155
+ and its Map/theme/deployment/revision metadata. If discovery became stale, it refetches the public
156
+ manifest at most once for that selection, preserving its existing session and admission context.
157
+ Another Map, origin, mode or older deployment cannot replace that ownership. A repeated failure
158
+ enters the existing safe error/rollback path rather than mixing generations or looping indefinitely.
159
+
160
+ Session start, public metadata discovery and Map rendering do not themselves assert a billable
161
+ completion. Completion remains owned by the server's existing eligible protected GET 200/206 path.
162
+ Disabled mobile delivery fails closed; publication does not enable it.
163
+
164
+ ## Qualification boundary
165
+
166
+ Native local preview is artifact preparation and delivery only. A successful artifact or deployment
167
+ response does not establish Hermes execution, iOS/Android rendering, device reachability, visual
168
+ fidelity, package publication or product availability. Qualify the exact compatible SDK/API pair,
169
+ React Native application, platform networking policy and native runtime separately.
@@ -2,17 +2,20 @@
2
2
 
3
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
4
 
5
- Compare the exported map with its active hosted revision before deciding whether to deploy:
5
+ Compare the exported map with its active hosted revision before deciding whether to deploy.
6
+ These examples assume the configured map ID is `madrid`; replace the sample managed Map ID with
7
+ your Dashboard destination and use personal CLI login or a credential with `status:read`.
8
+ `--against` selects the exact map ID in the configuration, not a deployment-stage keyword:
6
9
 
7
10
  ```sh
8
- npx tileflow icons diff --map-id map_AbCdEfGhIjKlMnOp --against production
9
- npx tileflow icons diff --map-id map_AbCdEfGhIjKlMnOp --against production --json
10
- npx tileflow icons diff --map-id map_AbCdEfGhIjKlMnOp --against production --report ./icon-diff.html
11
+ npx tileflow icons diff --map-id map_AbCdEfGhIjKlMnOp --against madrid
12
+ npx tileflow icons diff --map-id map_AbCdEfGhIjKlMnOp --against madrid --json
13
+ npx tileflow icons diff --map-id map_AbCdEfGhIjKlMnOp --against madrid --report ./icon-diff.html
11
14
  ```
12
15
 
13
16
  The command compiles only the exported map, performs authenticated read-only control-plane
14
17
  requests, and never uploads a package, creates a deployment, or writes the frontend manifest.
15
- Plain and JSON modes create no files. A requested HTML report adds reads of the baseline's four
18
+ Plain and JSON modes write no report; preparing locked inputs may download and write cache entries. A requested HTML report adds reads of the baseline's four
16
19
  public sprite files and
17
20
  embeds verified old/new images in one self-contained file. The report groups exact-cell icon
18
21
  previews under `Added`, `Modified`, and `Removed`. Added and removed cards show only the affected
@@ -24,9 +27,15 @@ implementation UI and contains no API key, remote runtime dependency, original i
24
27
  local source path. Use `--force` to replace different existing report bytes and `--open` only
25
28
  together with `--report`.
26
29
 
27
- Visual modification means that normalized rendered RGBA pixels changed at 1x or 2x. Fully
28
- transparent RGB is ignored. The manifest also hashes the four encoded artifacts, so an artifact can
29
- change while its per-icon pixel list remains unchanged. The report and digest analysis operate on
30
+ An icon is `modified` when its rendered record changes: normalized 1x/2x pixel hashes, dimensions,
31
+ SDF defaults or stretch/content layout. Fully transparent RGB is ignored in pixel hashes. Metadata
32
+ edits can therefore mark an icon modified even when its pixel hashes are unchanged. Reports render
33
+ SDF with asset defaults; raw downloadable PNGs still encode distance fields.
34
+
35
+ `hasChanges` compares effective package content hashes. The manifest also hashes the four encoded
36
+ artifacts, so a package can change while its per-icon list remains unchanged. Conversely, a fully
37
+ shadowed dependency can change the map's composition receipt without changing its effective sprite.
38
+ A clean icon diff is not evidence that the whole map needs no deployment. The report and digest analysis operate on
30
39
  generated sprite data; SVG, raster source files, and absolute paths stay on the local machine.
31
40
 
32
41
  `--json` writes exactly one deterministic schema-version-1 document plus a trailing newline. Its
@@ -35,7 +44,7 @@ stable top-level fields, in order, are:
35
44
  ```json
36
45
  {
37
46
  "schemaVersion": 1,
38
- "environment": "production",
47
+ "environment": "madrid",
39
48
  "baseline": {"deploymentId": "dep_...", "package": null, "version": 7},
40
49
  "proposed": {"package": null},
41
50
  "icons": {"added": [], "removed": [], "modified": [], "unchangedCount": 0},
@@ -47,17 +56,20 @@ stable top-level fields, in order, are:
47
56
 
48
57
  Package summaries, when present, contain `contentHash`, `iconCount`, `label`, and `totalBytes`.
49
58
  A missing hosted baseline is an initial comparison against an empty package. The command compares
50
- only delivered icon pixels, canonical package manifests, and generated bytes; config-directory
59
+ delivered icon records, canonical package manifests, and generated bytes; config-directory
51
60
  provenance and style-reference analysis belong to `icons list` and final style validation.
52
61
 
53
62
  Normal differences exit 0. Config, compilation, credential, network, response, and report errors
54
- exit 1.
63
+ exit 1 with diagnostics on stderr, even with `--json`. Invalid or unauthorized baselines are errors,
64
+ not empty packages. `--config` selects a config file; `--api-url` and `--api-key` override hosted
65
+ connection settings. `--cache-dir` selects the artifact cache and `--offline` disables only icon
66
+ hydration: the authenticated hosted baseline request still occurs.
55
67
 
56
68
  This workflow does not provide OIDC, automatic secret installation, an official
57
69
  GitHub Action, an atomic multi-map deploy set, or a Tileflow-hosted remote
58
70
  builder.
59
71
 
60
- Docs: https://tileflow.dev/docs/deploy
72
+ Docs: https://tileflow.dev/docs/development-and-deployment/icon-inspection-and-diffs
61
73
 
62
74
  ### Team credentials and explicit Map targets
63
75
 
@@ -8,8 +8,9 @@ independently pinned revisions through `iconSet('@acme/brand')` without copying
8
8
 
9
9
  Two command families cover this, and the split is deliberate. `icon-set` is a networked Team
10
10
  authority that changes the catalog. `icons list` stays local and needs no credential. `icons diff`
11
- compares prepared output with an active Hosted Map baseline, so it requires `--map-id` and a Map
12
- credential but never mutates that Map. `install`, `update` and `pin` maintain the exact
11
+ compares prepared output with an active Hosted Map baseline, so it requires `--map-id`, the
12
+ configured map ID in `--against`, and `status:read` authority through personal login or a scoped
13
+ credential, but never mutates that Map. `install`, `update` and `pin` maintain the exact
13
14
  `tileflow.icons.lock.json` beside the selected config.
14
15
 
15
16
  Availability depends on your deployment and your Team's enabled features. Check
@@ -89,7 +90,9 @@ npx tileflow icons pin @acme/brand --version 3 --team @acme --json
89
90
  ```
90
91
 
91
92
  These commands read the `iconSet()` references your config declares. `install` resolves the current
92
- latest revision for every declared reference that has no pin yet and leaves existing pins alone.
93
+ latest revision for declared references that have no pin yet and leaves existing pins alone.
94
+ Both `install [references...]` and `update [references...]` accept an optional subset; omitted
95
+ selection means every declared reference.
93
96
  `update` moves the selected references to their current latest revision; omit the references to
94
97
  select every declared one. `pin` selects one exact revision and never resolves a head.
95
98
 
@@ -97,7 +100,10 @@ They are the only build-adjacent commands that resolve `latest` or write the loc
97
100
  reference is resolved before a single compare-and-swap write of the whole snapshot, so a partial
98
101
  lock is never produced and a concurrent writer fails the command rather than losing its pins. An
99
102
  undeclared reference is rejected before any request. No lock command rewrites `tileflow.config.ts`;
100
- add `iconSet('@team/set')` to your config first.
103
+ add `iconSet('@team/set')` to your config first. Lock commands do not hydrate sprite files.
104
+ Serialization retains pins for other declared references and removes stale undeclared references.
105
+ They accept `--config` (or `-c`), `--team`, `--api-url`, `--api-key` and `--json`.
106
+ Do not combine `--team` with an explicit or ambient `TILEFLOW_API_KEY`.
101
107
 
102
108
  The JSON receipt lists each locked reference with its revision, version ID, package identity and
103
109
  content hash, plus any declared reference that is still missing a pin.
@@ -107,7 +113,10 @@ content hash, plus any declared reference that is still missing a pin.
107
113
  `validate`, `build`, `preview`, `deploy`, `icons list` and `icons diff` read the lock and compose
108
114
  one effective sprite. They never resolve a catalog head, so publishing a newer revision changes
109
115
  nothing in a repository until an explicit lock command runs. `--cache-dir` chooses the verified
110
- artifact cache root; `--offline` fails a cache miss instead of hydrating it.
116
+ artifact cache root on commands that expose it (including `icons list` and `icons diff`);
117
+ `--offline` fails a cache miss instead of hydrating it. These flags are not universal CLI options.
118
+ Other entry points use their documented icon-resolution options or `TILEFLOW_ICON_CACHE_DIR`.
119
+ Offline diff still needs its hosted baseline request.
111
120
 
112
121
  Hydration downloads only the four public files of the exact pinned artifact, from the trusted
113
122
  delivery origin, without credentials and without following redirects. Every file's length,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tileflow",
3
- "version": "0.1.0-alpha.7",
3
+ "version": "0.1.0-alpha.9",
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.0.10",
39
- "@tileflow/capture": ">=0.1.0-alpha.24 <0.1.0-beta.0",
39
+ "@tileflow/capture": ">=0.1.0-alpha.28 <0.1.0-beta.0",
40
40
  "@tileflow/coordinates": ">=0.1.0-alpha.1 <0.1.0-beta.0",
41
- "@tileflow/coordinates-runtime": ">=0.1.0-alpha.3 <0.1.0-beta.0",
42
- "@tileflow/core": ">=0.1.0-alpha.26 <0.1.0-beta.0",
43
- "@tileflow/dev": ">=0.1.0-alpha.25 <0.1.0-beta.0",
44
- "@tileflow/maps": ">=0.1.0-alpha.4 <0.1.0-beta.0",
41
+ "@tileflow/coordinates-runtime": ">=0.1.0-alpha.4 <0.1.0-beta.0",
42
+ "@tileflow/core": ">=0.1.0-alpha.30 <0.1.0-beta.0",
43
+ "@tileflow/dev": ">=0.1.0-alpha.28 <0.1.0-beta.0",
44
+ "@tileflow/maps": ">=0.1.0-alpha.7 <0.1.0-beta.0",
45
45
  "commander": "^15.0.0",
46
46
  "hono": "4.13.5",
47
47
  "picocolors": "^1.1.1",