@takumi-rs/wasm 0.40.2 → 0.42.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 CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  Takumi is a **image rendering engine** written in Rust and this package provides WebAssembly bindings.
4
4
 
5
- Please refer to the [WebAssembly (In Browser)](https://takumi.kane.tw/docs/getting-started/wasm-web) page in our official documentation for more details.
5
+ Please refer to the [WebAssembly (In Browser)](https://takumi.kane.tw/docs/integrations/wasm-web) page in our official documentation for more details.
6
6
 
7
7
  If you are looking for Node.js bindings, take a look at the [@takumi-rs/core](https://npmjs.com/package/@takumi-rs/core) package.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takumi-rs/wasm",
3
- "version": "0.40.2",
3
+ "version": "0.42.0",
4
4
  "keywords": [
5
5
  "image",
6
6
  "rendering",
@@ -40,17 +40,17 @@ export class AnimationFrameSource {
40
40
  export class Renderer {
41
41
  free(): void;
42
42
  [Symbol.dispose](): void;
43
- constructor();
43
+ renderAnimation(frames: AnimationFrameSource[], options: RenderAnimationOptions): Uint8Array;
44
+ clearImageStore(): void;
45
+ renderAsDataUrl(node: AnyNode, options: RenderOptions): string;
44
46
  /**
45
47
  * @deprecated use `loadFont` instead.
46
48
  */
47
49
  loadFontWithInfo(font: Font): void;
48
- loadFont(font: Font): void;
49
50
  putPersistentImage(src: string, data: Uint8Array): void;
50
- clearImageStore(): void;
51
+ constructor();
51
52
  render(node: AnyNode, options: RenderOptions): Uint8Array;
52
- renderAsDataUrl(node: AnyNode, options: RenderOptions): string;
53
- renderAnimation(frames: AnimationFrameSource[], options: RenderAnimationOptions): Uint8Array;
53
+ loadFont(font: Font): void;
54
54
  }
55
55
 
56
56
  export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
@@ -58,17 +58,17 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
58
58
  export interface InitOutput {
59
59
  readonly memory: WebAssembly.Memory;
60
60
  readonly __wbg_animationframesource_free: (a: number, b: number) => void;
61
- readonly animationframesource_new: (a: any, b: number) => number;
62
61
  readonly __wbg_renderer_free: (a: number, b: number) => void;
63
- readonly renderer_new: () => number;
62
+ readonly animationframesource_new: (a: any, b: number) => number;
63
+ readonly collectNodeFetchTasks: (a: any) => [number, number];
64
+ readonly renderer_clearImageStore: (a: number) => void;
64
65
  readonly renderer_loadFont: (a: number, b: any) => void;
66
+ readonly renderer_loadFontWithInfo: (a: number, b: any) => void;
67
+ readonly renderer_new: () => number;
65
68
  readonly renderer_putPersistentImage: (a: number, b: number, c: number, d: number, e: number) => void;
66
- readonly renderer_clearImageStore: (a: number) => void;
67
69
  readonly renderer_render: (a: number, b: any, c: any) => [number, number];
68
- readonly renderer_renderAsDataUrl: (a: number, b: any, c: any) => [number, number];
69
70
  readonly renderer_renderAnimation: (a: number, b: number, c: number, d: any) => [number, number];
70
- readonly collectNodeFetchTasks: (a: any) => [number, number];
71
- readonly renderer_loadFontWithInfo: (a: number, b: any) => void;
71
+ readonly renderer_renderAsDataUrl: (a: number, b: any, c: any) => [number, number];
72
72
  readonly __wbindgen_malloc: (a: number, b: number) => number;
73
73
  readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
74
74
  readonly __wbindgen_exn_store: (a: number) => void;
@@ -182,23 +182,6 @@ function getArrayU8FromWasm0(ptr, len) {
182
182
  return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
183
183
  }
184
184
 
185
- function passArray8ToWasm0(arg, malloc) {
186
- const ptr = malloc(arg.length * 1, 1) >>> 0;
187
- getUint8ArrayMemory0().set(arg, ptr / 1);
188
- WASM_VECTOR_LEN = arg.length;
189
- return ptr;
190
- }
191
-
192
- function passArrayJsValueToWasm0(array, malloc) {
193
- const ptr = malloc(array.length * 4, 4) >>> 0;
194
- for (let i = 0; i < array.length; i++) {
195
- const add = addToExternrefTable0(array[i]);
196
- getDataViewMemory0().setUint32(ptr + 4 * i, add, true);
197
- }
198
- WASM_VECTOR_LEN = array.length;
199
- return ptr;
200
- }
201
-
202
185
  function getArrayJsValueFromWasm0(ptr, len) {
203
186
  ptr = ptr >>> 0;
204
187
  const mem = getDataViewMemory0();
@@ -220,6 +203,23 @@ export function collectNodeFetchTasks(node) {
220
203
  return v1;
221
204
  }
222
205
 
206
+ function passArrayJsValueToWasm0(array, malloc) {
207
+ const ptr = malloc(array.length * 4, 4) >>> 0;
208
+ for (let i = 0; i < array.length; i++) {
209
+ const add = addToExternrefTable0(array[i]);
210
+ getDataViewMemory0().setUint32(ptr + 4 * i, add, true);
211
+ }
212
+ WASM_VECTOR_LEN = array.length;
213
+ return ptr;
214
+ }
215
+
216
+ function passArray8ToWasm0(arg, malloc) {
217
+ const ptr = malloc(arg.length * 1, 1) >>> 0;
218
+ getUint8ArrayMemory0().set(arg, ptr / 1);
219
+ WASM_VECTOR_LEN = arg.length;
220
+ return ptr;
221
+ }
222
+
223
223
  const AnimationFrameSourceFinalization = (typeof FinalizationRegistry === 'undefined')
224
224
  ? { register: () => {}, unregister: () => {} }
225
225
  : new FinalizationRegistry(ptr => wasm.__wbg_animationframesource_free(ptr >>> 0, 1));
@@ -274,24 +274,45 @@ export class Renderer {
274
274
  const ptr = this.__destroy_into_raw();
275
275
  wasm.__wbg_renderer_free(ptr, 0);
276
276
  }
277
- constructor() {
278
- const ret = wasm.renderer_new();
279
- this.__wbg_ptr = ret >>> 0;
280
- RendererFinalization.register(this, this.__wbg_ptr, this);
281
- return this;
277
+ /**
278
+ * @param {AnimationFrameSource[]} frames
279
+ * @param {RenderAnimationOptions} options
280
+ * @returns {Uint8Array}
281
+ */
282
+ renderAnimation(frames, options) {
283
+ const ptr0 = passArrayJsValueToWasm0(frames, wasm.__wbindgen_malloc);
284
+ const len0 = WASM_VECTOR_LEN;
285
+ const ret = wasm.renderer_renderAnimation(this.__wbg_ptr, ptr0, len0, options);
286
+ var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
287
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
288
+ return v2;
289
+ }
290
+ clearImageStore() {
291
+ wasm.renderer_clearImageStore(this.__wbg_ptr);
282
292
  }
283
293
  /**
284
- * @deprecated use `loadFont` instead.
285
- * @param {Font} font
294
+ * @param {AnyNode} node
295
+ * @param {RenderOptions} options
296
+ * @returns {string}
286
297
  */
287
- loadFontWithInfo(font) {
288
- wasm.renderer_loadFontWithInfo(this.__wbg_ptr, font);
298
+ renderAsDataUrl(node, options) {
299
+ let deferred1_0;
300
+ let deferred1_1;
301
+ try {
302
+ const ret = wasm.renderer_renderAsDataUrl(this.__wbg_ptr, node, options);
303
+ deferred1_0 = ret[0];
304
+ deferred1_1 = ret[1];
305
+ return getStringFromWasm0(ret[0], ret[1]);
306
+ } finally {
307
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
308
+ }
289
309
  }
290
310
  /**
311
+ * @deprecated use `loadFont` instead.
291
312
  * @param {Font} font
292
313
  */
293
- loadFont(font) {
294
- wasm.renderer_loadFont(this.__wbg_ptr, font);
314
+ loadFontWithInfo(font) {
315
+ wasm.renderer_loadFontWithInfo(this.__wbg_ptr, font);
295
316
  }
296
317
  /**
297
318
  * @param {string} src
@@ -304,8 +325,11 @@ export class Renderer {
304
325
  const len1 = WASM_VECTOR_LEN;
305
326
  wasm.renderer_putPersistentImage(this.__wbg_ptr, ptr0, len0, ptr1, len1);
306
327
  }
307
- clearImageStore() {
308
- wasm.renderer_clearImageStore(this.__wbg_ptr);
328
+ constructor() {
329
+ const ret = wasm.renderer_new();
330
+ this.__wbg_ptr = ret >>> 0;
331
+ RendererFinalization.register(this, this.__wbg_ptr, this);
332
+ return this;
309
333
  }
310
334
  /**
311
335
  * @param {AnyNode} node
@@ -319,34 +343,10 @@ export class Renderer {
319
343
  return v1;
320
344
  }
321
345
  /**
322
- * @param {AnyNode} node
323
- * @param {RenderOptions} options
324
- * @returns {string}
325
- */
326
- renderAsDataUrl(node, options) {
327
- let deferred1_0;
328
- let deferred1_1;
329
- try {
330
- const ret = wasm.renderer_renderAsDataUrl(this.__wbg_ptr, node, options);
331
- deferred1_0 = ret[0];
332
- deferred1_1 = ret[1];
333
- return getStringFromWasm0(ret[0], ret[1]);
334
- } finally {
335
- wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
336
- }
337
- }
338
- /**
339
- * @param {AnimationFrameSource[]} frames
340
- * @param {RenderAnimationOptions} options
341
- * @returns {Uint8Array}
346
+ * @param {Font} font
342
347
  */
343
- renderAnimation(frames, options) {
344
- const ptr0 = passArrayJsValueToWasm0(frames, wasm.__wbindgen_malloc);
345
- const len0 = WASM_VECTOR_LEN;
346
- const ret = wasm.renderer_renderAnimation(this.__wbg_ptr, ptr0, len0, options);
347
- var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
348
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
349
- return v2;
348
+ loadFont(font) {
349
+ wasm.renderer_loadFont(this.__wbg_ptr, font);
350
350
  }
351
351
  }
352
352
  if (Symbol.dispose) Renderer.prototype[Symbol.dispose] = Renderer.prototype.free;
Binary file
@@ -2,17 +2,17 @@
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
4
  export const __wbg_animationframesource_free: (a: number, b: number) => void;
5
- export const animationframesource_new: (a: any, b: number) => number;
6
5
  export const __wbg_renderer_free: (a: number, b: number) => void;
7
- export const renderer_new: () => number;
6
+ export const animationframesource_new: (a: any, b: number) => number;
7
+ export const collectNodeFetchTasks: (a: any) => [number, number];
8
+ export const renderer_clearImageStore: (a: number) => void;
8
9
  export const renderer_loadFont: (a: number, b: any) => void;
10
+ export const renderer_loadFontWithInfo: (a: number, b: any) => void;
11
+ export const renderer_new: () => number;
9
12
  export const renderer_putPersistentImage: (a: number, b: number, c: number, d: number, e: number) => void;
10
- export const renderer_clearImageStore: (a: number) => void;
11
13
  export const renderer_render: (a: number, b: any, c: any) => [number, number];
12
- export const renderer_renderAsDataUrl: (a: number, b: any, c: any) => [number, number];
13
14
  export const renderer_renderAnimation: (a: number, b: number, c: number, d: any) => [number, number];
14
- export const collectNodeFetchTasks: (a: any) => [number, number];
15
- export const renderer_loadFontWithInfo: (a: number, b: any) => void;
15
+ export const renderer_renderAsDataUrl: (a: number, b: any, c: any) => [number, number];
16
16
  export const __wbindgen_malloc: (a: number, b: number) => number;
17
17
  export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
18
18
  export const __wbindgen_exn_store: (a: number) => void;