@reearth/ezu 0.2.0 → 0.4.0
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 +74 -24
- package/bundler/ezu.d.ts +51 -42
- package/bundler/ezu.js +1 -1
- package/bundler/ezu_bg.js +117 -155
- package/bundler/ezu_bg.wasm +0 -0
- package/bundler/ezu_bg.wasm.d.ts +6 -10
- package/nodejs/ezu.d.ts +51 -42
- package/nodejs/ezu.js +118 -155
- package/nodejs/ezu_bg.wasm +0 -0
- package/nodejs/ezu_bg.wasm.d.ts +6 -10
- package/package.json +9 -2
- package/web/ezu.d.ts +57 -52
- package/web/ezu.js +117 -155
- package/web/ezu_bg.wasm +0 -0
- package/web/ezu_bg.wasm.d.ts +6 -10
package/web/ezu.d.ts
CHANGED
|
@@ -38,6 +38,10 @@ export class LogSink {
|
|
|
38
38
|
/**
|
|
39
39
|
* Set (or clear with `null` / `undefined`) the per-event JS
|
|
40
40
|
* callback. The callback receives a structured record object.
|
|
41
|
+
*
|
|
42
|
+
* No-op in multithreaded (`threads`) builds — events can originate
|
|
43
|
+
* on rayon worker threads, so live forwarding to a main-thread JS
|
|
44
|
+
* callback isn't available. Use `drain` / `drainLines` instead.
|
|
41
45
|
*/
|
|
42
46
|
onEvent(callback?: Function | null): void;
|
|
43
47
|
/**
|
|
@@ -58,64 +62,61 @@ export class Renderer {
|
|
|
58
62
|
free(): void;
|
|
59
63
|
[Symbol.dispose](): void;
|
|
60
64
|
/**
|
|
61
|
-
*
|
|
62
|
-
|
|
63
|
-
brushCount(): number;
|
|
64
|
-
/**
|
|
65
|
-
* Drop every registered brush.
|
|
66
|
-
*/
|
|
67
|
-
clearBrushes(): void;
|
|
68
|
-
/**
|
|
69
|
-
* Build a renderer from a style JSON document.
|
|
70
|
-
*/
|
|
71
|
-
constructor(style_json: string);
|
|
72
|
-
/**
|
|
73
|
-
* Register a `.myb` brush under `name` so a `brush-file` node with
|
|
74
|
-
* `src: "@name"` (via the style's `assets` map) resolves to it.
|
|
75
|
-
* Re-registering the same name replaces the previous entry.
|
|
76
|
-
*/
|
|
77
|
-
registerBrush(name: string, myb_json: string): void;
|
|
78
|
-
/**
|
|
79
|
-
* Render a single tile to PNG bytes using the style's `tile-size` / `pad`.
|
|
80
|
-
* Pass `null` for `mvtBytes` to get a paper-only tile.
|
|
65
|
+
* Bind raw tile bytes under a `sources.<name>` entry from the style.
|
|
66
|
+
* The renderer dispatches on the source's declared `type`:
|
|
81
67
|
*
|
|
82
|
-
*
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
*
|
|
87
|
-
*
|
|
68
|
+
* - `mvt` / `pmtiles` → store raw MVT bytes per `(dx, dy)` neighbour
|
|
69
|
+
* offset (centre `coord: [0, 0]`, the default). Layers are bound as
|
|
70
|
+
* `<source>.<layer>` (centre) or `<source>.<layer>@dx,dy`
|
|
71
|
+
* (neighbours) when [`render_tile`] runs. Binding only the centre
|
|
72
|
+
* degrades cross-tile label collision to centre-only at borders.
|
|
73
|
+
* - `dem` / `raster` → store the raw bytes per `(dx, dy)` neighbour
|
|
74
|
+
* offset. The centre tile is `coord: [0, 0]` (default). Decoding
|
|
75
|
+
* and 3×3 stitching happen at render time once the tile id is known.
|
|
76
|
+
* - `geojson` (remote) → store raw bytes per `(dx, dy)` offset;
|
|
77
|
+
* projected per tile (and neighbour) at render time.
|
|
78
|
+
*
|
|
79
|
+
* `opts` is a JS object: `{ coord?: [dx, dy] }`. Throws
|
|
80
|
+
* `UnknownSource` if `name` doesn't match any entry in the style's
|
|
81
|
+
* `sources` block, `MvtDecode` if MVT bytes don't parse, and
|
|
82
|
+
* `DemDecode` for non-image DEM bytes (the decode itself runs at
|
|
83
|
+
* render time, but obvious cases are caught here).
|
|
88
84
|
*/
|
|
89
|
-
|
|
85
|
+
bindSource(name: string, bytes: Uint8Array, opts?: object | null): void;
|
|
90
86
|
/**
|
|
91
|
-
*
|
|
87
|
+
* Names of every source with at least one pending binding.
|
|
88
|
+
* Order matches the style's `sources` declaration order.
|
|
92
89
|
*/
|
|
93
|
-
|
|
90
|
+
boundSources(): string[];
|
|
94
91
|
/**
|
|
95
|
-
*
|
|
92
|
+
* Drop every pending source binding. Call between tile renders.
|
|
96
93
|
*/
|
|
97
|
-
|
|
94
|
+
clearSources(): void;
|
|
98
95
|
/**
|
|
99
|
-
*
|
|
100
|
-
* for the same painterly content and decoded natively by every
|
|
101
|
-
* modern browser. WebP is lossless-only via the pure-Rust
|
|
102
|
-
* `image-webp` codec; for lossy WebP, see the
|
|
103
|
-
* `OffscreenCanvas.convertToBlob` recipe in the crate README.
|
|
96
|
+
* Build a renderer from a style JSON document.
|
|
104
97
|
*/
|
|
105
|
-
|
|
98
|
+
constructor(style_json: string);
|
|
106
99
|
/**
|
|
107
|
-
*
|
|
100
|
+
* Render a single tile using whatever sources are currently bound.
|
|
101
|
+
*
|
|
102
|
+
* `opts` (JS object, all fields optional):
|
|
103
|
+
* - `format`: `"png"` (default) / `"webp"` / `"rgba"`
|
|
104
|
+
* - `tileSize`, `pad`: override the style's canvas size for this
|
|
105
|
+
* call (hi-DPI / preview)
|
|
106
|
+
* - `png`: `{ compression?: "fast" | "default" | "best" }`
|
|
108
107
|
*/
|
|
109
|
-
|
|
108
|
+
renderTile(z: number, x: number, y: number, opts?: object | null): Uint8Array;
|
|
110
109
|
/**
|
|
111
110
|
* Replace the active style. Returns the new node count. Invalidates
|
|
112
|
-
* the intermediate cache.
|
|
111
|
+
* the intermediate cache and drops any pending source bindings.
|
|
113
112
|
*/
|
|
114
113
|
setStyle(style_json: string): number;
|
|
115
114
|
/**
|
|
116
|
-
*
|
|
115
|
+
* Effective attribution declared by the style (document +
|
|
116
|
+
* sources), joined with ` | `. Upstream TileJSON / PMTiles
|
|
117
|
+
* metadata is the JS host's concern — merge it on that side.
|
|
117
118
|
*/
|
|
118
|
-
|
|
119
|
+
readonly attribution: string | undefined;
|
|
119
120
|
/**
|
|
120
121
|
* `tile-size` declared by the current style.
|
|
121
122
|
*/
|
|
@@ -128,6 +129,14 @@ export class Renderer {
|
|
|
128
129
|
*/
|
|
129
130
|
export function simdEnabled(): boolean;
|
|
130
131
|
|
|
132
|
+
/**
|
|
133
|
+
* Whether this build supports multithreaded rendering (compiled with
|
|
134
|
+
* the `threads` feature). When `false`, `initThreadPool` is absent and
|
|
135
|
+
* `renderTile`'s `parallel` option is a no-op. Mirrors `simdEnabled` so
|
|
136
|
+
* the host can label the build.
|
|
137
|
+
*/
|
|
138
|
+
export function threadsEnabled(): boolean;
|
|
139
|
+
|
|
131
140
|
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
|
132
141
|
|
|
133
142
|
export interface InitOutput {
|
|
@@ -142,20 +151,16 @@ export interface InitOutput {
|
|
|
142
151
|
readonly logsink_new: (a: number, b: number) => [number, number, number];
|
|
143
152
|
readonly logsink_onEvent: (a: number, b: number) => void;
|
|
144
153
|
readonly logsink_setCapacity: (a: number, b: number) => void;
|
|
145
|
-
readonly
|
|
146
|
-
readonly
|
|
154
|
+
readonly renderer_attribution: (a: number) => [number, number];
|
|
155
|
+
readonly renderer_bindSource: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
156
|
+
readonly renderer_boundSources: (a: number) => [number, number];
|
|
157
|
+
readonly renderer_clearSources: (a: number) => void;
|
|
147
158
|
readonly renderer_new: (a: number, b: number) => [number, number, number];
|
|
148
|
-
readonly
|
|
149
|
-
readonly renderer_render: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
150
|
-
readonly renderer_renderAt: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
|
|
151
|
-
readonly renderer_renderRgba: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
152
|
-
readonly renderer_renderRgbaAt: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
|
|
153
|
-
readonly renderer_renderWebp: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
154
|
-
readonly renderer_renderWebpAt: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
|
|
159
|
+
readonly renderer_renderTile: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
155
160
|
readonly renderer_setStyle: (a: number, b: number, c: number) => [number, number, number];
|
|
156
161
|
readonly renderer_tileSize: (a: number) => number;
|
|
157
|
-
readonly renderer_unregisterBrush: (a: number, b: number, c: number) => number;
|
|
158
162
|
readonly simdEnabled: () => number;
|
|
163
|
+
readonly threadsEnabled: () => number;
|
|
159
164
|
readonly __wbindgen_malloc_command_export: (a: number, b: number) => number;
|
|
160
165
|
readonly __wbindgen_realloc_command_export: (a: number, b: number, c: number, d: number) => number;
|
|
161
166
|
readonly __wbindgen_exn_store_command_export: (a: number) => void;
|
package/web/ezu.js
CHANGED
|
@@ -80,6 +80,10 @@ export class LogSink {
|
|
|
80
80
|
/**
|
|
81
81
|
* Set (or clear with `null` / `undefined`) the per-event JS
|
|
82
82
|
* callback. The callback receives a structured record object.
|
|
83
|
+
*
|
|
84
|
+
* No-op in multithreaded (`threads`) builds — events can originate
|
|
85
|
+
* on rayon worker threads, so live forwarding to a main-thread JS
|
|
86
|
+
* callback isn't available. Use `drain` / `drainLines` instead.
|
|
83
87
|
* @param {Function | null} [callback]
|
|
84
88
|
*/
|
|
85
89
|
onEvent(callback) {
|
|
@@ -111,186 +115,112 @@ export class Renderer {
|
|
|
111
115
|
wasm.__wbg_renderer_free(ptr, 0);
|
|
112
116
|
}
|
|
113
117
|
/**
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
const ret = wasm.renderer_brushCount(this.__wbg_ptr);
|
|
119
|
-
return ret >>> 0;
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Drop every registered brush.
|
|
118
|
+
* Effective attribution declared by the style (document +
|
|
119
|
+
* sources), joined with ` | `. Upstream TileJSON / PMTiles
|
|
120
|
+
* metadata is the JS host's concern — merge it on that side.
|
|
121
|
+
* @returns {string | undefined}
|
|
123
122
|
*/
|
|
124
|
-
|
|
125
|
-
wasm.
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
*/
|
|
131
|
-
constructor(style_json) {
|
|
132
|
-
const ptr0 = passStringToWasm0(style_json, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);
|
|
133
|
-
const len0 = WASM_VECTOR_LEN;
|
|
134
|
-
const ret = wasm.renderer_new(ptr0, len0);
|
|
135
|
-
if (ret[2]) {
|
|
136
|
-
throw takeFromExternrefTable0(ret[1]);
|
|
123
|
+
get attribution() {
|
|
124
|
+
const ret = wasm.renderer_attribution(this.__wbg_ptr);
|
|
125
|
+
let v1;
|
|
126
|
+
if (ret[0] !== 0) {
|
|
127
|
+
v1 = getStringFromWasm0(ret[0], ret[1]).slice();
|
|
128
|
+
wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);
|
|
137
129
|
}
|
|
138
|
-
|
|
139
|
-
RendererFinalization.register(this, this.__wbg_ptr, this);
|
|
140
|
-
return this;
|
|
130
|
+
return v1;
|
|
141
131
|
}
|
|
142
132
|
/**
|
|
143
|
-
*
|
|
144
|
-
*
|
|
145
|
-
*
|
|
133
|
+
* Bind raw tile bytes under a `sources.<name>` entry from the style.
|
|
134
|
+
* The renderer dispatches on the source's declared `type`:
|
|
135
|
+
*
|
|
136
|
+
* - `mvt` / `pmtiles` → store raw MVT bytes per `(dx, dy)` neighbour
|
|
137
|
+
* offset (centre `coord: [0, 0]`, the default). Layers are bound as
|
|
138
|
+
* `<source>.<layer>` (centre) or `<source>.<layer>@dx,dy`
|
|
139
|
+
* (neighbours) when [`render_tile`] runs. Binding only the centre
|
|
140
|
+
* degrades cross-tile label collision to centre-only at borders.
|
|
141
|
+
* - `dem` / `raster` → store the raw bytes per `(dx, dy)` neighbour
|
|
142
|
+
* offset. The centre tile is `coord: [0, 0]` (default). Decoding
|
|
143
|
+
* and 3×3 stitching happen at render time once the tile id is known.
|
|
144
|
+
* - `geojson` (remote) → store raw bytes per `(dx, dy)` offset;
|
|
145
|
+
* projected per tile (and neighbour) at render time.
|
|
146
|
+
*
|
|
147
|
+
* `opts` is a JS object: `{ coord?: [dx, dy] }`. Throws
|
|
148
|
+
* `UnknownSource` if `name` doesn't match any entry in the style's
|
|
149
|
+
* `sources` block, `MvtDecode` if MVT bytes don't parse, and
|
|
150
|
+
* `DemDecode` for non-image DEM bytes (the decode itself runs at
|
|
151
|
+
* render time, but obvious cases are caught here).
|
|
146
152
|
* @param {string} name
|
|
147
|
-
* @param {
|
|
153
|
+
* @param {Uint8Array} bytes
|
|
154
|
+
* @param {object | null} [opts]
|
|
148
155
|
*/
|
|
149
|
-
|
|
156
|
+
bindSource(name, bytes, opts) {
|
|
150
157
|
const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);
|
|
151
158
|
const len0 = WASM_VECTOR_LEN;
|
|
152
|
-
const ptr1 =
|
|
159
|
+
const ptr1 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc_command_export);
|
|
153
160
|
const len1 = WASM_VECTOR_LEN;
|
|
154
|
-
const ret = wasm.
|
|
161
|
+
const ret = wasm.renderer_bindSource(this.__wbg_ptr, ptr0, len0, ptr1, len1, isLikeNone(opts) ? 0 : addToExternrefTable0(opts));
|
|
155
162
|
if (ret[1]) {
|
|
156
163
|
throw takeFromExternrefTable0(ret[0]);
|
|
157
164
|
}
|
|
158
165
|
}
|
|
159
166
|
/**
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
* Optional `options`: `{ png: { compression: 'fast' | 'default' | 'best' } }`.
|
|
164
|
-
* @param {Uint8Array | null | undefined} mvt_bytes
|
|
165
|
-
* @param {number} z
|
|
166
|
-
* @param {number} x
|
|
167
|
-
* @param {number} y
|
|
168
|
-
* @param {object | null} [options]
|
|
169
|
-
* @returns {Uint8Array}
|
|
170
|
-
*/
|
|
171
|
-
render(mvt_bytes, z, x, y, options) {
|
|
172
|
-
var ptr0 = isLikeNone(mvt_bytes) ? 0 : passArray8ToWasm0(mvt_bytes, wasm.__wbindgen_malloc_command_export);
|
|
173
|
-
var len0 = WASM_VECTOR_LEN;
|
|
174
|
-
const ret = wasm.renderer_render(this.__wbg_ptr, ptr0, len0, z, x, y, isLikeNone(options) ? 0 : addToExternrefTable0(options));
|
|
175
|
-
if (ret[3]) {
|
|
176
|
-
throw takeFromExternrefTable0(ret[2]);
|
|
177
|
-
}
|
|
178
|
-
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
179
|
-
wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);
|
|
180
|
-
return v2;
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Like `render` but with `tile_size` / `pad` overridden — useful for
|
|
184
|
-
* hi-DPI / preview rendering without mutating the style.
|
|
185
|
-
* @param {Uint8Array | null | undefined} mvt_bytes
|
|
186
|
-
* @param {number} z
|
|
187
|
-
* @param {number} x
|
|
188
|
-
* @param {number} y
|
|
189
|
-
* @param {number} tile_size
|
|
190
|
-
* @param {number} pad
|
|
191
|
-
* @param {object | null} [options]
|
|
192
|
-
* @returns {Uint8Array}
|
|
193
|
-
*/
|
|
194
|
-
renderAt(mvt_bytes, z, x, y, tile_size, pad, options) {
|
|
195
|
-
var ptr0 = isLikeNone(mvt_bytes) ? 0 : passArray8ToWasm0(mvt_bytes, wasm.__wbindgen_malloc_command_export);
|
|
196
|
-
var len0 = WASM_VECTOR_LEN;
|
|
197
|
-
const ret = wasm.renderer_renderAt(this.__wbg_ptr, ptr0, len0, z, x, y, tile_size, pad, isLikeNone(options) ? 0 : addToExternrefTable0(options));
|
|
198
|
-
if (ret[3]) {
|
|
199
|
-
throw takeFromExternrefTable0(ret[2]);
|
|
200
|
-
}
|
|
201
|
-
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
202
|
-
wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);
|
|
203
|
-
return v2;
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Render a single tile to straight RGBA8 bytes (`tile_w * tile_h * 4`).
|
|
207
|
-
* @param {Uint8Array | null | undefined} mvt_bytes
|
|
208
|
-
* @param {number} z
|
|
209
|
-
* @param {number} x
|
|
210
|
-
* @param {number} y
|
|
211
|
-
* @returns {Uint8Array}
|
|
167
|
+
* Names of every source with at least one pending binding.
|
|
168
|
+
* Order matches the style's `sources` declaration order.
|
|
169
|
+
* @returns {string[]}
|
|
212
170
|
*/
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
var
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
throw takeFromExternrefTable0(ret[2]);
|
|
219
|
-
}
|
|
220
|
-
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
221
|
-
wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);
|
|
222
|
-
return v2;
|
|
171
|
+
boundSources() {
|
|
172
|
+
const ret = wasm.renderer_boundSources(this.__wbg_ptr);
|
|
173
|
+
var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
|
|
174
|
+
wasm.__wbindgen_free_command_export(ret[0], ret[1] * 4, 4);
|
|
175
|
+
return v1;
|
|
223
176
|
}
|
|
224
177
|
/**
|
|
225
|
-
*
|
|
226
|
-
* @param {Uint8Array | null | undefined} mvt_bytes
|
|
227
|
-
* @param {number} z
|
|
228
|
-
* @param {number} x
|
|
229
|
-
* @param {number} y
|
|
230
|
-
* @param {number} tile_size
|
|
231
|
-
* @param {number} pad
|
|
232
|
-
* @returns {Uint8Array}
|
|
178
|
+
* Drop every pending source binding. Call between tile renders.
|
|
233
179
|
*/
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
var len0 = WASM_VECTOR_LEN;
|
|
237
|
-
const ret = wasm.renderer_renderRgbaAt(this.__wbg_ptr, ptr0, len0, z, x, y, tile_size, pad);
|
|
238
|
-
if (ret[3]) {
|
|
239
|
-
throw takeFromExternrefTable0(ret[2]);
|
|
240
|
-
}
|
|
241
|
-
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
242
|
-
wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);
|
|
243
|
-
return v2;
|
|
180
|
+
clearSources() {
|
|
181
|
+
wasm.renderer_clearSources(this.__wbg_ptr);
|
|
244
182
|
}
|
|
245
183
|
/**
|
|
246
|
-
*
|
|
247
|
-
*
|
|
248
|
-
* modern browser. WebP is lossless-only via the pure-Rust
|
|
249
|
-
* `image-webp` codec; for lossy WebP, see the
|
|
250
|
-
* `OffscreenCanvas.convertToBlob` recipe in the crate README.
|
|
251
|
-
* @param {Uint8Array | null | undefined} mvt_bytes
|
|
252
|
-
* @param {number} z
|
|
253
|
-
* @param {number} x
|
|
254
|
-
* @param {number} y
|
|
255
|
-
* @param {object | null} [options]
|
|
256
|
-
* @returns {Uint8Array}
|
|
184
|
+
* Build a renderer from a style JSON document.
|
|
185
|
+
* @param {string} style_json
|
|
257
186
|
*/
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
const ret = wasm.
|
|
262
|
-
if (ret[
|
|
263
|
-
throw takeFromExternrefTable0(ret[
|
|
187
|
+
constructor(style_json) {
|
|
188
|
+
const ptr0 = passStringToWasm0(style_json, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);
|
|
189
|
+
const len0 = WASM_VECTOR_LEN;
|
|
190
|
+
const ret = wasm.renderer_new(ptr0, len0);
|
|
191
|
+
if (ret[2]) {
|
|
192
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
264
193
|
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
return
|
|
194
|
+
this.__wbg_ptr = ret[0];
|
|
195
|
+
RendererFinalization.register(this, this.__wbg_ptr, this);
|
|
196
|
+
return this;
|
|
268
197
|
}
|
|
269
198
|
/**
|
|
270
|
-
*
|
|
271
|
-
*
|
|
199
|
+
* Render a single tile using whatever sources are currently bound.
|
|
200
|
+
*
|
|
201
|
+
* `opts` (JS object, all fields optional):
|
|
202
|
+
* - `format`: `"png"` (default) / `"webp"` / `"rgba"`
|
|
203
|
+
* - `tileSize`, `pad`: override the style's canvas size for this
|
|
204
|
+
* call (hi-DPI / preview)
|
|
205
|
+
* - `png`: `{ compression?: "fast" | "default" | "best" }`
|
|
272
206
|
* @param {number} z
|
|
273
207
|
* @param {number} x
|
|
274
208
|
* @param {number} y
|
|
275
|
-
* @param {
|
|
276
|
-
* @param {number} pad
|
|
277
|
-
* @param {object | null} [options]
|
|
209
|
+
* @param {object | null} [opts]
|
|
278
210
|
* @returns {Uint8Array}
|
|
279
211
|
*/
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
var len0 = WASM_VECTOR_LEN;
|
|
283
|
-
const ret = wasm.renderer_renderWebpAt(this.__wbg_ptr, ptr0, len0, z, x, y, tile_size, pad, isLikeNone(options) ? 0 : addToExternrefTable0(options));
|
|
212
|
+
renderTile(z, x, y, opts) {
|
|
213
|
+
const ret = wasm.renderer_renderTile(this.__wbg_ptr, z, x, y, isLikeNone(opts) ? 0 : addToExternrefTable0(opts));
|
|
284
214
|
if (ret[3]) {
|
|
285
215
|
throw takeFromExternrefTable0(ret[2]);
|
|
286
216
|
}
|
|
287
|
-
var
|
|
217
|
+
var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
288
218
|
wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);
|
|
289
|
-
return
|
|
219
|
+
return v1;
|
|
290
220
|
}
|
|
291
221
|
/**
|
|
292
222
|
* Replace the active style. Returns the new node count. Invalidates
|
|
293
|
-
* the intermediate cache.
|
|
223
|
+
* the intermediate cache and drops any pending source bindings.
|
|
294
224
|
* @param {string} style_json
|
|
295
225
|
* @returns {number}
|
|
296
226
|
*/
|
|
@@ -311,17 +241,6 @@ export class Renderer {
|
|
|
311
241
|
const ret = wasm.renderer_tileSize(this.__wbg_ptr);
|
|
312
242
|
return ret >>> 0;
|
|
313
243
|
}
|
|
314
|
-
/**
|
|
315
|
-
* Remove a brush by name. Returns `true` if the brush existed.
|
|
316
|
-
* @param {string} name
|
|
317
|
-
* @returns {boolean}
|
|
318
|
-
*/
|
|
319
|
-
unregisterBrush(name) {
|
|
320
|
-
const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);
|
|
321
|
-
const len0 = WASM_VECTOR_LEN;
|
|
322
|
-
const ret = wasm.renderer_unregisterBrush(this.__wbg_ptr, ptr0, len0);
|
|
323
|
-
return ret !== 0;
|
|
324
|
-
}
|
|
325
244
|
}
|
|
326
245
|
if (Symbol.dispose) Renderer.prototype[Symbol.dispose] = Renderer.prototype.free;
|
|
327
246
|
|
|
@@ -334,9 +253,40 @@ export function simdEnabled() {
|
|
|
334
253
|
const ret = wasm.simdEnabled();
|
|
335
254
|
return ret !== 0;
|
|
336
255
|
}
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Whether this build supports multithreaded rendering (compiled with
|
|
259
|
+
* the `threads` feature). When `false`, `initThreadPool` is absent and
|
|
260
|
+
* `renderTile`'s `parallel` option is a no-op. Mirrors `simdEnabled` so
|
|
261
|
+
* the host can label the build.
|
|
262
|
+
* @returns {boolean}
|
|
263
|
+
*/
|
|
264
|
+
export function threadsEnabled() {
|
|
265
|
+
const ret = wasm.threadsEnabled();
|
|
266
|
+
return ret !== 0;
|
|
267
|
+
}
|
|
337
268
|
function __wbg_get_imports() {
|
|
338
269
|
const import0 = {
|
|
339
270
|
__proto__: null,
|
|
271
|
+
__wbg___wbindgen_boolean_get_2304fb8c853028c8: function(arg0) {
|
|
272
|
+
const v = arg0;
|
|
273
|
+
const ret = typeof(v) === 'boolean' ? v : undefined;
|
|
274
|
+
return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;
|
|
275
|
+
},
|
|
276
|
+
__wbg___wbindgen_is_null_2042690d351e14f0: function(arg0) {
|
|
277
|
+
const ret = arg0 === null;
|
|
278
|
+
return ret;
|
|
279
|
+
},
|
|
280
|
+
__wbg___wbindgen_is_undefined_35bb9f4c7fd651d5: function(arg0) {
|
|
281
|
+
const ret = arg0 === undefined;
|
|
282
|
+
return ret;
|
|
283
|
+
},
|
|
284
|
+
__wbg___wbindgen_number_get_f73a1244370fcc2c: function(arg0, arg1) {
|
|
285
|
+
const obj = arg1;
|
|
286
|
+
const ret = typeof(obj) === 'number' ? obj : undefined;
|
|
287
|
+
getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);
|
|
288
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);
|
|
289
|
+
},
|
|
340
290
|
__wbg___wbindgen_string_get_d109740c0d18f4d7: function(arg0, arg1) {
|
|
341
291
|
const obj = arg1;
|
|
342
292
|
const ret = typeof(obj) === 'string' ? obj : undefined;
|
|
@@ -363,6 +313,10 @@ function __wbg_get_imports() {
|
|
|
363
313
|
wasm.__wbindgen_free_command_export(deferred0_0, deferred0_1, 1);
|
|
364
314
|
}
|
|
365
315
|
},
|
|
316
|
+
__wbg_get_98fdf51d029a75eb: function(arg0, arg1) {
|
|
317
|
+
const ret = arg0[arg1 >>> 0];
|
|
318
|
+
return ret;
|
|
319
|
+
},
|
|
366
320
|
__wbg_get_dcf82ab8aad1a593: function() { return handleError(function (arg0, arg1) {
|
|
367
321
|
const ret = Reflect.get(arg0, arg1);
|
|
368
322
|
return ret;
|
|
@@ -377,6 +331,14 @@ function __wbg_get_imports() {
|
|
|
377
331
|
const ret = result;
|
|
378
332
|
return ret;
|
|
379
333
|
},
|
|
334
|
+
__wbg_isArray_94898ed3aad6947b: function(arg0) {
|
|
335
|
+
const ret = Array.isArray(arg0);
|
|
336
|
+
return ret;
|
|
337
|
+
},
|
|
338
|
+
__wbg_length_2591a0f4f659a55c: function(arg0) {
|
|
339
|
+
const ret = arg0.length;
|
|
340
|
+
return ret;
|
|
341
|
+
},
|
|
380
342
|
__wbg_new_02d162bc6cf02f60: function() {
|
|
381
343
|
const ret = new Object();
|
|
382
344
|
return ret;
|
package/web/ezu_bg.wasm
CHANGED
|
Binary file
|
package/web/ezu_bg.wasm.d.ts
CHANGED
|
@@ -11,20 +11,16 @@ export const logsink_len: (a: number) => number;
|
|
|
11
11
|
export const logsink_new: (a: number, b: number) => [number, number, number];
|
|
12
12
|
export const logsink_onEvent: (a: number, b: number) => void;
|
|
13
13
|
export const logsink_setCapacity: (a: number, b: number) => void;
|
|
14
|
-
export const
|
|
15
|
-
export const
|
|
14
|
+
export const renderer_attribution: (a: number) => [number, number];
|
|
15
|
+
export const renderer_bindSource: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
16
|
+
export const renderer_boundSources: (a: number) => [number, number];
|
|
17
|
+
export const renderer_clearSources: (a: number) => void;
|
|
16
18
|
export const renderer_new: (a: number, b: number) => [number, number, number];
|
|
17
|
-
export const
|
|
18
|
-
export const renderer_render: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
19
|
-
export const renderer_renderAt: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
|
|
20
|
-
export const renderer_renderRgba: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
21
|
-
export const renderer_renderRgbaAt: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
|
|
22
|
-
export const renderer_renderWebp: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
23
|
-
export const renderer_renderWebpAt: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
|
|
19
|
+
export const renderer_renderTile: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
24
20
|
export const renderer_setStyle: (a: number, b: number, c: number) => [number, number, number];
|
|
25
21
|
export const renderer_tileSize: (a: number) => number;
|
|
26
|
-
export const renderer_unregisterBrush: (a: number, b: number, c: number) => number;
|
|
27
22
|
export const simdEnabled: () => number;
|
|
23
|
+
export const threadsEnabled: () => number;
|
|
28
24
|
export const __wbindgen_malloc_command_export: (a: number, b: number) => number;
|
|
29
25
|
export const __wbindgen_realloc_command_export: (a: number, b: number, c: number, d: number) => number;
|
|
30
26
|
export const __wbindgen_exn_store_command_export: (a: number) => void;
|