@tolokoban/tgd 2.0.64 → 2.0.66

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 (68) hide show
  1. package/lib/dist/buffer/buffer.d.ts +3 -2
  2. package/lib/dist/buffer/buffer.d.ts.map +1 -1
  3. package/lib/dist/buffer/buffer.js +1 -1
  4. package/lib/dist/context/context.d.ts +48 -5
  5. package/lib/dist/context/context.d.ts.map +1 -1
  6. package/lib/dist/context/context.js +127 -9
  7. package/lib/dist/debug/console.d.ts +7 -1
  8. package/lib/dist/debug/console.d.ts.map +1 -1
  9. package/lib/dist/debug/console.js +30 -5
  10. package/lib/dist/input/inputs.d.ts +2 -2
  11. package/lib/dist/input/inputs.d.ts.map +1 -1
  12. package/lib/dist/input/inputs.js +5 -5
  13. package/lib/dist/input/keyboard.d.ts +1 -2
  14. package/lib/dist/input/keyboard.d.ts.map +1 -1
  15. package/lib/dist/input/keyboard.js +2 -2
  16. package/lib/dist/input/pointer.d.ts +2 -2
  17. package/lib/dist/input/pointer.d.ts.map +1 -1
  18. package/lib/dist/input/pointer.js +2 -2
  19. package/lib/dist/material/{principled.d.ts → global.d.ts} +4 -4
  20. package/lib/dist/material/global.d.ts.map +1 -0
  21. package/lib/dist/material/{principled.js → global.js} +2 -2
  22. package/lib/dist/material/index.d.ts +1 -1
  23. package/lib/dist/material/index.d.ts.map +1 -1
  24. package/lib/dist/material/index.js +2 -2
  25. package/lib/dist/material/material.d.ts +6 -1
  26. package/lib/dist/material/material.d.ts.map +1 -1
  27. package/lib/dist/material/material.js +3 -2
  28. package/lib/dist/painter/mesh/mesh/mesh.d.ts +1 -1
  29. package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
  30. package/lib/dist/painter/mesh/mesh/mesh.js +9 -9
  31. package/lib/dist/program/program.d.ts.map +1 -1
  32. package/lib/dist/program/program.js +7 -3
  33. package/lib/dist/shader/code.d.ts +1 -0
  34. package/lib/dist/shader/code.d.ts.map +1 -1
  35. package/lib/dist/shader/code.js +26 -7
  36. package/lib/dist/texture/procedural.d.ts +20 -0
  37. package/lib/dist/texture/procedural.d.ts.map +1 -0
  38. package/lib/dist/texture/procedural.js +8 -0
  39. package/lib/dist/types/buffer.d.ts +5 -0
  40. package/lib/dist/types/buffer.d.ts.map +1 -0
  41. package/lib/dist/types/buffer.js +8 -0
  42. package/lib/dist/types/index.d.ts +1 -1
  43. package/lib/dist/types/index.d.ts.map +1 -1
  44. package/lib/dist/types/index.js +2 -2
  45. package/lib/dist/types/input-pointer.d.ts +0 -20
  46. package/lib/dist/types/input-pointer.d.ts.map +1 -1
  47. package/lib/dist/utils/canvas.js +18 -7
  48. package/lib/dist/utils/webgl.d.ts +1 -1
  49. package/lib/dist/utils/webgl.d.ts.map +1 -1
  50. package/lib/dist/vao/vao.js +3 -3
  51. package/lib/dist/wasm/index.js +1 -1
  52. package/package.json +3 -2
  53. package/lib/dist/material/bsdf.d.ts +0 -25
  54. package/lib/dist/material/bsdf.d.ts.map +0 -1
  55. package/lib/dist/material/bsdf.js +0 -98
  56. package/lib/dist/material/principled.d.ts.map +0 -1
  57. package/lib/dist/material/solid.d.ts +0 -22
  58. package/lib/dist/material/solid.d.ts.map +0 -1
  59. package/lib/dist/material/solid.js +0 -20
  60. package/lib/dist/types/input-keyboard.d.ts +0 -8
  61. package/lib/dist/types/input-keyboard.d.ts.map +0 -1
  62. package/lib/dist/types/input-keyboard.js +0 -2
  63. package/lib/dist/utils/math.d.ts +0 -19
  64. package/lib/dist/utils/math.d.ts.map +0 -1
  65. package/lib/dist/utils/math.js +0 -59
  66. package/lib/dist/utils/math.test.d.ts +0 -2
  67. package/lib/dist/utils/math.test.d.ts.map +0 -1
  68. package/lib/dist/utils/math.test.js +0 -22
@@ -0,0 +1,5 @@
1
+ import { TgdTypeArrayForElements } from "./elements";
2
+ export type TgdTypeArray = TgdTypeArrayForElements | Float32Array;
3
+ export declare function assertTgdTypeArray(data: unknown): asserts data is TgdTypeArrayForElements;
4
+ export type TgdTypeArrayOrBuffer = TgdTypeArray | ArrayBuffer;
5
+ //# sourceMappingURL=buffer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../src/types/buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,uBAAuB,EAC1B,MAAM,YAAY,CAAA;AAEnB,MAAM,MAAM,YAAY,GAAG,uBAAuB,GAAG,YAAY,CAAA;AAEjE,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,IAAI,uBAAuB,CAOzC;AAED,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,WAAW,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { assertTgdTypeArrayForElements, } from "./elements.js";
2
+ export function assertTgdTypeArray(data) {
3
+ if (data instanceof Float32Array)
4
+ return;
5
+ assertTgdTypeArrayForElements(data);
6
+ throw new Error("Expected Float32Array, Uint8Array, Uint16Array or Uint32Array!");
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2J1ZmZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsNkJBQTZCLEdBRWhDLE1BQU0sWUFBWSxDQUFBO0FBSW5CLE1BQU0sVUFBVSxrQkFBa0IsQ0FDOUIsSUFBYTtJQUViLElBQUksSUFBSSxZQUFZLFlBQVk7UUFBRSxPQUFNO0lBQ3hDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxDQUFBO0lBRW5DLE1BQU0sSUFBSSxLQUFLLENBQ1gsZ0VBQWdFLENBQ25FLENBQUE7QUFDTCxDQUFDIn0=
@@ -1,8 +1,8 @@
1
1
  export * from "./animation";
2
2
  export * from "./arrays";
3
+ export * from "./buffer";
3
4
  export * from "./elements";
4
5
  export * from "./gltf";
5
- export * from "./input-keyboard";
6
6
  export * from "./input-pointer";
7
7
  export * from "./program";
8
8
  export * from "./texture-cube";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA;AACtB,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA;AACtB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
@@ -1,11 +1,11 @@
1
1
  export * from "./animation.js";
2
2
  export * from "./arrays.js";
3
+ export * from "./buffer.js";
3
4
  export * from "./elements.js";
4
5
  export * from "./gltf.js";
5
- export * from "./input-keyboard.js";
6
6
  export * from "./input-pointer.js";
7
7
  export * from "./program.js";
8
8
  export * from "./texture-cube.js";
9
9
  export * from "./webgl.js";
10
10
  export * from "../interface/index.js";
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxZQUFZLENBQUE7QUFDMUIsY0FBYyxRQUFRLENBQUE7QUFDdEIsY0FBYyxrQkFBa0IsQ0FBQTtBQUNoQyxjQUFjLGlCQUFpQixDQUFBO0FBQy9CLGNBQWMsV0FBVyxDQUFBO0FBQ3pCLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxjQUFjLENBQUEifQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxZQUFZLENBQUE7QUFDMUIsY0FBYyxRQUFRLENBQUE7QUFDdEIsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsY0FBYyxDQUFBIn0=
@@ -1,4 +1,3 @@
1
- import { TgdEvent } from "../event";
2
1
  export interface TgdInputPointerEventFinger {
3
2
  x: number;
4
3
  y: number;
@@ -34,23 +33,4 @@ export interface TgdInputPointerEventMove extends TgdInputPointerModifierKeys {
34
33
  previous: TgdInputPointerEventFinger;
35
34
  start: TgdInputPointerEventFinger;
36
35
  }
37
- export interface TgdInputPointer {
38
- readonly eventTap: TgdEvent<Readonly<TgdInputPointerEventTap>>;
39
- readonly eventTapMultiple: TgdEvent<Readonly<TgdInputPointerEventTapMultiple>>;
40
- readonly eventMoveStart: TgdEvent<Readonly<TgdInputPointerEventMove>>;
41
- readonly eventMove: TgdEvent<Readonly<TgdInputPointerEventMove>>;
42
- readonly eventHover: TgdEvent<Readonly<TgdInputPointerEventMove>>;
43
- readonly eventMoveEnd: TgdEvent<Readonly<TgdInputPointerEventMove>>;
44
- readonly eventZoom: TgdEvent<Readonly<TgdInputPointerEventZoom>>;
45
- readonly x: number;
46
- readonly y: number;
47
- readonly speedX: number;
48
- readonly speedY: number;
49
- /**
50
- * This is a tap only of the pointer touched for less that
51
- * `tapDelay` milliseconds.
52
- */
53
- tapDelay: number;
54
- isTouching(hitTest?: (event: Readonly<TgdInputPointerEventFinger>) => boolean): boolean;
55
- }
56
36
  //# sourceMappingURL=input-pointer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-pointer.d.ts","sourceRoot":"","sources":["../../src/types/input-pointer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,WAAW,0BAA0B;IACvC,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,YAAY,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,2BAA2B;IACxC,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,wBAAyB,SAAQ,2BAA2B;IACzE,OAAO,EAAE,0BAA0B,CAAA;IACnC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;IACjB,cAAc,EAAE,MAAM,IAAI,CAAA;CAC7B;AAED,MAAM,WAAW,uBAAwB,SAAQ,2BAA2B;IACxE,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,YAAY,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,+BACb,SAAQ,uBAAuB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,UAAU,EAAE,MAAM,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,wBAAyB,SAAQ,2BAA2B;IACzE,OAAO,EAAE,0BAA0B,CAAA;IACnC,QAAQ,EAAE,0BAA0B,CAAA;IACpC,KAAK,EAAE,0BAA0B,CAAA;CACpC;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAA;IAE9D,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAC/B,QAAQ,CAAC,+BAA+B,CAAC,CAC5C,CAAA;IAED,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAA;IAErE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAA;IAEhE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAA;IAEjE,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAA;IAEnE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAA;IAEhE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;IAElB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;IAElB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAEvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAEvB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB,UAAU,CACN,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,0BAA0B,CAAC,KAAK,OAAO,GACnE,OAAO,CAAA;CACb"}
1
+ {"version":3,"file":"input-pointer.d.ts","sourceRoot":"","sources":["../../src/types/input-pointer.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,0BAA0B;IACvC,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,YAAY,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,2BAA2B;IACxC,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,wBAAyB,SAAQ,2BAA2B;IACzE,OAAO,EAAE,0BAA0B,CAAA;IACnC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;IACjB,cAAc,EAAE,MAAM,IAAI,CAAA;CAC7B;AAED,MAAM,WAAW,uBAAwB,SAAQ,2BAA2B;IACxE,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,YAAY,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,+BACb,SAAQ,uBAAuB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,UAAU,EAAE,MAAM,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,wBAAyB,SAAQ,2BAA2B;IACzE,OAAO,EAAE,0BAA0B,CAAA;IACnC,QAAQ,EAAE,0BAA0B,CAAA;IACpC,KAAK,EAAE,0BAA0B,CAAA;CACpC"}
@@ -1,4 +1,5 @@
1
1
  import { TgdColor } from "./../color/index.js";
2
+ import { TgdVec4 } from "./../math/index.js";
2
3
  /**
3
4
  * Helper to get a canvas with the given size.
4
5
  */
@@ -89,11 +90,21 @@ export function tgdCanvasCreateGradient(width, height, directionX, directionY, c
89
90
  return canvas;
90
91
  }
91
92
  function colorToString(color) {
92
- if (typeof color === "string")
93
- return color;
94
- if (color instanceof TgdColor)
95
- return color.toString();
96
- const [r, g, b, a] = color;
97
- return new TgdColor(r, b, g, a !== null && a !== void 0 ? a : 1).toString();
93
+ try {
94
+ if (typeof color === "string")
95
+ return color;
96
+ if (color instanceof TgdColor)
97
+ return color.toString();
98
+ if (Array.isArray(color)) {
99
+ const [r, g, b, a] = color;
100
+ return new TgdColor(r, b, g, a !== null && a !== void 0 ? a : 1).toString();
101
+ }
102
+ return new TgdColor(color.x, color.y, color.z, color instanceof TgdVec4 ? color.w : 1).toString();
103
+ }
104
+ catch (_a) {
105
+ console.error("[Tgd::colorToString] Invalid color argument:", color);
106
+ console.info("[Tgd::colorToString] We will use purple (#F0F).");
107
+ return "#f0f";
108
+ }
98
109
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2NhbnZhcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBSXJDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FDM0IsS0FBYSxFQUNiLE1BQWM7SUFFZCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQy9DLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ3BCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO0lBQ3RCLE9BQU8sTUFBTSxDQUFBO0FBQ2pCLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsNEJBQTRCLENBQ3hDLEtBQWEsRUFDYixNQUFjLEVBQ2QsUUFBMkM7SUFFM0MsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUMvQyxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtJQUNwQixNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtJQUN0QixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUNqRCxJQUFJLENBQUMsT0FBTztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQTtJQUU3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUNuQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEdBQXFCO0lBQ3BELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsNEJBQTRCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDM0UsR0FBRyxDQUFDLFNBQVMs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
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2NhbnZhcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3JDLE9BQU8sRUFBVyxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFHNUM7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUMzQixLQUFhLEVBQ2IsTUFBYztJQUVkLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDL0MsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7SUFDcEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7SUFDdEIsT0FBTyxNQUFNLENBQUE7QUFDakIsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSw0QkFBNEIsQ0FDeEMsS0FBYSxFQUNiLE1BQWMsRUFDZCxRQUEyQztJQUUzQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQy9DLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ3BCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO0lBQ3RCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQ2pELElBQUksQ0FBQyxPQUFPO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBO0lBRTdELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFBO0FBQ25DLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsR0FBcUI7SUFDcEQsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcs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
@@ -15,6 +15,6 @@ export declare function webglElementTypeFromTypedArray(typedArray: TgdTypeArrayF
15
15
  * because a byte will suffice to store each value.
16
16
  */
17
17
  export declare function webglElementTypeArrayFromNumberArray(arr: number[]): Uint8Array<ArrayBuffer> | Uint16Array<ArrayBuffer> | Uint32Array<ArrayBuffer>;
18
- export declare function webglTypedArrayFromBufferSource(bufferSource: BufferSource, type: number): Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike> | Float32Array<ArrayBufferLike>;
18
+ export declare function webglTypedArrayFromBufferSource(bufferSource: BufferSource, type: number): Int8Array<ArrayBuffer> | Uint8Array<ArrayBuffer> | Int16Array<ArrayBuffer> | Uint16Array<ArrayBuffer> | Uint32Array<ArrayBuffer> | Float32Array<ArrayBuffer>;
19
19
  export declare function webglLookup(type: number | keyof WebGL2RenderingContext): keyof WebGL2RenderingContext;
20
20
  //# sourceMappingURL=webgl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webgl.d.ts","sourceRoot":"","sources":["../../src/utils/webgl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAGpD;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC1C,UAAU,EAAE,uBAAuB,GACpC,IAAI,GAAG,IAAI,GAAG,IAAI,CAWpB;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAAC,GAAG,EAAE,MAAM,EAAE,iFAMjE;AAED,wBAAgB,+BAA+B,CAC3C,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,MAAM,wLAwBf;AAED,wBAAgB,WAAW,CACvB,IAAI,EAAE,MAAM,GAAG,MAAM,sBAAsB,GAC5C,MAAM,sBAAsB,CAU9B"}
1
+ {"version":3,"file":"webgl.d.ts","sourceRoot":"","sources":["../../src/utils/webgl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAGpD;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC1C,UAAU,EAAE,uBAAuB,GACpC,IAAI,GAAG,IAAI,GAAG,IAAI,CAWpB;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAAC,GAAG,EAAE,MAAM,EAAE,iFAMjE;AAED,wBAAgB,+BAA+B,CAC3C,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,MAAM,gKAwBf;AAED,wBAAgB,WAAW,CACvB,IAAI,EAAE,MAAM,GAAG,MAAM,sBAAsB,GAC5C,MAAM,sBAAsB,CAU9B"}
@@ -14,7 +14,7 @@ export class TgdVertexArray {
14
14
  if (!program || !datasets)
15
15
  return;
16
16
  gl.bindVertexArray(vao);
17
- this.drawBuffers = datasets.map(dataset => {
17
+ this.drawBuffers = datasets.map((dataset) => {
18
18
  const buffer = new TgdBuffer(gl, {
19
19
  data: dataset.data,
20
20
  target: dataset.target,
@@ -103,7 +103,7 @@ export class TgdVertexArray {
103
103
  lines.push(` const buff${index} = gl.createBuffer()`, ` gl.bindBuffer(gl.${dataset.target}, buff${index})`, ` gl.bufferData(gl.${dataset.target}, data${index}, gl.${dataset.usage})`, dataset.toCode({ indent: `${indent} ` }));
104
104
  }
105
105
  lines.push(" return vao", "}");
106
- return lines.map(line => `${indent}${line}`).join("\n");
106
+ return lines.map((line) => `${indent}${line}`).join("\n");
107
107
  }
108
108
  debug(caption = "TgdVertexArray") {
109
109
  console.log(caption);
@@ -132,4 +132,4 @@ export class TgdVertexArray {
132
132
  elemBuffer.delete();
133
133
  }
134
134
  }
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Zhby92YW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUt2QyxNQUFNLE9BQU8sY0FBYztJQU12QixZQUNvQixFQUEwQixFQUN6QixPQUFvQixFQUNwQixRQUFpQyxFQUMxQyxRQUFrQztRQUgxQixPQUFFLEdBQUYsRUFBRSxDQUF3QjtRQUN6QixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQXlCO1FBQzFDLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBUDdCLGdCQUFXLEdBQWdCLEVBQUUsQ0FBQTtRQUM3QixlQUFVLEdBQXFCLElBQUksQ0FBQTtRQVFoRCxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtRQUNsQyxJQUFJLENBQUMsR0FBRztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQTtRQUVoRSxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQTtRQUNkLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTTtRQUVqQyxFQUFFLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzdCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtnQkFDbEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO2dCQUN0QixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7YUFDdkIsQ0FBQyxDQUFBO1lBQ0YsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFBO1lBQ2IsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxP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
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Zhby92YW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUt2QyxNQUFNLE9BQU8sY0FBYztJQU12QixZQUNvQixFQUEwQixFQUN6QixPQUFvQixFQUNwQixRQUFpQyxFQUMxQyxRQUFrQztRQUgxQixPQUFFLEdBQUYsRUFBRSxDQUF3QjtRQUN6QixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQXlCO1FBQzFDLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBUDdCLGdCQUFXLEdBQWdCLEVBQUUsQ0FBQTtRQUM3QixlQUFVLEdBQXFCLElBQUksQ0FBQTtRQVFoRCxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtRQUNsQyxJQUFJLENBQUMsR0FBRztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQTtRQUVoRSxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQTtRQUNkLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTTtRQUVqQyxFQUFFLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO2dCQUNsQixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07Z0JBQ3RCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSzthQUN2QixDQUFDLENBQUE7WUFDRixNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7WUFDYixPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxF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
@@ -28,4 +28,4 @@ export function tgdWasmCompile(typeGuard_1, module_1) {
28
28
  return exports;
29
29
  });
30
30
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FzbS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFOUMsT0FBTyxLQUFLLElBQUksTUFBTSxRQUFRLENBQUE7QUFHOUIsY0FBYyxRQUFRLENBQUE7QUFDdEIsY0FBYyxRQUFRLENBQUE7QUFDdEIsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxVQUFVLENBQUE7QUFFeEIsTUFBTSxVQUFnQixjQUFjO3lEQUNoQyxTQUErQyxFQUMvQyxNQUFrQixFQUNsQixlQUdJLEVBQUU7UUFFTixPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixFQUFFLFVBQVUsQ0FBQyxDQUFBLENBQUMsMERBQTBEO1FBQzdHLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUEsQ0FBQywwREFBMEQ7UUFDakcsTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLElBSTNCLENBQUE7UUFDRCxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUNsRCxNQUFNLE1BQU0sR0FBZSxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsa0JBQWtCO1FBQzFFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksR0FBYSxFQUFFLENBQUE7WUFDekIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDdkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFBO1lBQ2hFLENBQUM7WUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUMvQixDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxXQUFXLENBQUMsV0FBVyxDQUMxQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQzlCLFlBQVksQ0FDZixDQUFBO1FBQ0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQTtRQUM1QixTQUFTLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDbEIsT0FBTyxPQUFZLENBQUE7SUFDdkIsQ0FBQztDQUFBIn0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FzbS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFOUMsT0FBTyxLQUFLLElBQUksTUFBTSxRQUFRLENBQUE7QUFHOUIsY0FBYyxRQUFRLENBQUE7QUFDdEIsY0FBYyxRQUFRLENBQUE7QUFDdEIsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxVQUFVLENBQUE7QUFFeEIsTUFBTSxVQUFnQixjQUFjO3lEQUNoQyxTQUErQyxFQUMvQyxNQUFrQixFQUNsQixlQUdJLEVBQUU7UUFFTixPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixFQUFFLFVBQVUsQ0FBQyxDQUFBLENBQUMsMERBQTBEO1FBQzdHLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUEsQ0FBQywwREFBMEQ7UUFDakcsTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLElBSTNCLENBQUE7UUFDRCxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUNsRCxNQUFNLE1BQU0sR0FBZSxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsa0JBQWtCO1FBQzFFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksR0FBYSxFQUFFLENBQUE7WUFDekIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDdkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFBO1lBQ2hFLENBQUM7WUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUMvQixDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxXQUFXLENBQUMsV0FBVyxDQUMxQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBc0IsQ0FBQyxFQUM5QyxZQUFZLENBQ2YsQ0FBQTtRQUNELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUE7UUFDNUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ2xCLE9BQU8sT0FBWSxDQUFBO0lBQ3ZCLENBQUM7Q0FBQSJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tolokoban/tgd",
3
- "version": "2.0.64",
3
+ "version": "2.0.66",
4
4
  "description": "ToloGameDev library for WebGL2",
5
5
  "homepage": "https://tolokoban.github.io/tgd2",
6
6
  "main": "./lib/dist/index.js",
@@ -14,8 +14,9 @@
14
14
  "doc": "cd lib && npm run doc && cd ../doc && npm run deploy",
15
15
  "test": "cd lib && npm test",
16
16
  "build": "cd lib && npm run build && cd ../doc && npm run build",
17
- "predeploy": "npm run ci && cd doc && npm run deploy",
17
+ "predeploy": "npm run ci && cd doc",
18
18
  "deploy": "npm run ci && npm publish --access=public",
19
+ "deploy:lib": "cd lib && npm install && npm run build && cd .. && npm publish --access=public",
19
20
  "minor": "npm version minor --no-git-tag-version && cd lib && npm version minor --no-git-tag-version && cd ../doc && npm version minor --no-git-tag-version",
20
21
  "patch": "npm version patch --no-git-tag-version && cd lib && npm version patch --no-git-tag-version && cd ../doc && npm version patch --no-git-tag-version"
21
22
  },
@@ -1,25 +0,0 @@
1
- import { ArrayNumber3, ArrayNumber4 } from "../types";
2
- import { TgdVec3, TgdVec4 } from "../math";
3
- import { TgdMaterial } from "./material";
4
- import { TgdLight } from "../light";
5
- import { TgdTexture2D, TgdTextureCube } from "../texture";
6
- export type TgdMaterialBSDFOptions = Partial<{
7
- color: TgdVec4 | ArrayNumber4 | TgdTexture2D;
8
- lights: TgdLight[];
9
- ambientColor: TgdVec3 | ArrayNumber3 | TgdTextureCube;
10
- ambientIntensity: number;
11
- specularExponent: number;
12
- specularIntensity: number;
13
- normalMap: TgdVec3 | ArrayNumber3 | TgdTexture2D;
14
- }>;
15
- export declare class TgdMaterialBSDF extends TgdMaterial {
16
- light: TgdLight;
17
- ambient: TgdLight;
18
- specularExponent: number;
19
- specularIntensity: number;
20
- private readonly texture;
21
- private readonly lightColor;
22
- private readonly ambientColor;
23
- constructor(options?: TgdMaterialBSDFOptions);
24
- }
25
- //# sourceMappingURL=bsdf.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bsdf.d.ts","sourceRoot":"","sources":["../../src/material/bsdf.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,YAAY,EAGf,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAG3D,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC;IACzC,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,YAAY,CAAA;IAC5C,MAAM,EAAE,QAAQ,EAAE,CAAA;IAClB,YAAY,EAAE,OAAO,GAAG,YAAY,GAAG,cAAc,CAAA;IACrD,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,EAAE,OAAO,GAAG,YAAY,GAAG,YAAY,CAAA;CACnD,CAAC,CAAA;AAIF,qBAAa,eAAgB,SAAQ,WAAW;IACrC,KAAK,WAAiB;IACtB,OAAO,WAAuD;IAC9D,gBAAgB,SAAK;IACrB,iBAAiB,SAAI;IAE5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;gBAEjC,OAAO,GAAE,sBAA2B;CAyFnD"}
@@ -1,98 +0,0 @@
1
- import { TgdVec3, TgdVec4 } from "./../math/index.js";
2
- import { TgdMaterial } from "./material.js";
3
- import { TgdLight } from "./../light/index.js";
4
- import { TgdTexture2D } from "./../texture/index.js";
5
- const DEFAULT_COLOR = new TgdVec4(0.8, 0.6, 0.1, 1);
6
- export class TgdMaterialBSDF extends TgdMaterial {
7
- constructor(options = {}) {
8
- var _a;
9
- const color = options.color instanceof TgdTexture2D
10
- ? options.color
11
- : new TgdVec4((_a = options.color) !== null && _a !== void 0 ? _a : DEFAULT_COLOR);
12
- const hasTexture = !(color instanceof TgdVec4);
13
- const uniforms = {
14
- uniLight: "vec3",
15
- uniLightDir: "vec3",
16
- uniAmbient: "vec3",
17
- uniSpecularExponent: "float",
18
- uniSpecularIntensity: "float",
19
- uniModelViewMatrix: "mat4",
20
- };
21
- const fragmentShaderCode = [
22
- `vec3 normal = ${options.lockLightsToCamera ? "mat3(uniModelViewMatrix) * " : ""}normalize(varNormal);`,
23
- `float light = 1.0 - dot(normal, uniLightDir);`,
24
- options.lockLightsToCamera
25
- ? "light = max(0.0, light - 1.0);"
26
- : "light *= .5;",
27
- hasTexture
28
- ? `vec4 color = texture(texDiffuse, varUV);`
29
- : `vec4 color = vec4(${color.join(", ")});`,
30
- `vec3 reflection = ${options.lockLightsToCamera ? "" : "mat3(uniModelViewMatrix) * "}reflect(uniLightDir, normal);`,
31
- `float spec = max(0.0, reflection.z);`,
32
- `spec = pow(spec, uniSpecularExponent) * uniSpecularIntensity;`,
33
- `color = vec4(`,
34
- ` color.rgb * (`,
35
- ` uniAmbient + uniLight * light`,
36
- ` ) + vec3(spec),`,
37
- ` 1.0`,
38
- `);`,
39
- `return color;`,
40
- ];
41
- const varyings = {
42
- varNormal: "vec3",
43
- };
44
- if (hasTexture) {
45
- varyings.varUV = "vec2";
46
- uniforms.texDiffuse = "sampler2D";
47
- }
48
- const vertexShaderCode = () => {
49
- const code = [
50
- `varNormal = mat3(uniTransfoMatrix) * ${this.attNormal};`,
51
- ];
52
- if (hasTexture) {
53
- code.push(`varUV = ${this.attUV};`);
54
- }
55
- return code;
56
- };
57
- super({
58
- uniforms,
59
- varyings,
60
- vertexShaderCode,
61
- fragmentShaderCode,
62
- setUniforms: (program) => {
63
- program.uniform3fv("uniLightDir", this.light.direction);
64
- this.lightColor.from(this.light.color).scale(this.light.color.w);
65
- program.uniform3fv("uniLight", this.lightColor);
66
- this.ambientColor
67
- .from(this.ambient.color)
68
- .scale(this.ambient.color.w);
69
- program.uniform3fv("uniAmbient", this.ambientColor);
70
- program.uniform1f("uniSpecularExponent", this.specularExponent);
71
- program.uniform1f("uniSpecularIntensity", this.specularIntensity);
72
- const { texture } = this;
73
- if (texture)
74
- texture.activate(0, program, "texDiffuse");
75
- },
76
- });
77
- this.light = new TgdLight();
78
- this.ambient = new TgdLight({ color: new TgdVec4(0.2, 0.1, 0, 0) });
79
- this.specularExponent = 20;
80
- this.specularIntensity = 1;
81
- this.lightColor = new TgdVec3();
82
- this.ambientColor = new TgdVec3();
83
- this.texture = hasTexture ? color : null;
84
- if (options.light) {
85
- this.light = options.light;
86
- }
87
- if (options.ambient) {
88
- this.ambient = options.ambient;
89
- }
90
- if (typeof options.specularExponent === "number") {
91
- this.specularExponent = options.specularExponent;
92
- }
93
- if (typeof options.specularIntensity === "number") {
94
- this.specularIntensity = options.specularIntensity;
95
- }
96
- }
97
- }
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnNkZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRlcmlhbC9ic2RmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFrQixNQUFNLGNBQWMsQ0FBQTtBQWEzRCxNQUFNLGFBQWEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUVuRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBVTVDLFlBQVksVUFBa0MsRUFBRTs7UUFDNUMsTUFBTSxLQUFLLEdBQ1AsT0FBTyxDQUFDLEtBQUssWUFBWSxZQUFZO1lBQ2pDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSztZQUNmLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFBLE9BQU8sQ0FBQyxLQUFLLG1DQUFJLGFBQWEsQ0FBQyxDQUFBO1FBQ3JELE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxLQUFLLFlBQVksT0FBTyxDQUFDLENBQUE7UUFDOUMsTUFBTSxRQUFRLEdBQXlDO1lBQ25ELFFBQVEsRUFBRSxNQUFNO1lBQ2hCLFdBQVcsRUFBRSxNQUFNO1lBQ25CLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLG1CQUFtQixFQUFFLE9BQU87WUFDNUIsb0JBQW9CLEVBQUUsT0FBTztZQUM3QixrQkFBa0IsRUFBRSxNQUFNO1NBQzdCLENBQUE7UUFDRCxNQUFNLGtCQUFrQixHQUFnQjtZQUNwQyxpQkFBaUIsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsRUFBRSx1QkFBdUI7WUFDdkcsK0NB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
@@ -1 +0,0 @@
1
- {"version":3,"file":"principled.d.ts","sourceRoot":"","sources":["../../src/material/principled.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,YAAY,EAGf,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAK3D,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAAC;IAC/C,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,YAAY,CAAA;IAC5C,MAAM,EAAE,QAAQ,EAAE,CAAA;IAClB,YAAY,EAAE,OAAO,GAAG,YAAY,GAAG,cAAc,CAAA;IACrD,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,EAAE,YAAY,CAAA;CAC1B,CAAC,CAAA;AAKF,qBAAa,qBAAsB,SAAQ,WAAW;IAStC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAR7B,gBAAgB,SAAM;IACtB,iBAAiB,SAAI;IAE5B,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,sBAAsB,CAAQ;IACtC,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,wBAAwB,CAAQ;gBAEX,OAAO,GAAE,4BAAiC;CAgH1E"}
@@ -1,22 +0,0 @@
1
- import { ArrayNumber4, WebglAttributeType, WebglUniformType } from "../types";
2
- import { TgdVec4 } from "../math";
3
- import { TgdMaterial } from "./material";
4
- import { TgdCodeBloc } from "../shader/code";
5
- import { TgdProgram } from "../program";
6
- export type TgdMaterialSolidOptions = Partial<{
7
- color: ArrayNumber4 | TgdVec4;
8
- }>;
9
- export declare class TgdMaterialSolid extends TgdMaterial {
10
- color: TgdVec4;
11
- readonly varyings: {
12
- [name: string]: WebglAttributeType;
13
- };
14
- readonly uniforms: {
15
- [name: string]: WebglUniformType;
16
- };
17
- readonly fragmentShaderCode: TgdCodeBloc;
18
- readonly vertexShaderCode: TgdCodeBloc;
19
- constructor(options?: TgdMaterialSolidOptions);
20
- setUniforms(program: TgdProgram): void;
21
- }
22
- //# sourceMappingURL=solid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"solid.d.ts","sourceRoot":"","sources":["../../src/material/solid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC;IAC1C,KAAK,EAAE,YAAY,GAAG,OAAO,CAAA;CAChC,CAAC,CAAA;AAIF,qBAAa,gBAAiB,SAAQ,WAAW;IACtC,KAAK,EAAE,OAAO,CAAA;IAErB,SAAgB,QAAQ,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAA;KAAE,CAAA;IAChE,SAAgB,QAAQ,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAE7D;IACD,SAAgB,kBAAkB,EAAE,WAAW,CAAA;IAC/C,SAAgB,gBAAgB,EAAE,WAAW,CAAA;gBAEjC,OAAO,GAAE,uBAA4B;IAQjD,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;CAGzC"}
@@ -1,20 +0,0 @@
1
- import { TgdVec4 } from "./../math/index.js";
2
- import { TgdMaterial } from "./material.js";
3
- const DEFAULT_COLOR = [0.111, 0.333, 0.999, 1];
4
- export class TgdMaterialSolid extends TgdMaterial {
5
- constructor(options = {}) {
6
- var _a;
7
- super();
8
- this.uniforms = {
9
- uniColor: "vec4",
10
- };
11
- this.color = new TgdVec4((_a = options.color) !== null && _a !== void 0 ? _a : DEFAULT_COLOR);
12
- this.fragmentShaderCode = [`return uniColor;`];
13
- this.vertexShaderCode = [];
14
- this.varyings = {};
15
- }
16
- setUniforms(program) {
17
- program.uniform4fv("uniColor", this.color);
18
- }
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29saWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWF0ZXJpYWwvc29saWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBUXhDLE1BQU0sYUFBYSxHQUFpQixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBRTVELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxXQUFXO0lBVTdDLFlBQVksVUFBbUMsRUFBRTs7UUFDN0MsS0FBSyxFQUFFLENBQUE7UUFQSyxhQUFRLEdBQXlDO1lBQzdELFFBQVEsRUFBRSxNQUFNO1NBQ25CLENBQUE7UUFNRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksT0FBTyxDQUFDLE1BQUEsT0FBTyxDQUFDLEtBQUssbUNBQUksYUFBYSxDQUFDLENBQUE7UUFDeEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUM5QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFBO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFBO0lBQ3RCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBbUI7UUFDM0IsT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzlDLENBQUM7Q0FDSiJ9
@@ -1,8 +0,0 @@
1
- import { TgdEvent } from "../event";
2
- export interface TgdInputKeyboard {
3
- readonly eventKeyPress: TgdEvent<KeyboardEvent>;
4
- isDown(...keys: string[]): boolean;
5
- isUp(...keys: string[]): boolean;
6
- hasClicked(key: string): boolean;
7
- }
8
- //# sourceMappingURL=input-keyboard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input-keyboard.d.ts","sourceRoot":"","sources":["../../src/types/input-keyboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAEnC,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;IAC/C,MAAM,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAClC,IAAI,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAChC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACnC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQta2V5Ym9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvaW5wdXQta2V5Ym9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1,19 +0,0 @@
1
- export declare function tgdCalcClamp(value: number, min: number, max: number): number;
2
- export declare function tgdCalcMapRange(value: number, fromMin: number, fromMax: number, toMin: number, toMax: number, clamp?: boolean): number;
3
- export declare function tgdCalcMix(valueAtT0: number, valueAtT1: number, t: number): number;
4
- export declare function tgdCalcDegToRad(deg: number): number;
5
- export declare function tgdCalcRadToDeg(rad: number): number;
6
- export declare function tgdCalcSmoothStep(boundFor0: number, boundFor1: number, value: number): number;
7
- export declare function tgdCalcRandom(min?: number, max?: number): number;
8
- /**
9
- * Force `value` to be between `min` and `max` by shifting it
10
- * by `max - min` as many times as needed.
11
- * @example
12
- * ```ts
13
- * tgdCalcModulo(3, 10, 20) === 13
14
- * tgdCalcModulo(13, 10, 20) === 13
15
- * tgdCalcModulo(23, 10, 20) === 13
16
- * ```
17
- */
18
- export declare function tgdCalcModulo(value: number, min: number, max: number): number;
19
- //# sourceMappingURL=math.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/utils/math.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAI5E;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,UAAQ,GACZ,MAAM,CAMR;AAED,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,GACR,MAAM,CAER;AAKD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,UAE1C;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,UAE1C;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,MAAM,CAGR;AAED,wBAAgB,aAAa,CAAC,GAAG,SAAI,EAAE,GAAG,CAAC,EAAE,MAAM,UAGlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAepE"}
@@ -1,59 +0,0 @@
1
- export function tgdCalcClamp(value, min, max) {
2
- if (value < min)
3
- return min;
4
- if (value > max)
5
- return max;
6
- return value;
7
- }
8
- export function tgdCalcMapRange(value, fromMin, fromMax, toMin, toMax, clamp = false) {
9
- const v = clamp ? tgdCalcClamp(value, fromMin, fromMax) : value;
10
- if (fromMin === fromMax)
11
- return v;
12
- const alpha = (v - fromMin) / (fromMax - fromMin);
13
- return toMin + alpha * (toMax - toMin);
14
- }
15
- export function tgdCalcMix(valueAtT0, valueAtT1, t) {
16
- return (1 - t) * valueAtT0 + t * valueAtT1;
17
- }
18
- const DEG_PER_RAD = 180 / Math.PI;
19
- const RAD_PER_DEG = Math.PI / 180;
20
- export function tgdCalcDegToRad(deg) {
21
- return deg * RAD_PER_DEG;
22
- }
23
- export function tgdCalcRadToDeg(rad) {
24
- return rad * DEG_PER_RAD;
25
- }
26
- export function tgdCalcSmoothStep(boundFor0, boundFor1, value) {
27
- const t = tgdCalcClamp((value - boundFor0) / (boundFor1 - boundFor0), 0, 1);
28
- return t * t * (3 - 2 * t);
29
- }
30
- export function tgdCalcRandom(min = 1, max) {
31
- if (typeof max !== "number")
32
- return Math.random() * min;
33
- return min + (max - min) * Math.random();
34
- }
35
- /**
36
- * Force `value` to be between `min` and `max` by shifting it
37
- * by `max - min` as many times as needed.
38
- * @example
39
- * ```ts
40
- * tgdCalcModulo(3, 10, 20) === 13
41
- * tgdCalcModulo(13, 10, 20) === 13
42
- * tgdCalcModulo(23, 10, 20) === 13
43
- * ```
44
- */
45
- export function tgdCalcModulo(value, min, max) {
46
- const range = max - min;
47
- if (range === 0)
48
- return min;
49
- if (value < min) {
50
- const n = Math.ceil((min - value) / range);
51
- return value + n * range;
52
- }
53
- if (value > max) {
54
- const n = Math.ceil((value - max) / range);
55
- return value - n * range;
56
- }
57
- return value;
58
- }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9tYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBYSxFQUFFLEdBQVcsRUFBRSxHQUFXO0lBQ2xFLElBQUksS0FBSyxHQUFHLEdBQUc7UUFBRSxPQUFPLEdBQUcsQ0FBQztJQUM1QixJQUFJLEtBQUssR0FBRyxHQUFHO1FBQUUsT0FBTyxHQUFHLENBQUM7SUFDNUIsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FDN0IsS0FBYSxFQUNiLE9BQWUsRUFDZixPQUFlLEVBQ2YsS0FBYSxFQUNiLEtBQWEsRUFDYixLQUFLLEdBQUcsS0FBSztJQUViLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNoRSxJQUFJLE9BQU8sS0FBSyxPQUFPO1FBQUUsT0FBTyxDQUFDLENBQUM7SUFFbEMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFDbEQsT0FBTyxLQUFLLEdBQUcsS0FBSyxHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUN4QixTQUFpQixFQUNqQixTQUFpQixFQUNqQixDQUFTO0lBRVQsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxTQUFTLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQztBQUM3QyxDQUFDO0FBRUQsTUFBTSxXQUFXLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7QUFDbEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUM7QUFFbEMsTUFBTSxVQUFVLGVBQWUsQ0FBQyxHQUFXO0lBQ3pDLE9BQU8sR0FBRyxHQUFHLFdBQVcsQ0FBQztBQUMzQixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxHQUFXO0lBQ3pDLE9BQU8sR0FBRyxHQUFHLFdBQVcsQ0FBQztBQUMzQixDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixTQUFpQixFQUNqQixTQUFpQixFQUNqQixLQUFhO0lBRWIsTUFBTSxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM1RSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzdCLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBWTtJQUNqRCxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVE7UUFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUM7SUFDeEQsT0FBTyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQzNDLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQWEsRUFBRSxHQUFXLEVBQUUsR0FBVztJQUNuRSxNQUFNLEtBQUssR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ3hCLElBQUksS0FBSyxLQUFLLENBQUM7UUFBRSxPQUFPLEdBQUcsQ0FBQztJQUU1QixJQUFJLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNoQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQzNDLE9BQU8sS0FBSyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksS0FBSyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDM0MsT0FBTyxLQUFLLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIn0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=math.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"math.test.d.ts","sourceRoot":"","sources":["../../src/utils/math.test.ts"],"names":[],"mappings":""}
@@ -1,22 +0,0 @@
1
- import { tgdCalcModulo, tgdCalcRandom } from "./math.js";
2
- describe(`tgdCalc*()`, () => {
3
- describe(`tgdCalcModulo()`, () => {
4
- const cases = [
5
- [-3, 10, 20, 17],
6
- [3, 10, 20, 13],
7
- [13, 10, 20, 13],
8
- [13, 20, 10, 13],
9
- [23, 10, 20, 13],
10
- [3.14, 1, 1.5, 1.14],
11
- [3.64, 1, 1.5, 1.14],
12
- [tgdCalcRandom(-100, 100), 1.618, 1.618, 1.618],
13
- [7, 20, 10, 17],
14
- ];
15
- for (const [value, min, max, expected] of cases) {
16
- it(`should have (${value}, ${min}, ${max}) === ${expected}`, () => {
17
- expect(tgdCalcModulo(value, min, max)).toBeCloseTo(expected, 6);
18
- });
19
- }
20
- });
21
- });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL21hdGgudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUVyRCxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN4QixRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO1FBQzdCLE1BQU0sS0FBSyxHQUVQO1lBQ0EsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNoQixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNmLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ2hCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ2hCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ2hCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO1lBQ3BCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO1lBQ3BCLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1NBQ2xCLENBQUE7UUFDRCxLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUM5QyxFQUFFLENBQUMsZ0JBQWdCLEtBQUssS0FBSyxHQUFHLEtBQUssR0FBRyxTQUFTLFFBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRTtnQkFDOUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUNuRSxDQUFDLENBQUMsQ0FBQTtRQUNOLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQyxDQUFBIn0=