@tileflow/capture 0.1.0-alpha.28 → 0.1.0-alpha.30

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.
@@ -0,0 +1,222 @@
1
+ import { Browser } from 'playwright';
2
+
3
+ type TileflowCaptureRendererIdentity = {
4
+ tileflow: string;
5
+ maplibre: string;
6
+ playwright: string;
7
+ chromiumRevision: string;
8
+ chromiumVersion: string;
9
+ };
10
+ declare const tileflowCaptureRuntime: Readonly<{
11
+ tileflow: string;
12
+ maplibre: string;
13
+ playwright: string;
14
+ chromiumRevision: string;
15
+ chromiumVersion: string;
16
+ }>;
17
+ declare function createTileflowCaptureRendererIdentity(browser?: Pick<Browser, 'version'>): TileflowCaptureRendererIdentity;
18
+
19
+ declare const tileflowCaptureReceiptSchemaVersion: 4;
20
+ declare const tileflowCaptureReceiptLimits: Readonly<{
21
+ maximumBytes: number;
22
+ }>;
23
+ type TileflowCaptureDataBindings = {
24
+ fields: Record<string, string>;
25
+ layers: Record<string, string>;
26
+ };
27
+ type TileflowCaptureDataCapabilities = {
28
+ businessCorridor: boolean;
29
+ bathymetry: boolean;
30
+ canopy: boolean;
31
+ globalLandcover: boolean;
32
+ tree: boolean;
33
+ };
34
+ type TileflowCaptureDataSource = {
35
+ kind: 'loopback' | 'opaque' | 'remote' | 'root-relative';
36
+ /** SHA-256 of a credential-free, query-free endpoint identity. */
37
+ sha256: string;
38
+ };
39
+ type TileflowCaptureDataSemantics = {
40
+ parkLayer: 'mixed' | 'protected-only';
41
+ };
42
+ /** Exact Tileflow World release identity. */
43
+ type TileflowCaptureWorldIdentity = {
44
+ archiveSha256: string;
45
+ contractSha256: string;
46
+ dataContractSha256: string;
47
+ descriptorSha256: string;
48
+ kind: 'tileflow-world';
49
+ product: 'world-v1';
50
+ releaseId: string;
51
+ schema: 'openmaptiles';
52
+ schemaVersion: number;
53
+ semantics: TileflowCaptureDataSemantics;
54
+ sourceId: 'tileflow';
55
+ };
56
+ /** External vector-tile identity. Its endpoint is recorded only as a safe fingerprint. */
57
+ type TileflowCaptureVectorIdentity = {
58
+ bindings: TileflowCaptureDataBindings;
59
+ capabilities: TileflowCaptureDataCapabilities;
60
+ kind: 'vector-tiles';
61
+ /** Explicit revision supplied by the data configuration. */
62
+ revision?: string;
63
+ schema: 'openmaptiles';
64
+ schemaVersion: number;
65
+ semantics: TileflowCaptureDataSemantics;
66
+ source: TileflowCaptureDataSource;
67
+ sourceId: 'tileflow';
68
+ };
69
+ /** Durable data identity owned by capture rather than the live core authoring API. */
70
+ type TileflowCaptureDataIdentity = TileflowCaptureVectorIdentity | TileflowCaptureWorldIdentity;
71
+ /**
72
+ * Data identity accepted by `createTileflowCaptureReceipt`. A vector `url` is transient input:
73
+ * it is converted to `source` and never returned or serialized.
74
+ */
75
+ type TileflowCaptureDataInput = (Omit<TileflowCaptureVectorIdentity, 'source'> & {
76
+ url: string;
77
+ }) | TileflowCaptureWorldIdentity;
78
+ type TileflowCaptureVerification = {
79
+ data: 'expected-unverified' | 'rendered';
80
+ style: 'expected-unverified' | 'rendered';
81
+ };
82
+ type TileflowCaptureReceipt = {
83
+ schemaVersion: typeof tileflowCaptureReceiptSchemaVersion;
84
+ scene: {
85
+ name: string;
86
+ map: string;
87
+ theme: string;
88
+ target: 'map' | 'application';
89
+ sha256: string;
90
+ };
91
+ style: {
92
+ sha256: string;
93
+ };
94
+ image: {
95
+ sha256: string;
96
+ cssWidth: number;
97
+ cssHeight: number;
98
+ physicalWidth: number;
99
+ physicalHeight: number;
100
+ dpr: 1 | 2;
101
+ };
102
+ renderer: TileflowCaptureRendererIdentity;
103
+ platform: {
104
+ os: string;
105
+ architecture: string;
106
+ };
107
+ data: TileflowCaptureDataIdentity;
108
+ verification: TileflowCaptureVerification;
109
+ networkDependent: boolean;
110
+ };
111
+ type CreateTileflowCaptureReceiptInput = {
112
+ dpr: 1 | 2;
113
+ data: TileflowCaptureDataInput;
114
+ height: number;
115
+ map: string;
116
+ theme: string;
117
+ networkDependent: boolean;
118
+ pngSha256: string;
119
+ renderer: TileflowCaptureRendererIdentity;
120
+ scene: string;
121
+ sceneSha256: string;
122
+ styleSha256: string;
123
+ target: 'map' | 'application';
124
+ width: number;
125
+ };
126
+ declare function createTileflowCaptureReceipt(input: CreateTileflowCaptureReceiptInput): TileflowCaptureReceipt;
127
+ declare function serializeTileflowCaptureReceipt(receipt: TileflowCaptureReceipt): string;
128
+ declare function parseTileflowCaptureReceipt(source: string | Uint8Array): TileflowCaptureReceipt;
129
+ declare function validateTileflowCaptureReceipt(value: unknown): TileflowCaptureReceipt;
130
+ declare const tileflowShotReceiptSchemaVersion: 1;
131
+ declare const tileflowShotReceiptLimits: Readonly<{
132
+ maximumBytes: number;
133
+ }>;
134
+ /**
135
+ * Durable evidence for one rendered shot. Frames are deterministic, so `frames.sha256` identifies
136
+ * the pixels; `output.sha256` identifies the written video or frame set, whose encoder bytes may
137
+ * differ between runs.
138
+ */
139
+ type TileflowShotReceiptV1 = {
140
+ schemaVersion: 1;
141
+ kind: 'shot';
142
+ shot: {
143
+ name: string;
144
+ map: string;
145
+ theme: string;
146
+ sha256: string;
147
+ };
148
+ /** The compiled style of the shot's theme. */
149
+ style: {
150
+ sha256: string;
151
+ };
152
+ /** Present when the shot blends themes: each blended theme's compiled style, in blend order. */
153
+ blend?: {
154
+ themes: Array<{
155
+ name: string;
156
+ styleSha256: string;
157
+ }>;
158
+ };
159
+ timing: {
160
+ fps: 24 | 25 | 30 | 50 | 60;
161
+ frameCount: number;
162
+ durationMs: number;
163
+ };
164
+ image: {
165
+ cssWidth: number;
166
+ cssHeight: number;
167
+ physicalWidth: number;
168
+ physicalHeight: number;
169
+ dpr: 1 | 2;
170
+ };
171
+ /** SHA-256 of each frame's PNG SHA-256 in lowercase hex, one per line, in frame order. */
172
+ frames: {
173
+ sha256: string;
174
+ };
175
+ output: {
176
+ kind: 'frames';
177
+ sha256: string;
178
+ } | {
179
+ kind: 'webm';
180
+ codec: 'vp8' | 'vp9';
181
+ sha256: string;
182
+ };
183
+ renderer: TileflowCaptureRendererIdentity;
184
+ platform: {
185
+ os: string;
186
+ architecture: string;
187
+ };
188
+ data: TileflowCaptureDataIdentity;
189
+ verification: {
190
+ data: 'rendered';
191
+ style: 'rendered';
192
+ };
193
+ networkDependent: boolean;
194
+ };
195
+ type CreateTileflowShotReceiptInput = {
196
+ blend?: Array<{
197
+ name: string;
198
+ styleSha256: string;
199
+ }>;
200
+ data: TileflowCaptureDataInput;
201
+ dpr: 1 | 2;
202
+ durationMs: number;
203
+ fps: 24 | 25 | 30 | 50 | 60;
204
+ frameCount: number;
205
+ framesSha256: string;
206
+ height: number;
207
+ map: string;
208
+ networkDependent: boolean;
209
+ output: TileflowShotReceiptV1['output'];
210
+ renderer: TileflowCaptureRendererIdentity;
211
+ shot: string;
212
+ shotSha256: string;
213
+ styleSha256: string;
214
+ theme: string;
215
+ width: number;
216
+ };
217
+ declare function createTileflowShotReceipt(input: CreateTileflowShotReceiptInput): TileflowShotReceiptV1;
218
+ declare function serializeTileflowShotReceipt(receipt: TileflowShotReceiptV1): string;
219
+ declare function parseTileflowShotReceipt(source: string | Uint8Array): TileflowShotReceiptV1;
220
+ declare function validateTileflowShotReceipt(value: unknown): TileflowShotReceiptV1;
221
+
222
+ export { type CreateTileflowCaptureReceiptInput as C, type TileflowCaptureRendererIdentity as T, type TileflowShotReceiptV1 as a, type TileflowCaptureReceipt as b, type TileflowCaptureDataInput as c, type TileflowCaptureWorldIdentity as d, type CreateTileflowShotReceiptInput as e, type TileflowCaptureDataBindings as f, type TileflowCaptureDataCapabilities as g, type TileflowCaptureDataIdentity as h, type TileflowCaptureDataSemantics as i, type TileflowCaptureDataSource as j, type TileflowCaptureVectorIdentity as k, type TileflowCaptureVerification as l, createTileflowCaptureReceipt as m, createTileflowCaptureRendererIdentity as n, createTileflowShotReceipt as o, parseTileflowCaptureReceipt as p, parseTileflowShotReceipt as q, serializeTileflowShotReceipt as r, serializeTileflowCaptureReceipt as s, tileflowCaptureReceiptLimits as t, tileflowCaptureReceiptSchemaVersion as u, tileflowCaptureRuntime as v, tileflowShotReceiptLimits as w, tileflowShotReceiptSchemaVersion as x, validateTileflowCaptureReceipt as y, validateTileflowShotReceipt as z };
package/dist/receipt.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { C as CreateTileflowCaptureReceiptInput, e as TileflowCaptureDataBindingsV2, f as TileflowCaptureDataCapabilitiesV2, g as TileflowCaptureDataIdentityV2, h as TileflowCaptureDataIdentityV3, b as TileflowCaptureDataInput, i as TileflowCaptureDataSemanticsV2, j as TileflowCaptureDataSourceV2, d as TileflowCaptureReceipt, k as TileflowCaptureReceiptV2, l as TileflowCaptureReceiptV3, a as TileflowCaptureReceiptV4, m as TileflowCaptureVectorIdentityV3, n as TileflowCaptureVerificationV2, c as TileflowCaptureWorldIdentityV3, o as createTileflowCaptureReceipt, q as parseTileflowCaptureReceipt, s as serializeTileflowCaptureReceipt, t as tileflowCaptureReceiptLimits, r as tileflowCaptureReceiptSchemaVersion, v as validateTileflowCaptureReceipt } from './receipt-Q7wQ68tG.js';
1
+ export { C as CreateTileflowCaptureReceiptInput, e as CreateTileflowShotReceiptInput, f as TileflowCaptureDataBindings, g as TileflowCaptureDataCapabilities, h as TileflowCaptureDataIdentity, c as TileflowCaptureDataInput, i as TileflowCaptureDataSemantics, j as TileflowCaptureDataSource, b as TileflowCaptureReceipt, k as TileflowCaptureVectorIdentity, l as TileflowCaptureVerification, d as TileflowCaptureWorldIdentity, a as TileflowShotReceiptV1, m as createTileflowCaptureReceipt, o as createTileflowShotReceipt, p as parseTileflowCaptureReceipt, q as parseTileflowShotReceipt, s as serializeTileflowCaptureReceipt, r as serializeTileflowShotReceipt, t as tileflowCaptureReceiptLimits, u as tileflowCaptureReceiptSchemaVersion, w as tileflowShotReceiptLimits, x as tileflowShotReceiptSchemaVersion, y as validateTileflowCaptureReceipt, z as validateTileflowShotReceipt } from './receipt-CfZkzyXd.js';
2
2
  import 'playwright';
package/dist/receipt.js CHANGED
@@ -1,16 +1,28 @@
1
1
  import {
2
2
  createTileflowCaptureReceipt,
3
+ createTileflowShotReceipt,
3
4
  parseTileflowCaptureReceipt,
5
+ parseTileflowShotReceipt,
4
6
  serializeTileflowCaptureReceipt,
7
+ serializeTileflowShotReceipt,
5
8
  tileflowCaptureReceiptLimits,
6
9
  tileflowCaptureReceiptSchemaVersion,
7
- validateTileflowCaptureReceipt
8
- } from "./chunk-BSTB4FN6.js";
10
+ tileflowShotReceiptLimits,
11
+ tileflowShotReceiptSchemaVersion,
12
+ validateTileflowCaptureReceipt,
13
+ validateTileflowShotReceipt
14
+ } from "./chunk-BI5PWIH4.js";
9
15
  export {
10
16
  createTileflowCaptureReceipt,
17
+ createTileflowShotReceipt,
11
18
  parseTileflowCaptureReceipt,
19
+ parseTileflowShotReceipt,
12
20
  serializeTileflowCaptureReceipt,
21
+ serializeTileflowShotReceipt,
13
22
  tileflowCaptureReceiptLimits,
14
23
  tileflowCaptureReceiptSchemaVersion,
15
- validateTileflowCaptureReceipt
24
+ tileflowShotReceiptLimits,
25
+ tileflowShotReceiptSchemaVersion,
26
+ validateTileflowCaptureReceipt,
27
+ validateTileflowShotReceipt
16
28
  };
@@ -15,8 +15,7 @@ For Tileflow World, Capture resolves the map's TileJSON selector once per sessio
15
15
  `tileflow.world` to identify `world-v1` with exact release, descriptor, archive, data-contract, and
16
16
  product-contract SHA-256 values, and renders every standalone scene from the returned immutable tile
17
17
  template. Repeated scenes and retries reuse that one resolution; another selector in the same
18
- session fails instead of mixing releases. Existing canonical schema-v2 and schema-v3 receipts remain
19
- readable as historical evidence and are never reclassified as schema v4.
18
+ session fails instead of mixing releases. Parsing accepts only schema version 4.
20
19
 
21
20
  Capture reuses Core's exact World V1 release-ID contract: 12–128 characters matching
22
21
  `^world-v1-[a-z0-9][a-z0-9._-]*[a-z0-9]$`. Selector responses and durable receipts reject rather
@@ -25,6 +24,14 @@ than normalize uppercase, whitespace, another generation, or an incomplete bound
25
24
  Receipt-only tooling can import these contracts from `@tileflow/capture/receipt` without loading the
26
25
  Playwright capture runtime.
27
26
 
27
+ `createTileflowShotReceipt`, `parseTileflowShotReceipt`, `validateTileflowShotReceipt`, and
28
+ `serializeTileflowShotReceipt` implement the separate schema-version-1 shot receipt, identified by
29
+ `kind: "shot"` and bounded to 64 KiB. It records the shot and its theme and blend styles, timing,
30
+ dimensions, renderer, platform, data identity, and two hashes: `frames.sha256`, computed from every
31
+ frame's PNG SHA-256 in order, identifies the rendered pixels, and `output.sha256` identifies the
32
+ written WebM file or, for the `frames` output, equals `frames.sha256`. The still-receipt parser
33
+ rejects shot receipts, and the shot-receipt parser rejects still receipts.
34
+
28
35
  The following comparison fragments assume captures and PNG/receipt bytes that the caller has
29
36
  already loaded and validated. See the package README for a complete baseline-file example.
30
37
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tileflow/capture",
3
- "version": "0.1.0-alpha.28",
3
+ "version": "0.1.0-alpha.30",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Deterministic local visual capture and comparison for Tileflow maps.",
6
6
  "engines": {
@@ -48,9 +48,9 @@
48
48
  "access": "public"
49
49
  },
50
50
  "dependencies": {
51
- "@tileflow/core": ">=0.1.0-alpha.30 <0.1.0-beta.0",
52
- "@tileflow/dev": ">=0.1.0-alpha.28 <0.1.0-beta.0",
53
- "maplibre-gl": "6.9.0",
51
+ "@tileflow/core": ">=0.1.0-alpha.34 <0.1.0-beta.0",
52
+ "@tileflow/dev": ">=0.1.0-alpha.31 <0.1.0-beta.0",
53
+ "maplibre-gl": "6.13.0",
54
54
  "pixelmatch": "7.2.0",
55
55
  "playwright": "1.62.1",
56
56
  "pngjs": "7.0.0"
@@ -61,20 +61,20 @@
61
61
  "@types/pngjs": "6.0.5",
62
62
  "@vitejs/plugin-vue": "^6.0.8",
63
63
  "maplibre-gl-min": "npm:maplibre-gl@6.4.1",
64
- "next": "16.3.3",
65
- "react": "^19.2.7",
66
- "react-dom": "^19.2.7",
67
- "svelte": "^5.56.4",
64
+ "next": "16.3.8",
65
+ "react": "^19.3.0",
66
+ "react-dom": "^19.3.0",
67
+ "svelte": "^5.57.2",
68
68
  "vite": "^8.0.16",
69
- "vue": "^3.5.39",
69
+ "vue": "^3.5.43",
70
70
  "webpack": "5.108.3",
71
- "@tileflow/maps": "0.1.0-alpha.7",
72
- "@tileflow/react": "0.1.0-alpha.28",
73
- "@tileflow/vite": "0.1.0-alpha.24",
74
- "@tileflow/vue": "0.1.0-alpha.27",
75
- "@tileflow/webpack": "0.1.0-alpha.24",
76
- "@tileflow/next": "0.1.0-alpha.24",
77
- "@tileflow/svelte": "0.1.0-alpha.27"
71
+ "@tileflow/maps": "0.1.0-alpha.8",
72
+ "@tileflow/next": "0.1.0-alpha.25",
73
+ "@tileflow/react": "0.1.0-alpha.29",
74
+ "@tileflow/svelte": "0.1.0-alpha.28",
75
+ "@tileflow/vite": "0.1.0-alpha.25",
76
+ "@tileflow/vue": "0.1.0-alpha.28",
77
+ "@tileflow/webpack": "0.1.0-alpha.25"
78
78
  },
79
79
  "scripts": {
80
80
  "build": "tsup src/index.ts src/receipt.ts --format esm --dts --clean --platform node",
@@ -1,160 +0,0 @@
1
- import { Browser } from 'playwright';
2
-
3
- type TileflowCaptureRendererIdentity = {
4
- tileflow: string;
5
- maplibre: string;
6
- playwright: string;
7
- chromiumRevision: string;
8
- chromiumVersion: string;
9
- };
10
- declare const tileflowCaptureRuntime: Readonly<{
11
- tileflow: string;
12
- maplibre: string;
13
- playwright: string;
14
- chromiumRevision: string;
15
- chromiumVersion: string;
16
- }>;
17
- declare function createTileflowCaptureRendererIdentity(browser?: Pick<Browser, 'version'>): TileflowCaptureRendererIdentity;
18
-
19
- declare const tileflowCaptureReceiptSchemaVersion: 4;
20
- declare const tileflowCaptureReceiptLimits: Readonly<{
21
- maximumBytes: number;
22
- }>;
23
- type TileflowCaptureDataBindingsV2 = {
24
- fields: Record<string, string>;
25
- layers: Record<string, string>;
26
- };
27
- type TileflowCaptureDataCapabilitiesV2 = {
28
- businessCorridor: boolean;
29
- /** Optional because receipts written before this capability existed remain valid schema v2. */
30
- bathymetry?: boolean;
31
- globalLandcover: boolean;
32
- tree: boolean;
33
- };
34
- type TileflowCaptureDataSourceV2 = {
35
- kind: 'loopback' | 'opaque' | 'remote' | 'root-relative';
36
- /** SHA-256 of a credential-free, query-free endpoint identity. */
37
- sha256: string;
38
- };
39
- type TileflowCaptureDataSemanticsV2 = {
40
- parkLayer: 'mixed' | 'protected-only';
41
- };
42
- /** Durable schema-v2 data identity owned by capture rather than the live core authoring API. */
43
- type TileflowCaptureDataIdentityV2 = {
44
- bindings?: TileflowCaptureDataBindingsV2;
45
- capabilities?: TileflowCaptureDataCapabilitiesV2;
46
- generation?: 'v1';
47
- kind: 'tileflow-world' | 'vector-tiles';
48
- revision?: string;
49
- schema: 'openmaptiles';
50
- schemaVersion: number;
51
- /** Optional because earlier schema-v2 receipts predate explicit park semantics. */
52
- semantics?: TileflowCaptureDataSemanticsV2;
53
- sourceId: 'tileflow';
54
- source?: TileflowCaptureDataSourceV2;
55
- };
56
- type TileflowCaptureWorldIdentityV3 = {
57
- archiveSha256: string;
58
- contractSha256: string;
59
- dataContractSha256: string;
60
- descriptorSha256: string;
61
- kind: 'tileflow-world';
62
- product: 'world-v1';
63
- releaseId: string;
64
- schema: 'openmaptiles';
65
- schemaVersion: number;
66
- semantics?: TileflowCaptureDataSemanticsV2;
67
- sourceId: 'tileflow';
68
- };
69
- type TileflowCaptureVectorIdentityV3 = {
70
- bindings?: {
71
- fields: Readonly<Record<string, string>>;
72
- layers: Readonly<Record<string, string>>;
73
- };
74
- capabilities?: {
75
- businessCorridor: boolean;
76
- bathymetry?: boolean;
77
- globalLandcover: boolean;
78
- tree: boolean;
79
- };
80
- kind: 'vector-tiles';
81
- revision?: string;
82
- schema: 'openmaptiles';
83
- schemaVersion: number;
84
- semantics?: TileflowCaptureDataSemanticsV2;
85
- sourceId: 'tileflow';
86
- /** Accepted only as transient input and converted to `source`; never returned or serialized. */
87
- url?: string;
88
- };
89
- /** Exact data-identity input embedded in every newly written schema-v4 receipt. */
90
- type TileflowCaptureDataInput = TileflowCaptureVectorIdentityV3 | TileflowCaptureWorldIdentityV3;
91
- type TileflowCaptureDataIdentityV3 = (Omit<TileflowCaptureVectorIdentityV3, 'url'> & {
92
- source?: TileflowCaptureDataSourceV2;
93
- }) | TileflowCaptureWorldIdentityV3;
94
- type TileflowCaptureVerificationV2 = {
95
- data: 'expected-unverified' | 'rendered';
96
- style: 'expected-unverified' | 'rendered';
97
- };
98
- type TileflowCaptureReceiptCommon = {
99
- scene: {
100
- name: string;
101
- map: string;
102
- target: 'map' | 'application';
103
- sha256: string;
104
- };
105
- style: {
106
- sha256: string;
107
- };
108
- image: {
109
- sha256: string;
110
- cssWidth: number;
111
- cssHeight: number;
112
- physicalWidth: number;
113
- physicalHeight: number;
114
- dpr: 1 | 2;
115
- };
116
- renderer: TileflowCaptureRendererIdentity;
117
- platform: {
118
- os: string;
119
- architecture: string;
120
- };
121
- verification: TileflowCaptureVerificationV2;
122
- networkDependent: boolean;
123
- };
124
- type TileflowCaptureReceiptV2 = TileflowCaptureReceiptCommon & {
125
- schemaVersion: 2;
126
- data: TileflowCaptureDataIdentityV2;
127
- };
128
- type TileflowCaptureReceiptV3 = TileflowCaptureReceiptCommon & {
129
- schemaVersion: 3;
130
- data: TileflowCaptureDataIdentityV3;
131
- };
132
- type TileflowCaptureReceiptV4 = Omit<TileflowCaptureReceiptCommon, 'scene'> & {
133
- schemaVersion: 4;
134
- data: TileflowCaptureDataIdentityV3;
135
- scene: TileflowCaptureReceiptCommon['scene'] & {
136
- theme: string;
137
- };
138
- };
139
- type TileflowCaptureReceipt = TileflowCaptureReceiptV2 | TileflowCaptureReceiptV3 | TileflowCaptureReceiptV4;
140
- type CreateTileflowCaptureReceiptInput = {
141
- dpr: 1 | 2;
142
- data: TileflowCaptureDataInput;
143
- height: number;
144
- map: string;
145
- theme: string;
146
- networkDependent: boolean;
147
- pngSha256: string;
148
- renderer: TileflowCaptureRendererIdentity;
149
- scene: string;
150
- sceneSha256: string;
151
- styleSha256: string;
152
- target: 'map' | 'application';
153
- width: number;
154
- };
155
- declare function createTileflowCaptureReceipt(input: CreateTileflowCaptureReceiptInput): TileflowCaptureReceiptV4;
156
- declare function serializeTileflowCaptureReceipt(receipt: TileflowCaptureReceipt): string;
157
- declare function parseTileflowCaptureReceipt(source: string | Uint8Array): TileflowCaptureReceipt;
158
- declare function validateTileflowCaptureReceipt(value: unknown): TileflowCaptureReceipt;
159
-
160
- export { type CreateTileflowCaptureReceiptInput as C, type TileflowCaptureRendererIdentity as T, type TileflowCaptureReceiptV4 as a, type TileflowCaptureDataInput as b, type TileflowCaptureWorldIdentityV3 as c, type TileflowCaptureReceipt as d, type TileflowCaptureDataBindingsV2 as e, type TileflowCaptureDataCapabilitiesV2 as f, type TileflowCaptureDataIdentityV2 as g, type TileflowCaptureDataIdentityV3 as h, type TileflowCaptureDataSemanticsV2 as i, type TileflowCaptureDataSourceV2 as j, type TileflowCaptureReceiptV2 as k, type TileflowCaptureReceiptV3 as l, type TileflowCaptureVectorIdentityV3 as m, type TileflowCaptureVerificationV2 as n, createTileflowCaptureReceipt as o, createTileflowCaptureRendererIdentity as p, parseTileflowCaptureReceipt as q, tileflowCaptureReceiptSchemaVersion as r, serializeTileflowCaptureReceipt as s, tileflowCaptureReceiptLimits as t, tileflowCaptureRuntime as u, validateTileflowCaptureReceipt as v };