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