@tolokoban/tgd 2.0.28 → 2.0.29

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.
Files changed (117) hide show
  1. package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
  2. package/lib/dist/camera/camera-orthographic.js +2 -1
  3. package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
  4. package/lib/dist/camera/camera-perspective.js +4 -10
  5. package/lib/dist/color/color.d.ts +22 -7
  6. package/lib/dist/color/color.d.ts.map +1 -1
  7. package/lib/dist/color/color.js +59 -8
  8. package/lib/dist/color/index.d.ts +1 -0
  9. package/lib/dist/color/index.d.ts.map +1 -1
  10. package/lib/dist/color/index.js +2 -1
  11. package/lib/dist/color/utils.d.ts +12 -0
  12. package/lib/dist/color/utils.d.ts.map +1 -0
  13. package/lib/dist/color/utils.js +21 -0
  14. package/lib/dist/filter/hue-rotation.d.ts.map +1 -1
  15. package/lib/dist/filter/hue-rotation.js +1 -1
  16. package/lib/dist/filter/zoom.d.ts.map +1 -1
  17. package/lib/dist/filter/zoom.js +1 -1
  18. package/lib/dist/geometry/index.d.ts +1 -0
  19. package/lib/dist/geometry/index.d.ts.map +1 -1
  20. package/lib/dist/geometry/index.js +2 -1
  21. package/lib/dist/geometry/tools/index.d.ts +2 -0
  22. package/lib/dist/geometry/tools/index.d.ts.map +1 -0
  23. package/lib/dist/geometry/tools/index.js +2 -0
  24. package/lib/dist/geometry/tools/marching-cubes/data.d.ts +64 -0
  25. package/lib/dist/geometry/tools/marching-cubes/data.d.ts.map +1 -0
  26. package/lib/dist/geometry/tools/marching-cubes/data.js +361 -0
  27. package/lib/dist/geometry/tools/marching-cubes/index.d.ts +3 -0
  28. package/lib/dist/geometry/tools/marching-cubes/index.d.ts.map +1 -0
  29. package/lib/dist/geometry/tools/marching-cubes/index.js +3 -0
  30. package/lib/dist/geometry/tools/marching-cubes/marching-cubes.d.ts +29 -0
  31. package/lib/dist/geometry/tools/marching-cubes/marching-cubes.d.ts.map +1 -0
  32. package/lib/dist/geometry/tools/marching-cubes/marching-cubes.js +235 -0
  33. package/lib/dist/index.d.ts +2 -0
  34. package/lib/dist/index.d.ts.map +1 -1
  35. package/lib/dist/index.js +3 -1
  36. package/lib/dist/material/face-orientation.d.ts +30 -0
  37. package/lib/dist/material/face-orientation.d.ts.map +1 -0
  38. package/lib/dist/material/face-orientation.js +64 -0
  39. package/lib/dist/material/flat.d.ts.map +1 -1
  40. package/lib/dist/material/flat.js +1 -1
  41. package/lib/dist/material/index.d.ts +1 -0
  42. package/lib/dist/material/index.d.ts.map +1 -1
  43. package/lib/dist/material/index.js +2 -1
  44. package/lib/dist/math/vec3.js +1 -1
  45. package/lib/dist/painter/background-with-depth/background-with-depth.d.ts.map +1 -1
  46. package/lib/dist/painter/background-with-depth/background-with-depth.js +1 -1
  47. package/lib/dist/painter/group.js +3 -3
  48. package/lib/dist/painter/index.d.ts +4 -2
  49. package/lib/dist/painter/index.d.ts.map +1 -1
  50. package/lib/dist/painter/index.js +5 -3
  51. package/lib/dist/painter/lines/index.d.ts +2 -0
  52. package/lib/dist/painter/lines/index.d.ts.map +1 -0
  53. package/lib/dist/painter/lines/index.js +2 -0
  54. package/lib/dist/painter/lines/lines.d.ts +34 -0
  55. package/lib/dist/painter/lines/lines.d.ts.map +1 -0
  56. package/lib/dist/painter/lines/lines.js +98 -0
  57. package/lib/dist/painter/points-cloud/index.d.ts +2 -0
  58. package/lib/dist/painter/points-cloud/index.d.ts.map +1 -0
  59. package/lib/dist/painter/points-cloud/index.js +2 -0
  60. package/lib/dist/painter/points-cloud/points-cloud.d.ts +49 -0
  61. package/lib/dist/painter/points-cloud/points-cloud.d.ts.map +1 -0
  62. package/lib/dist/painter/points-cloud/points-cloud.js +118 -0
  63. package/lib/dist/painter/segments/segments.js +2 -3
  64. package/lib/dist/painter/state/state.d.ts.map +1 -1
  65. package/lib/dist/painter/state/state.js +1 -1
  66. package/lib/dist/sdf/_common.d.ts +9 -0
  67. package/lib/dist/sdf/_common.d.ts.map +1 -0
  68. package/lib/dist/sdf/_common.js +23 -0
  69. package/lib/dist/sdf/capsule.d.ts +3 -0
  70. package/lib/dist/sdf/capsule.d.ts.map +1 -0
  71. package/lib/dist/sdf/capsule.js +24 -0
  72. package/lib/dist/sdf/index.d.ts +3 -0
  73. package/lib/dist/sdf/index.d.ts.map +1 -0
  74. package/lib/dist/sdf/index.js +3 -0
  75. package/lib/dist/sdf/sphere.d.ts +3 -0
  76. package/lib/dist/sdf/sphere.d.ts.map +1 -0
  77. package/lib/dist/sdf/sphere.js +7 -0
  78. package/lib/dist/utils/canvas.d.ts +5 -4
  79. package/lib/dist/utils/canvas.d.ts.map +1 -1
  80. package/lib/dist/utils/canvas.js +6 -3
  81. package/lib/dist/vao/vao.d.ts +2 -1
  82. package/lib/dist/vao/vao.d.ts.map +1 -1
  83. package/lib/dist/vao/vao.js +23 -1
  84. package/lib/dist/wasm/code.d.ts +165 -0
  85. package/lib/dist/wasm/code.d.ts.map +1 -0
  86. package/lib/dist/wasm/code.js +605 -0
  87. package/lib/dist/wasm/flow.d.ts +31 -0
  88. package/lib/dist/wasm/flow.d.ts.map +1 -0
  89. package/lib/dist/wasm/flow.js +69 -0
  90. package/lib/dist/wasm/function.d.ts +5 -0
  91. package/lib/dist/wasm/function.d.ts.map +1 -0
  92. package/lib/dist/wasm/function.js +36 -0
  93. package/lib/dist/wasm/index.d.ts +9 -0
  94. package/lib/dist/wasm/index.d.ts.map +1 -0
  95. package/lib/dist/wasm/index.js +31 -0
  96. package/lib/dist/wasm/local.d.ts +9 -0
  97. package/lib/dist/wasm/local.d.ts.map +1 -0
  98. package/lib/dist/wasm/local.js +14 -0
  99. package/lib/dist/wasm/memory.d.ts +13 -0
  100. package/lib/dist/wasm/memory.d.ts.map +1 -0
  101. package/lib/dist/wasm/memory.js +16 -0
  102. package/lib/dist/wasm/module.d.ts +4 -0
  103. package/lib/dist/wasm/module.d.ts.map +1 -0
  104. package/lib/dist/wasm/module.js +22 -0
  105. package/lib/dist/wasm/types.d.ts +22 -0
  106. package/lib/dist/wasm/types.d.ts.map +1 -0
  107. package/lib/dist/wasm/types.js +2 -0
  108. package/lib/dist/wasm/wast.d.ts +2 -0
  109. package/lib/dist/wasm/wast.d.ts.map +1 -0
  110. package/lib/dist/wasm/wast.js +105863 -0
  111. package/package.json +1 -1
  112. package/lib/dist/camera/camera-node.d.ts +0 -16
  113. package/lib/dist/camera/camera-node.d.ts.map +0 -1
  114. package/lib/dist/camera/camera-node.js +0 -17
  115. package/lib/dist/painter/background-with-depth/background.d.ts +0 -55
  116. package/lib/dist/painter/background-with-depth/background.d.ts.map +0 -1
  117. package/lib/dist/painter/background-with-depth/background.js +0 -99
@@ -0,0 +1,31 @@
1
+ import { TgdCodeBloc } from "../shader";
2
+ import { WasmType } from "./types";
3
+ export declare function wasm_call(funcName: string, ...args: TgdCodeBloc[]): TgdCodeBloc[];
4
+ /**
5
+ * Pops a value from the stack, and discards it.
6
+ * @see [MDN](https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Control_flow/Drop)
7
+ */
8
+ export declare function wasm_drop(): TgdCodeBloc[];
9
+ /**
10
+ * @see [MDN](https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Control_flow/if...else)
11
+ */
12
+ export declare function wasm_if(condition: TgdCodeBloc[], thenBloc: TgdCodeBloc[], elseBloc?: TgdCodeBloc[]): TgdCodeBloc[];
13
+ /**
14
+ * @see [MDN](https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Control_flow/if...else)
15
+ */
16
+ export declare function wasm_if_i32(condition: TgdCodeBloc[], thenBloc: TgdCodeBloc[], elseBloc: TgdCodeBloc[]): TgdCodeBloc[];
17
+ /**
18
+ * @see [MDN](https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Control_flow/if...else)
19
+ */
20
+ export declare function wasm_if_i64(condition: TgdCodeBloc[], thenBloc: TgdCodeBloc[], elseBloc: TgdCodeBloc[]): TgdCodeBloc[];
21
+ /**
22
+ * @see [MDN](https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Control_flow/if...else)
23
+ */
24
+ export declare function wasm_if_f32(condition: TgdCodeBloc[], thenBloc: TgdCodeBloc[], elseBloc: TgdCodeBloc[]): TgdCodeBloc[];
25
+ /**
26
+ * @see [MDN](https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Control_flow/if...else)
27
+ */
28
+ export declare function wasm_if_f64(condition: TgdCodeBloc[], thenBloc: TgdCodeBloc[], elseBloc: TgdCodeBloc[]): TgdCodeBloc[];
29
+ export declare function wasm_if_typed(type: WasmType | null, condition: TgdCodeBloc[], thenBloc: TgdCodeBloc[], elseBloc?: TgdCodeBloc[]): TgdCodeBloc[];
30
+ export declare function wasm_while(condition: TgdCodeBloc[], body: TgdCodeBloc[]): TgdCodeBloc[];
31
+ //# sourceMappingURL=flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/wasm/flow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AASlC,wBAAgB,SAAS,CACrB,QAAQ,EAAE,MAAM,EAChB,GAAG,IAAI,EAAE,WAAW,EAAE,GACvB,WAAW,EAAE,CAGf;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,WAAW,EAAE,CAEzC;AAED;;GAEG;AACH,wBAAgB,OAAO,CACnB,SAAS,EAAE,WAAW,EAAE,EACxB,QAAQ,EAAE,WAAW,EAAE,EACvB,QAAQ,CAAC,EAAE,WAAW,EAAE,GACzB,WAAW,EAAE,CAEf;AAED;;GAEG;AACH,wBAAgB,WAAW,CACvB,SAAS,EAAE,WAAW,EAAE,EACxB,QAAQ,EAAE,WAAW,EAAE,EACvB,QAAQ,EAAE,WAAW,EAAE,GACxB,WAAW,EAAE,CAEf;AAED;;GAEG;AACH,wBAAgB,WAAW,CACvB,SAAS,EAAE,WAAW,EAAE,EACxB,QAAQ,EAAE,WAAW,EAAE,EACvB,QAAQ,EAAE,WAAW,EAAE,GACxB,WAAW,EAAE,CAEf;AAED;;GAEG;AACH,wBAAgB,WAAW,CACvB,SAAS,EAAE,WAAW,EAAE,EACxB,QAAQ,EAAE,WAAW,EAAE,EACvB,QAAQ,EAAE,WAAW,EAAE,GACxB,WAAW,EAAE,CAEf;AAED;;GAEG;AACH,wBAAgB,WAAW,CACvB,SAAS,EAAE,WAAW,EAAE,EACxB,QAAQ,EAAE,WAAW,EAAE,EACvB,QAAQ,EAAE,WAAW,EAAE,GACxB,WAAW,EAAE,CAEf;AAED,wBAAgB,aAAa,CACzB,IAAI,EAAE,QAAQ,GAAG,IAAI,EACrB,SAAS,EAAE,WAAW,EAAE,EACxB,QAAQ,EAAE,WAAW,EAAE,EACvB,QAAQ,CAAC,EAAE,WAAW,EAAE,GACzB,WAAW,EAAE,CAYf;AAED,wBAAgB,UAAU,CACtB,SAAS,EAAE,WAAW,EAAE,EACxB,IAAI,EAAE,WAAW,EAAE,GACpB,WAAW,EAAE,CAOf"}
@@ -0,0 +1,69 @@
1
+ // Used to generate unique labels.
2
+ let ID = 0;
3
+ function newLabel(name) {
4
+ return `$_label_${name}_${ID++}`;
5
+ }
6
+ export function wasm_call(funcName, ...args) {
7
+ if (args.length === 0)
8
+ return [`(call $${funcName})`];
9
+ return [`(call $${funcName}`, args, ")"];
10
+ }
11
+ /**
12
+ * Pops a value from the stack, and discards it.
13
+ * @see [MDN](https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Control_flow/Drop)
14
+ */
15
+ export function wasm_drop() {
16
+ return ["drop"];
17
+ }
18
+ /**
19
+ * @see [MDN](https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Control_flow/if...else)
20
+ */
21
+ export function wasm_if(condition, thenBloc, elseBloc) {
22
+ return wasm_if_typed(null, condition, thenBloc, elseBloc);
23
+ }
24
+ /**
25
+ * @see [MDN](https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Control_flow/if...else)
26
+ */
27
+ export function wasm_if_i32(condition, thenBloc, elseBloc) {
28
+ return wasm_if_typed("i32", condition, thenBloc, elseBloc);
29
+ }
30
+ /**
31
+ * @see [MDN](https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Control_flow/if...else)
32
+ */
33
+ export function wasm_if_i64(condition, thenBloc, elseBloc) {
34
+ return wasm_if_typed("i64", condition, thenBloc, elseBloc);
35
+ }
36
+ /**
37
+ * @see [MDN](https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Control_flow/if...else)
38
+ */
39
+ export function wasm_if_f32(condition, thenBloc, elseBloc) {
40
+ return wasm_if_typed("f32", condition, thenBloc, elseBloc);
41
+ }
42
+ /**
43
+ * @see [MDN](https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Control_flow/if...else)
44
+ */
45
+ export function wasm_if_f64(condition, thenBloc, elseBloc) {
46
+ return wasm_if_typed("f64", condition, thenBloc, elseBloc);
47
+ }
48
+ export function wasm_if_typed(type, condition, thenBloc, elseBloc) {
49
+ return [
50
+ `(if ${type ? `(result ${type})` : ""}`,
51
+ [
52
+ ...condition,
53
+ "(then",
54
+ ...thenBloc,
55
+ ")",
56
+ ...(elseBloc ? ["(else", elseBloc, ")"] : []),
57
+ ],
58
+ ")",
59
+ ];
60
+ }
61
+ export function wasm_while(condition, body) {
62
+ const label = newLabel("loop");
63
+ return [
64
+ `(loop ${label}`,
65
+ wasm_if(condition, [...body, `(br ${label})`]),
66
+ ")",
67
+ ];
68
+ }
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93YXNtL2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsa0NBQWtDO0FBQ2xDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQTtBQUVWLFNBQVMsUUFBUSxDQUFDLElBQVk7SUFDMUIsT0FBTyxXQUFXLElBQUksSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFBO0FBQ3BDLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUNyQixRQUFnQixFQUNoQixHQUFHLElBQW1CO0lBRXRCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQUUsT0FBTyxDQUFDLFVBQVUsUUFBUSxHQUFHLENBQUMsQ0FBQTtJQUNyRCxPQUFPLENBQUMsVUFBVSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUE7QUFDNUMsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxTQUFTO0lBQ3JCLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUNuQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUNuQixTQUF3QixFQUN4QixRQUF1QixFQUN2QixRQUF3QjtJQUV4QixPQUFPLGFBQWEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQTtBQUM3RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUN2QixTQUF3QixFQUN4QixRQUF1QixFQUN2QixRQUF1QjtJQUV2QixPQUFPLGFBQWEsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQTtBQUM5RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUN2QixTQUF3QixFQUN4QixRQUF1QixFQUN2QixRQUF1QjtJQUV2QixPQUFPLGFBQWEsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQTtBQUM5RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUN2QixTQUF3QixFQUN4QixRQUF1QixFQUN2QixRQUF1QjtJQUV2QixPQUFPLGFBQWEsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQTtBQUM5RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUN2QixTQUF3QixFQUN4QixRQUF1QixFQUN2QixRQUF1QjtJQUV2QixPQUFPLGFBQWEsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQTtBQUM5RCxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FDekIsSUFBcUIsRUFDckIsU0FBd0IsRUFDeEIsUUFBdUIsRUFDdkIsUUFBd0I7SUFFeEIsT0FBTztRQUNILE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDdkM7WUFDSSxHQUFHLFNBQVM7WUFDWixPQUFPO1lBQ1AsR0FBRyxRQUFRO1lBQ1gsR0FBRztZQUNILEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ2hEO1FBQ0QsR0FBRztLQUNOLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FDdEIsU0FBd0IsRUFDeEIsSUFBbUI7SUFFbkIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzlCLE9BQU87UUFDSCxTQUFTLEtBQUssRUFBRTtRQUNoQixPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsT0FBTyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLEdBQUc7S0FDTixDQUFBO0FBQ0wsQ0FBQyJ9
@@ -0,0 +1,5 @@
1
+ import { TgdCodeBloc } from "../shader";
2
+ import { WasmFunction, WasmFunctionImport } from "./types";
3
+ export declare function wasm_function_import(func: WasmFunctionImport): TgdCodeBloc[];
4
+ export declare function wasm_function(name: string, func: WasmFunction): TgdCodeBloc[];
5
+ //# sourceMappingURL=function.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../src/wasm/function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAE1D,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,GAAG,WAAW,EAAE,CAe5E;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,WAAW,EAAE,CAa7E"}
@@ -0,0 +1,36 @@
1
+ export function wasm_function_import(func) {
2
+ var _a;
3
+ const body = [];
4
+ if (func.params) {
5
+ body.push(func.params.map(type => `(param ${type})`).join(" "));
6
+ }
7
+ if (func.results) {
8
+ body.push(`(result ${func.results.join(" ")})`);
9
+ }
10
+ return [
11
+ `(func $${func.name} (import ${JSON.stringify(func.moduleName)} ${JSON.stringify((_a = func.moduleFunc) !== null && _a !== void 0 ? _a : func.name)})`,
12
+ ...body,
13
+ ")",
14
+ ];
15
+ }
16
+ export function wasm_function(name, func) {
17
+ const body = [];
18
+ if (func.params) {
19
+ body.push(codeGenericParam("param", func.params));
20
+ }
21
+ if (func.results) {
22
+ body.push(`(result ${func.results.join(" ")})`);
23
+ }
24
+ if (func.locals) {
25
+ body.push(codeGenericParam("local", func.locals));
26
+ }
27
+ if (func.body)
28
+ body.push(...func.body);
29
+ return [`(func $${name}`, body, ")"];
30
+ }
31
+ function codeGenericParam(id, param) {
32
+ return Object.keys(param)
33
+ .map(name => `(${id} $${name} ${param[name]})`)
34
+ .join(" ");
35
+ }
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FzbS9mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLFVBQVUsb0JBQW9CLENBQUMsSUFBd0I7O0lBQ3pELE1BQU0sSUFBSSxHQUFnQixFQUFFLENBQUE7SUFDNUIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUNELE9BQU87UUFDSCxVQUFVLElBQUksQ0FBQyxJQUFJLFlBQVksSUFBSSxDQUFDLFNBQVMsQ0FDekMsSUFBSSxDQUFDLFVBQVUsQ0FDbEIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQUEsSUFBSSxDQUFDLFVBQVUsbUNBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO1FBQ3BELEdBQUcsSUFBSTtRQUNQLEdBQUc7S0FDTixDQUFBO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBWSxFQUFFLElBQWtCO0lBQzFELE1BQU0sSUFBSSxHQUFnQixFQUFFLENBQUE7SUFDNUIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQ3JELENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJO1FBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN0QyxPQUFPLENBQUMsVUFBVSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUE7QUFDeEMsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQ3JCLEVBQXFCLEVBQ3JCLEtBQStCO0lBRS9CLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDcEIsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUNsQixDQUFDIn0=
@@ -0,0 +1,9 @@
1
+ import { WasmModule } from "./types";
2
+ export type * from "./types";
3
+ export * from "./code";
4
+ export * from "./flow";
5
+ export * from "./local";
6
+ export * from "./memory";
7
+ export * from "./module";
8
+ export declare function tgdWasmCompile<T>(typeGuard: (data: unknown) => asserts data is T, module: WasmModule, importObject?: Record<string, Record<string, (...args: unknown[]) => unknown>>): Promise<T>;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wasm/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAMpC,mBAAmB,SAAS,CAAA;AAC5B,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AAExB,wBAAsB,cAAc,CAAC,CAAC,EAClC,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,IAAI,CAAC,EAC/C,MAAM,EAAE,UAAU,EAClB,YAAY,GAAE,MAAM,CAChB,MAAM,EACN,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAC7C,GACP,OAAO,CAAC,CAAC,CAAC,CAyBZ"}
@@ -0,0 +1,31 @@
1
+ import { __awaiter } from "tslib";
2
+ import { wasm_module } from "./module.js";
3
+ import { tgdCodeStringify } from "./../shader/index.js";
4
+ import * as WAST from "./wast.js";
5
+ export * from "./code.js";
6
+ export * from "./flow.js";
7
+ export * from "./local.js";
8
+ export * from "./memory.js";
9
+ export * from "./module.js";
10
+ export function tgdWasmCompile(typeGuard_1, module_1) {
11
+ return __awaiter(this, arguments, void 0, function* (typeGuard, module, importObject = {}) {
12
+ console.log("🚀 [index] globalThis =", globalThis); // @FIXME: Remove this line written on 2025-06-03 at 11:41
13
+ console.log("🚀 [index] WAST =", WAST); // @FIXME: Remove this line written on 2025-06-03 at 11:45
14
+ const { WebAssemblyText } = WAST;
15
+ const code = tgdCodeStringify(wasm_module(module));
16
+ const binary = WebAssemblyText.encode(code); // wassemble(code)
17
+ for (let i = 0; i < binary.length; i += 16) {
18
+ const text = [];
19
+ for (let k = i; k < Math.min(i + 16, binary.length); k++) {
20
+ const value = binary[k];
21
+ text.push(value.toString(16).toUpperCase().padStart(2, "0"));
22
+ }
23
+ console.log(text.join(" "));
24
+ }
25
+ const instance = yield WebAssembly.instantiate(new WebAssembly.Module(binary), importObject);
26
+ const { exports } = instance;
27
+ typeGuard(exports);
28
+ return exports;
29
+ });
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FzbS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFOUMsT0FBTyxLQUFLLElBQUksTUFBTSxRQUFRLENBQUE7QUFHOUIsY0FBYyxRQUFRLENBQUE7QUFDdEIsY0FBYyxRQUFRLENBQUE7QUFDdEIsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxVQUFVLENBQUE7QUFFeEIsTUFBTSxVQUFnQixjQUFjO3lEQUNoQyxTQUErQyxFQUMvQyxNQUFrQixFQUNsQixlQUdJLEVBQUU7UUFFTixPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixFQUFFLFVBQVUsQ0FBQyxDQUFBLENBQUMsMERBQTBEO1FBQzdHLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUEsQ0FBQywwREFBMEQ7UUFDakcsTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLElBSTNCLENBQUE7UUFDRCxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUNsRCxNQUFNLE1BQU0sR0FBZSxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsa0JBQWtCO1FBQzFFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksR0FBYSxFQUFFLENBQUE7WUFDekIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDdkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFBO1lBQ2hFLENBQUM7WUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUMvQixDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxXQUFXLENBQUMsV0FBVyxDQUMxQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQzlCLFlBQVksQ0FDZixDQUFBO1FBQ0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQTtRQUM1QixTQUFTLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDbEIsT0FBTyxPQUFZLENBQUE7SUFDdkIsQ0FBQztDQUFBIn0=
@@ -0,0 +1,9 @@
1
+ import { TgdCodeBloc } from "../shader";
2
+ export declare function wasm_local_get(name: string): TgdCodeBloc[];
3
+ export declare function wasm_local_set(name: string, value: TgdCodeBloc[]): TgdCodeBloc[];
4
+ /**
5
+ * Store a value in a local variable and keep this value on the stack.
6
+ * @see [MDN](https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Variables/Local_tee)
7
+ */
8
+ export declare function wasm_local_tee(name: string, value: TgdCodeBloc[]): TgdCodeBloc[];
9
+ //# sourceMappingURL=local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/wasm/local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAE1D;AAED,wBAAgB,cAAc,CAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,EAAE,GACrB,WAAW,EAAE,CAEf;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,EAAE,GACrB,WAAW,EAAE,CAEf"}
@@ -0,0 +1,14 @@
1
+ export function wasm_local_get(name) {
2
+ return [`(local.get $${name})`];
3
+ }
4
+ export function wasm_local_set(name, value) {
5
+ return [`(local.set $${name}`, [...value], ")"];
6
+ }
7
+ /**
8
+ * Store a value in a local variable and keep this value on the stack.
9
+ * @see [MDN](https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Variables/Local_tee)
10
+ */
11
+ export function wasm_local_tee(name, value) {
12
+ return [`(local.tee $${name}`, [...value], ")"];
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FzbS9sb2NhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsY0FBYyxDQUFDLElBQVk7SUFDdkMsT0FBTyxDQUFDLGVBQWUsSUFBSSxHQUFHLENBQUMsQ0FBQTtBQUNuQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDMUIsSUFBWSxFQUNaLEtBQW9CO0lBRXBCLE9BQU8sQ0FBQyxlQUFlLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQTtBQUNuRCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FDMUIsSUFBWSxFQUNaLEtBQW9CO0lBRXBCLE9BQU8sQ0FBQyxlQUFlLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQTtBQUNuRCxDQUFDIn0=
@@ -0,0 +1,13 @@
1
+ import { TgdCodeBloc } from "../shader";
2
+ /**
3
+ * Copy data from one place to another,
4
+ * in memory.
5
+ * @see [MDN](https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Memory/Copy)
6
+ */
7
+ export declare function wasm_memory_copy(from: TgdCodeBloc[], to: TgdCodeBloc[], length: TgdCodeBloc[]): TgdCodeBloc[];
8
+ /**
9
+ * Fill a region of memory with the same byte value.
10
+ * @see [MDN](https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Memory/Fill)
11
+ */
12
+ export declare function wasm_memory_fill(from: TgdCodeBloc[], length: TgdCodeBloc[], fillByte?: TgdCodeBloc[]): TgdCodeBloc[];
13
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/wasm/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,WAAW,EAAE,EACnB,EAAE,EAAE,WAAW,EAAE,EACjB,MAAM,EAAE,WAAW,EAAE,GACtB,WAAW,EAAE,CAEf;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,WAAW,EAAE,EACnB,MAAM,EAAE,WAAW,EAAE,EACrB,QAAQ,GAAE,WAAW,EAAoB,GAC1C,WAAW,EAAE,CAEf"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copy data from one place to another,
3
+ * in memory.
4
+ * @see [MDN](https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Memory/Copy)
5
+ */
6
+ export function wasm_memory_copy(from, to, length) {
7
+ return [...to, ...from, ...length, `memory.copy`];
8
+ }
9
+ /**
10
+ * Fill a region of memory with the same byte value.
11
+ * @see [MDN](https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Memory/Fill)
12
+ */
13
+ export function wasm_memory_fill(from, length, fillByte = ["i32.const 0"]) {
14
+ return [...from, ...length, ...fillByte, `memory.fill`];
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dhc20vbWVtb3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzVCLElBQW1CLEVBQ25CLEVBQWlCLEVBQ2pCLE1BQXFCO0lBRXJCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQTtBQUNyRCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUM1QixJQUFtQixFQUNuQixNQUFxQixFQUNyQixXQUEwQixDQUFDLGFBQWEsQ0FBQztJQUV6QyxPQUFPLENBQUMsR0FBRyxJQUFJLEVBQUUsR0FBRyxNQUFNLEVBQUUsR0FBRyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUE7QUFDM0QsQ0FBQyJ9
@@ -0,0 +1,4 @@
1
+ import { TgdCodeBloc } from "../shader";
2
+ import { WasmModule } from "./types";
3
+ export declare function wasm_module(module: WasmModule): TgdCodeBloc;
4
+ //# sourceMappingURL=module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/wasm/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGpC,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,CAmB3D"}
@@ -0,0 +1,22 @@
1
+ import { wasm_function, wasm_function_import } from "./function.js";
2
+ export function wasm_module(module) {
3
+ const body = [];
4
+ const { imports, exports, functions } = module;
5
+ if (imports && imports.length > 0) {
6
+ body.push(";; Imported functions");
7
+ for (const child of imports) {
8
+ body.push(...wasm_function_import(child));
9
+ }
10
+ }
11
+ for (const name of Object.keys(functions)) {
12
+ body.push(...wasm_function(name, functions[name]));
13
+ }
14
+ if (exports.length > 0) {
15
+ body.push(";; Exported functions");
16
+ for (const name of exports) {
17
+ body.push(`(export ${JSON.stringify(name)} (func $${name}))`);
18
+ }
19
+ }
20
+ return ["(module", body, ")"];
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dhc20vbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFaEUsTUFBTSxVQUFVLFdBQVcsQ0FBQyxNQUFrQjtJQUMxQyxNQUFNLElBQUksR0FBZ0IsRUFBRSxDQUFBO0lBQzVCLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FBQTtJQUM5QyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtRQUNsQyxLQUFLLE1BQU0sS0FBSyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQzdDLENBQUM7SUFDTCxDQUFDO0lBQ0QsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLGFBQWEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN0RCxDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtRQUNsQyxLQUFLLE1BQU0sSUFBSSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLENBQUE7UUFDakUsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQTtBQUNqQyxDQUFDIn0=
@@ -0,0 +1,22 @@
1
+ import { TgdCodeBloc } from "../shader";
2
+ export type WasmModule = {
3
+ /** Names of the functions to export */
4
+ imports?: WasmFunctionImport[];
5
+ functions: Record<string, WasmFunction>;
6
+ exports: string[];
7
+ };
8
+ export type WasmFunction = {
9
+ params?: Record<string, WasmType>;
10
+ results?: WasmType[];
11
+ locals?: Record<string, WasmType>;
12
+ body: TgdCodeBloc[];
13
+ };
14
+ export type WasmFunctionImport = {
15
+ name: string;
16
+ params?: WasmType[];
17
+ results?: WasmType[];
18
+ moduleName: string;
19
+ moduleFunc?: string;
20
+ };
21
+ export type WasmType = "i32" | "i64" | "f32" | "f64" | "v128";
22
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/wasm/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,MAAM,UAAU,GAAG;IACrB,uCAAuC;IACvC,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACvC,OAAO,EAAE,MAAM,EAAE,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACjC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACjC,IAAI,EAAE,WAAW,EAAE,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAA;IACnB,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FzbS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wast.d.ts","sourceRoot":"","sources":["../../src/wasm/wast.js"],"names":[],"mappings":""}