@reearth/ezu 0.2.0 → 0.3.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 +30 -44
- package/bundler/ezu_bg.js +78 -157
- package/bundler/ezu_bg.wasm +0 -0
- package/bundler/ezu_bg.wasm.d.ts +4 -10
- package/nodejs/ezu.d.ts +30 -44
- package/nodejs/ezu.js +78 -157
- package/nodejs/ezu_bg.wasm +0 -0
- package/nodejs/ezu_bg.wasm.d.ts +4 -10
- package/package.json +9 -2
- package/web/ezu.d.ts +34 -54
- package/web/ezu.js +78 -157
- package/web/ezu_bg.wasm +0 -0
- package/web/ezu_bg.wasm.d.ts +4 -10
package/web/ezu.js
CHANGED
|
@@ -111,18 +111,50 @@ export class Renderer {
|
|
|
111
111
|
wasm.__wbg_renderer_free(ptr, 0);
|
|
112
112
|
}
|
|
113
113
|
/**
|
|
114
|
-
*
|
|
115
|
-
*
|
|
114
|
+
* Bind raw tile bytes under a `sources.<name>` entry from the style.
|
|
115
|
+
* The renderer dispatches on the source's declared `type`:
|
|
116
|
+
*
|
|
117
|
+
* - `mvt` / `pmtiles` → decode MVT layers eagerly; layers are bound
|
|
118
|
+
* as `tile.<layer>` when [`render_tile`] runs.
|
|
119
|
+
* - `dem` → store the raw raster-DEM bytes per `(dx, dy)` neighbour
|
|
120
|
+
* offset. The centre tile is `coord: [0, 0]` (default). Decoding
|
|
121
|
+
* and 3×3 stitching happen at render time once the tile id is known.
|
|
122
|
+
*
|
|
123
|
+
* `opts` is a JS object: `{ coord?: [dx, dy] }`. Throws
|
|
124
|
+
* `UnknownSource` if `name` doesn't match any entry in the style's
|
|
125
|
+
* `sources` block, `MvtDecode` if MVT bytes don't parse, and
|
|
126
|
+
* `DemDecode` for non-image DEM bytes (the decode itself runs at
|
|
127
|
+
* render time, but obvious cases are caught here).
|
|
128
|
+
* @param {string} name
|
|
129
|
+
* @param {Uint8Array} bytes
|
|
130
|
+
* @param {object | null} [opts]
|
|
116
131
|
*/
|
|
117
|
-
|
|
118
|
-
const
|
|
119
|
-
|
|
132
|
+
bindSource(name, bytes, opts) {
|
|
133
|
+
const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);
|
|
134
|
+
const len0 = WASM_VECTOR_LEN;
|
|
135
|
+
const ptr1 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc_command_export);
|
|
136
|
+
const len1 = WASM_VECTOR_LEN;
|
|
137
|
+
const ret = wasm.renderer_bindSource(this.__wbg_ptr, ptr0, len0, ptr1, len1, isLikeNone(opts) ? 0 : addToExternrefTable0(opts));
|
|
138
|
+
if (ret[1]) {
|
|
139
|
+
throw takeFromExternrefTable0(ret[0]);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Names of every source with at least one pending binding.
|
|
144
|
+
* Order matches the style's `sources` declaration order.
|
|
145
|
+
* @returns {string[]}
|
|
146
|
+
*/
|
|
147
|
+
boundSources() {
|
|
148
|
+
const ret = wasm.renderer_boundSources(this.__wbg_ptr);
|
|
149
|
+
var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
|
|
150
|
+
wasm.__wbindgen_free_command_export(ret[0], ret[1] * 4, 4);
|
|
151
|
+
return v1;
|
|
120
152
|
}
|
|
121
153
|
/**
|
|
122
|
-
* Drop every
|
|
154
|
+
* Drop every pending source binding. Call between tile renders.
|
|
123
155
|
*/
|
|
124
|
-
|
|
125
|
-
wasm.
|
|
156
|
+
clearSources() {
|
|
157
|
+
wasm.renderer_clearSources(this.__wbg_ptr);
|
|
126
158
|
}
|
|
127
159
|
/**
|
|
128
160
|
* Build a renderer from a style JSON document.
|
|
@@ -140,157 +172,31 @@ export class Renderer {
|
|
|
140
172
|
return this;
|
|
141
173
|
}
|
|
142
174
|
/**
|
|
143
|
-
*
|
|
144
|
-
* `src: "@name"` (via the style's `assets` map) resolves to it.
|
|
145
|
-
* Re-registering the same name replaces the previous entry.
|
|
146
|
-
* @param {string} name
|
|
147
|
-
* @param {string} myb_json
|
|
148
|
-
*/
|
|
149
|
-
registerBrush(name, myb_json) {
|
|
150
|
-
const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);
|
|
151
|
-
const len0 = WASM_VECTOR_LEN;
|
|
152
|
-
const ptr1 = passStringToWasm0(myb_json, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);
|
|
153
|
-
const len1 = WASM_VECTOR_LEN;
|
|
154
|
-
const ret = wasm.renderer_registerBrush(this.__wbg_ptr, ptr0, len0, ptr1, len1);
|
|
155
|
-
if (ret[1]) {
|
|
156
|
-
throw takeFromExternrefTable0(ret[0]);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Render a single tile to PNG bytes using the style's `tile-size` / `pad`.
|
|
161
|
-
* Pass `null` for `mvtBytes` to get a paper-only tile.
|
|
175
|
+
* Render a single tile using whatever sources are currently bound.
|
|
162
176
|
*
|
|
163
|
-
*
|
|
164
|
-
*
|
|
165
|
-
*
|
|
166
|
-
*
|
|
167
|
-
*
|
|
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}
|
|
212
|
-
*/
|
|
213
|
-
renderRgba(mvt_bytes, z, x, y) {
|
|
214
|
-
var ptr0 = isLikeNone(mvt_bytes) ? 0 : passArray8ToWasm0(mvt_bytes, wasm.__wbindgen_malloc_command_export);
|
|
215
|
-
var len0 = WASM_VECTOR_LEN;
|
|
216
|
-
const ret = wasm.renderer_renderRgba(this.__wbg_ptr, ptr0, len0, z, x, y);
|
|
217
|
-
if (ret[3]) {
|
|
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;
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Like `renderRgba` but with `tile_size` / `pad` overridden.
|
|
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}
|
|
233
|
-
*/
|
|
234
|
-
renderRgbaAt(mvt_bytes, z, x, y, tile_size, pad) {
|
|
235
|
-
var ptr0 = isLikeNone(mvt_bytes) ? 0 : passArray8ToWasm0(mvt_bytes, wasm.__wbindgen_malloc_command_export);
|
|
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;
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* Render a single tile to lossless WebP bytes. Smaller than PNG
|
|
247
|
-
* for the same painterly content and decoded natively by every
|
|
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}
|
|
257
|
-
*/
|
|
258
|
-
renderWebp(mvt_bytes, z, x, y, options) {
|
|
259
|
-
var ptr0 = isLikeNone(mvt_bytes) ? 0 : passArray8ToWasm0(mvt_bytes, wasm.__wbindgen_malloc_command_export);
|
|
260
|
-
var len0 = WASM_VECTOR_LEN;
|
|
261
|
-
const ret = wasm.renderer_renderWebp(this.__wbg_ptr, ptr0, len0, z, x, y, isLikeNone(options) ? 0 : addToExternrefTable0(options));
|
|
262
|
-
if (ret[3]) {
|
|
263
|
-
throw takeFromExternrefTable0(ret[2]);
|
|
264
|
-
}
|
|
265
|
-
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
266
|
-
wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);
|
|
267
|
-
return v2;
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* Like `renderWebp` but with `tile_size` / `pad` overridden.
|
|
271
|
-
* @param {Uint8Array | null | undefined} mvt_bytes
|
|
177
|
+
* `opts` (JS object, all fields optional):
|
|
178
|
+
* - `format`: `"png"` (default) / `"webp"` / `"rgba"`
|
|
179
|
+
* - `tileSize`, `pad`: override the style's canvas size for this
|
|
180
|
+
* call (hi-DPI / preview)
|
|
181
|
+
* - `png`: `{ compression?: "fast" | "default" | "best" }`
|
|
272
182
|
* @param {number} z
|
|
273
183
|
* @param {number} x
|
|
274
184
|
* @param {number} y
|
|
275
|
-
* @param {
|
|
276
|
-
* @param {number} pad
|
|
277
|
-
* @param {object | null} [options]
|
|
185
|
+
* @param {object | null} [opts]
|
|
278
186
|
* @returns {Uint8Array}
|
|
279
187
|
*/
|
|
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));
|
|
188
|
+
renderTile(z, x, y, opts) {
|
|
189
|
+
const ret = wasm.renderer_renderTile(this.__wbg_ptr, z, x, y, isLikeNone(opts) ? 0 : addToExternrefTable0(opts));
|
|
284
190
|
if (ret[3]) {
|
|
285
191
|
throw takeFromExternrefTable0(ret[2]);
|
|
286
192
|
}
|
|
287
|
-
var
|
|
193
|
+
var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
288
194
|
wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);
|
|
289
|
-
return
|
|
195
|
+
return v1;
|
|
290
196
|
}
|
|
291
197
|
/**
|
|
292
198
|
* Replace the active style. Returns the new node count. Invalidates
|
|
293
|
-
* the intermediate cache.
|
|
199
|
+
* the intermediate cache and drops any pending source bindings.
|
|
294
200
|
* @param {string} style_json
|
|
295
201
|
* @returns {number}
|
|
296
202
|
*/
|
|
@@ -311,17 +217,6 @@ export class Renderer {
|
|
|
311
217
|
const ret = wasm.renderer_tileSize(this.__wbg_ptr);
|
|
312
218
|
return ret >>> 0;
|
|
313
219
|
}
|
|
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
220
|
}
|
|
326
221
|
if (Symbol.dispose) Renderer.prototype[Symbol.dispose] = Renderer.prototype.free;
|
|
327
222
|
|
|
@@ -337,6 +232,20 @@ export function simdEnabled() {
|
|
|
337
232
|
function __wbg_get_imports() {
|
|
338
233
|
const import0 = {
|
|
339
234
|
__proto__: null,
|
|
235
|
+
__wbg___wbindgen_is_null_2042690d351e14f0: function(arg0) {
|
|
236
|
+
const ret = arg0 === null;
|
|
237
|
+
return ret;
|
|
238
|
+
},
|
|
239
|
+
__wbg___wbindgen_is_undefined_35bb9f4c7fd651d5: function(arg0) {
|
|
240
|
+
const ret = arg0 === undefined;
|
|
241
|
+
return ret;
|
|
242
|
+
},
|
|
243
|
+
__wbg___wbindgen_number_get_f73a1244370fcc2c: function(arg0, arg1) {
|
|
244
|
+
const obj = arg1;
|
|
245
|
+
const ret = typeof(obj) === 'number' ? obj : undefined;
|
|
246
|
+
getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);
|
|
247
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);
|
|
248
|
+
},
|
|
340
249
|
__wbg___wbindgen_string_get_d109740c0d18f4d7: function(arg0, arg1) {
|
|
341
250
|
const obj = arg1;
|
|
342
251
|
const ret = typeof(obj) === 'string' ? obj : undefined;
|
|
@@ -363,6 +272,10 @@ function __wbg_get_imports() {
|
|
|
363
272
|
wasm.__wbindgen_free_command_export(deferred0_0, deferred0_1, 1);
|
|
364
273
|
}
|
|
365
274
|
},
|
|
275
|
+
__wbg_get_98fdf51d029a75eb: function(arg0, arg1) {
|
|
276
|
+
const ret = arg0[arg1 >>> 0];
|
|
277
|
+
return ret;
|
|
278
|
+
},
|
|
366
279
|
__wbg_get_dcf82ab8aad1a593: function() { return handleError(function (arg0, arg1) {
|
|
367
280
|
const ret = Reflect.get(arg0, arg1);
|
|
368
281
|
return ret;
|
|
@@ -377,6 +290,14 @@ function __wbg_get_imports() {
|
|
|
377
290
|
const ret = result;
|
|
378
291
|
return ret;
|
|
379
292
|
},
|
|
293
|
+
__wbg_isArray_94898ed3aad6947b: function(arg0) {
|
|
294
|
+
const ret = Array.isArray(arg0);
|
|
295
|
+
return ret;
|
|
296
|
+
},
|
|
297
|
+
__wbg_length_2591a0f4f659a55c: function(arg0) {
|
|
298
|
+
const ret = arg0.length;
|
|
299
|
+
return ret;
|
|
300
|
+
},
|
|
380
301
|
__wbg_new_02d162bc6cf02f60: function() {
|
|
381
302
|
const ret = new Object();
|
|
382
303
|
return ret;
|
package/web/ezu_bg.wasm
CHANGED
|
Binary file
|
package/web/ezu_bg.wasm.d.ts
CHANGED
|
@@ -11,19 +11,13 @@ 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_bindSource: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
15
|
+
export const renderer_boundSources: (a: number) => [number, number];
|
|
16
|
+
export const renderer_clearSources: (a: number) => void;
|
|
16
17
|
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];
|
|
18
|
+
export const renderer_renderTile: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
24
19
|
export const renderer_setStyle: (a: number, b: number, c: number) => [number, number, number];
|
|
25
20
|
export const renderer_tileSize: (a: number) => number;
|
|
26
|
-
export const renderer_unregisterBrush: (a: number, b: number, c: number) => number;
|
|
27
21
|
export const simdEnabled: () => number;
|
|
28
22
|
export const __wbindgen_malloc_command_export: (a: number, b: number) => number;
|
|
29
23
|
export const __wbindgen_realloc_command_export: (a: number, b: number, c: number, d: number) => number;
|