@tolokoban/tgd 2.0.118 → 2.0.120

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 (205) hide show
  1. package/lib/dist/bounding-box.js +2 -2
  2. package/lib/dist/buffer/buffer.js +7 -9
  3. package/lib/dist/camera/camera-orthographic.d.ts +1 -0
  4. package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
  5. package/lib/dist/camera/camera-orthographic.js +13 -3
  6. package/lib/dist/camera/camera-perspective.d.ts +1 -0
  7. package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
  8. package/lib/dist/camera/camera-perspective.js +13 -3
  9. package/lib/dist/camera/camera.d.ts +1 -0
  10. package/lib/dist/camera/camera.d.ts.map +1 -1
  11. package/lib/dist/camera/camera.js +7 -8
  12. package/lib/dist/canvas/gizmo/gizmo.js +16 -15
  13. package/lib/dist/canvas/landscape/landscape.js +8 -2
  14. package/lib/dist/code/math.js +6 -3
  15. package/lib/dist/code/noise.js +18 -6
  16. package/lib/dist/color/color.d.ts +1 -1
  17. package/lib/dist/color/color.d.ts.map +1 -1
  18. package/lib/dist/color/color.js +16 -2
  19. package/lib/dist/context/animation/animation-manager.js +4 -6
  20. package/lib/dist/context/context.d.ts +8 -0
  21. package/lib/dist/context/context.d.ts.map +1 -1
  22. package/lib/dist/context/context.js +51 -20
  23. package/lib/dist/context/webgl-params.d.ts +9 -3
  24. package/lib/dist/context/webgl-params.d.ts.map +1 -1
  25. package/lib/dist/context/webgl-params.js +39 -12
  26. package/lib/dist/controller/camera/orbit.js +26 -6
  27. package/lib/dist/dataset/dataset.d.ts.map +1 -1
  28. package/lib/dist/dataset/dataset.js +26 -35
  29. package/lib/dist/debug/console.js +6 -4
  30. package/lib/dist/debug/debug.js +5 -6
  31. package/lib/dist/factory/mesh-glb.d.ts +4 -6
  32. package/lib/dist/factory/mesh-glb.d.ts.map +1 -1
  33. package/lib/dist/factory/mesh-glb.js +6 -6
  34. package/lib/dist/filter/blur.js +14 -8
  35. package/lib/dist/filter/filter.js +2 -3
  36. package/lib/dist/filter/hue-rotation.js +2 -2
  37. package/lib/dist/geometry/geometry.js +7 -10
  38. package/lib/dist/geometry/grid.js +3 -3
  39. package/lib/dist/geometry/tools/marching-cubes/marching-cubes.js +2 -3
  40. package/lib/dist/input/gamepad.js +9 -17
  41. package/lib/dist/input/pointer.d.ts.map +1 -1
  42. package/lib/dist/input/pointer.js +53 -22
  43. package/lib/dist/light/light.js +2 -3
  44. package/lib/dist/loader/asset.js +11 -14
  45. package/lib/dist/loader/binary.js +44 -51
  46. package/lib/dist/loader/font.d.ts +13 -0
  47. package/lib/dist/loader/font.d.ts.map +1 -0
  48. package/lib/dist/loader/font.js +28 -0
  49. package/lib/dist/loader/image.js +13 -16
  50. package/lib/dist/loader/index.d.ts +1 -0
  51. package/lib/dist/loader/index.d.ts.map +1 -1
  52. package/lib/dist/loader/index.js +2 -1
  53. package/lib/dist/loader/video.js +13 -16
  54. package/lib/dist/log.js +2 -3
  55. package/lib/dist/material/camera-light.d.ts +1 -0
  56. package/lib/dist/material/camera-light.d.ts.map +1 -1
  57. package/lib/dist/material/camera-light.js +7 -3
  58. package/lib/dist/material/diffuse.js +2 -3
  59. package/lib/dist/material/flat.js +2 -3
  60. package/lib/dist/material/glass.js +6 -8
  61. package/lib/dist/material/global.js +6 -8
  62. package/lib/dist/material/gltf.d.ts +29 -0
  63. package/lib/dist/material/gltf.d.ts.map +1 -0
  64. package/lib/dist/material/gltf.js +186 -0
  65. package/lib/dist/material/hull.js +4 -5
  66. package/lib/dist/material/index.d.ts +2 -0
  67. package/lib/dist/material/index.d.ts.map +1 -1
  68. package/lib/dist/material/index.js +3 -1
  69. package/lib/dist/material/material.js +5 -2
  70. package/lib/dist/material/mirror.d.ts +18 -0
  71. package/lib/dist/material/mirror.d.ts.map +1 -0
  72. package/lib/dist/material/mirror.js +56 -0
  73. package/lib/dist/material/solid.js +2 -3
  74. package/lib/dist/material/toon.js +7 -7
  75. package/lib/dist/math/mat4.js +3 -4
  76. package/lib/dist/math/transfo.js +11 -14
  77. package/lib/dist/math/vec4.d.ts +1 -0
  78. package/lib/dist/math/vec4.d.ts.map +1 -1
  79. package/lib/dist/math/vec4.js +18 -14
  80. package/lib/dist/painter/background/background.js +2 -2
  81. package/lib/dist/painter/clear.js +5 -6
  82. package/lib/dist/painter/filter/filter.js +9 -7
  83. package/lib/dist/painter/fragment-shader/fragment-shader.js +3 -5
  84. package/lib/dist/painter/framebuffer-msaa.js +5 -2
  85. package/lib/dist/painter/framebuffer.js +5 -8
  86. package/lib/dist/painter/gizmo/gizmo.d.ts.map +1 -1
  87. package/lib/dist/painter/gizmo/gizmo.js +5 -5
  88. package/lib/dist/painter/gizmo/painters/normal.js +4 -7
  89. package/lib/dist/painter/gizmo/painters/tips.d.ts.map +1 -1
  90. package/lib/dist/painter/gizmo/painters/tips.js +11 -13
  91. package/lib/dist/painter/group-camera.js +2 -3
  92. package/lib/dist/painter/group.js +6 -8
  93. package/lib/dist/painter/icon/icon.js +10 -8
  94. package/lib/dist/painter/icon/sprite.js +2 -3
  95. package/lib/dist/painter/lod/lod.js +26 -30
  96. package/lib/dist/painter/logic.js +2 -3
  97. package/lib/dist/painter/mesh/gltf/gltf.d.ts +27 -5
  98. package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
  99. package/lib/dist/painter/mesh/gltf/gltf.js +100 -52
  100. package/lib/dist/painter/mesh/mesh/mesh.js +24 -17
  101. package/lib/dist/painter/mix/mix.js +6 -7
  102. package/lib/dist/painter/node/node.js +11 -17
  103. package/lib/dist/painter/overlay/overlay.js +14 -19
  104. package/lib/dist/painter/painter.js +2 -2
  105. package/lib/dist/painter/points-cloud/points-cloud-morphing.js +12 -14
  106. package/lib/dist/painter/points-cloud/points-cloud.js +11 -12
  107. package/lib/dist/painter/program.js +24 -11
  108. package/lib/dist/painter/segments/segments-morphing.js +30 -14
  109. package/lib/dist/painter/segments/segments.js +33 -20
  110. package/lib/dist/painter/skybox/skybox.d.ts +18 -8
  111. package/lib/dist/painter/skybox/skybox.d.ts.map +1 -1
  112. package/lib/dist/painter/skybox/skybox.js +90 -44
  113. package/lib/dist/painter/sprites/accessor.js +2 -2
  114. package/lib/dist/painter/sprites/sprites-hue.js +18 -8
  115. package/lib/dist/painter/sprites/sprites.js +53 -20
  116. package/lib/dist/painter/state/state.d.ts +1 -1
  117. package/lib/dist/painter/state/state.d.ts.map +1 -1
  118. package/lib/dist/painter/state/state.js +6 -11
  119. package/lib/dist/painter/tubes/geometry.js +3 -4
  120. package/lib/dist/painter/tubes/tubes.js +3 -4
  121. package/lib/dist/painter/x-ray/background.js +2 -2
  122. package/lib/dist/painter/x-ray/x-ray.js +8 -5
  123. package/lib/dist/parser/gltf/gltf.d.ts +13 -5
  124. package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
  125. package/lib/dist/parser/gltf/gltf.js +113 -114
  126. package/lib/dist/parser/gltf/parser.d.ts.map +1 -1
  127. package/lib/dist/parser/gltf/parser.js +12 -1
  128. package/lib/dist/parser/mesh/wavefront.js +3 -5
  129. package/lib/dist/program/program.d.ts.map +1 -1
  130. package/lib/dist/program/program.js +6 -7
  131. package/lib/dist/reference-map.js +3 -5
  132. package/lib/dist/shader/code.js +2 -2
  133. package/lib/dist/texture/texture-cube.d.ts +19 -7
  134. package/lib/dist/texture/texture-cube.d.ts.map +1 -1
  135. package/lib/dist/texture/texture-cube.js +54 -2
  136. package/lib/dist/texture/texture2d.d.ts +9 -2
  137. package/lib/dist/texture/texture2d.d.ts.map +1 -1
  138. package/lib/dist/texture/texture2d.js +51 -49
  139. package/lib/dist/time/interval/interval.js +2 -3
  140. package/lib/dist/types/gltf.d.ts +2 -1
  141. package/lib/dist/types/gltf.d.ts.map +1 -1
  142. package/lib/dist/types/gltf.js +10 -4
  143. package/lib/dist/types/guards.js +2 -3
  144. package/lib/dist/types/input-pointer.d.ts +5 -0
  145. package/lib/dist/types/input-pointer.d.ts.map +1 -1
  146. package/lib/dist/types/texture-cube.d.ts +1 -0
  147. package/lib/dist/types/texture-cube.d.ts.map +1 -1
  148. package/lib/dist/uniform/ubo-camera.d.ts +2 -1
  149. package/lib/dist/uniform/ubo-camera.d.ts.map +1 -1
  150. package/lib/dist/uniform/ubo-camera.js +9 -2
  151. package/lib/dist/uniform/uniform-buffer-object.js +2 -2
  152. package/lib/dist/utils/action/camera.js +3 -4
  153. package/lib/dist/utils/animation/chain-transfo-interpolations.js +6 -2
  154. package/lib/dist/utils/animation/chain.js +12 -12
  155. package/lib/dist/utils/bbox.js +3 -3
  156. package/lib/dist/utils/canvas.js +3 -3
  157. package/lib/dist/utils/ensure.d.ts +2 -0
  158. package/lib/dist/utils/ensure.d.ts.map +1 -1
  159. package/lib/dist/utils/ensure.js +21 -5
  160. package/lib/dist/utils/fullscreen.js +31 -38
  161. package/lib/dist/utils/reference-map.js +3 -5
  162. package/lib/dist/utils/state/blend.d.ts +1 -1
  163. package/lib/dist/utils/state/blend.d.ts.map +1 -1
  164. package/lib/dist/utils/state/blend.js +28 -1
  165. package/lib/dist/utils/state/stencil.js +2 -2
  166. package/lib/dist/vao/vao.js +8 -9
  167. package/lib/dist/version.d.ts +1 -1
  168. package/lib/dist/version.js +1 -1
  169. package/lib/dist/wasm/function.js +2 -3
  170. package/lib/dist/wasm/index.js +16 -19
  171. package/lib/dist/wasm/wast.js +3 -4
  172. package/lib/dist/webgl/texture/texture2d.js +2 -3
  173. package/package.json +1 -1
  174. package/lib/dist/math/common.test.d.ts +0 -2
  175. package/lib/dist/math/common.test.d.ts.map +0 -1
  176. package/lib/dist/math/common.test.js +0 -22
  177. package/lib/dist/math/mat3.test.d.ts +0 -2
  178. package/lib/dist/math/mat3.test.d.ts.map +0 -1
  179. package/lib/dist/math/mat3.test.js +0 -32
  180. package/lib/dist/math/mat4.test.d.ts +0 -2
  181. package/lib/dist/math/mat4.test.d.ts.map +0 -1
  182. package/lib/dist/math/mat4.test.js +0 -57
  183. package/lib/dist/math/math.test.d.ts +0 -2
  184. package/lib/dist/math/math.test.d.ts.map +0 -1
  185. package/lib/dist/math/math.test.js +0 -23
  186. package/lib/dist/math/quat.test.d.ts +0 -3
  187. package/lib/dist/math/quat.test.d.ts.map +0 -1
  188. package/lib/dist/math/quat.test.js +0 -99
  189. package/lib/dist/math/vec3.test.d.ts +0 -2
  190. package/lib/dist/math/vec3.test.d.ts.map +0 -1
  191. package/lib/dist/math/vec3.test.js +0 -36
  192. package/lib/dist/math/vec4.test.d.ts +0 -2
  193. package/lib/dist/math/vec4.test.d.ts.map +0 -1
  194. package/lib/dist/math/vec4.test.js +0 -15
  195. package/lib/dist/painter/gizmo/painters/axes.1.d.ts +0 -14
  196. package/lib/dist/painter/gizmo/painters/axes.1.d.ts.map +0 -1
  197. package/lib/dist/painter/gizmo/painters/axes.1.js +0 -50
  198. package/lib/dist/painter/skybox/skybox.frag +0 -15
  199. package/lib/dist/painter/skybox/skybox.vert +0 -13
  200. package/lib/dist/utils/bbox.test.d.ts +0 -2
  201. package/lib/dist/utils/bbox.test.d.ts.map +0 -1
  202. package/lib/dist/utils/bbox.test.js +0 -45
  203. package/lib/dist/utils/template.test.d.ts +0 -2
  204. package/lib/dist/utils/template.test.d.ts.map +0 -1
  205. package/lib/dist/utils/template.test.js +0 -17
@@ -1,61 +1,107 @@
1
- import { TgdDataset } from "./../../dataset/dataset.js";
2
- import { TgdMat4, TgdTransfo } from "./../../math/index.js";
1
+ import { TgdMat4, TgdTransfo, TgdVec4 } from "./../../math/index.js";
3
2
  import { TgdPainter } from "./../painter.js";
4
- import { TgdProgram } from "./../../program/index.js";
5
3
  import { TgdTextureCube } from "./../../texture/index.js";
6
- import { webglCullExec, webglPresetCull } from "./../../utils/index.js";
7
- import { TgdVertexArray } from "./../../vao/index.js";
8
- import FRAG from "./skybox.frag";
9
- import VERT from "./skybox.vert";
4
+ import { ensureArrayNumber4 } from "./../../utils/index.js";
5
+ import { TgdPainterProgram } from "../program.js";
6
+ import { TgdUniformBufferObject } from "./../../uniform/index.js";
10
7
  export class TgdPainterSkybox extends TgdPainter {
11
8
  constructor(context, options) {
12
- var _a;
13
9
  super();
14
10
  this.context = context;
15
11
  this.z = 1;
12
+ this._zoom = 1;
16
13
  this.matrix = new TgdMat4();
17
14
  this.tmpMat = new TgdMat4();
15
+ this.uniTint = new TgdVec4(1, 1, 1, 1);
18
16
  this.name = "TgdPainterSkybox";
19
- this.z = (_a = options.z) !== null && _a !== void 0 ? _a : 1;
17
+ this.zoom = options.zoom ?? 1;
18
+ this.z = options.z ?? 1;
20
19
  this.transfo = new TgdTransfo(options.transfo);
21
- this.camera = options.camera;
22
- this.texture = new TgdTextureCube(context, options);
23
- this.program = new TgdProgram(context.gl, {
24
- vert: VERT,
25
- frag: FRAG,
20
+ this.camera = options.camera ?? context.camera;
21
+ const [r, g, b, a] = ensureArrayNumber4(options.tint, [1, 1, 1, 1]);
22
+ this.uniTint.reset(r, g, b, a);
23
+ if (options.texture instanceof TgdTextureCube) {
24
+ this.textureMustBeCleanedup = false;
25
+ this._texture = options.texture;
26
+ }
27
+ else {
28
+ this.textureMustBeCleanedup = true;
29
+ this._texture = new TgdTextureCube(context, options.texture);
30
+ }
31
+ const uniformBlock = (this.uniformBlock = new TgdUniformBufferObject(context, {
32
+ uniforms: {
33
+ uniZ: "float",
34
+ uniZoom: "float",
35
+ uniTint: "vec4",
36
+ uniMatrix: "mat4",
37
+ uniTransfo: "mat4",
38
+ },
39
+ }));
40
+ const attPoint = [-1, +1, +1, +1, -1, -1, +1, -1];
41
+ const painter = new TgdPainterProgram(context, {
42
+ drawMode: "TRIANGLE_STRIP",
43
+ dataset: {
44
+ attribs: {
45
+ attPoint: {
46
+ type: "vec2",
47
+ data: new Float32Array(attPoint),
48
+ },
49
+ },
50
+ },
51
+ textures: {
52
+ uniTexture: this._texture,
53
+ },
54
+ uniforms: { uniformBlock },
55
+ varying: {
56
+ varPoint: "vec4",
57
+ },
58
+ vert: {
59
+ mainCode: [
60
+ "varPoint = vec4(attPoint.xy / uniZoom, 1.0, 1.0);",
61
+ "gl_Position = vec4(attPoint.xy, uniZ, 1.0);",
62
+ ],
63
+ },
64
+ frag: {
65
+ mainCode: [
66
+ "vec4 t = uniTransfo * uniMatrix * varPoint;",
67
+ "FragColor = texture(uniTexture, normalize(t.xyz)) * uniTint;",
68
+ ],
69
+ },
26
70
  });
27
- const dataset = new TgdDataset({
28
- attPoint: "vec2",
29
- });
30
- dataset.set("attPoint", new Float32Array([-1, +1, +1, +1, -1, -1, +1, -1]));
31
- this.vao = new TgdVertexArray(context.gl, this.program, [dataset]);
71
+ this.painter = painter;
72
+ }
73
+ get zoom() {
74
+ return this._zoom;
75
+ }
76
+ set zoom(zoom) {
77
+ if (zoom == this._zoom)
78
+ return;
79
+ this._zoom = zoom;
32
80
  }
33
81
  delete() {
34
- const { vao } = this;
35
- vao.delete();
82
+ if (this.textureMustBeCleanedup) {
83
+ this._texture.delete();
84
+ }
85
+ this.painter.delete();
36
86
  }
37
- paint() {
38
- const { context, vao, program, texture, z } = this;
39
- const { gl } = context;
40
- // Compute matrix from current camera.
41
- const { camera, matrix, tmpMat } = this;
42
- webglCullExec(context, webglPresetCull.off, () => {
43
- camera.screenWidth = context.width;
44
- camera.screenHeight = context.height;
45
- matrix.from(camera.matrixProjection);
46
- tmpMat.fromMat3(this.transfo.matrix).multiply(camera.matrixModelView);
47
- tmpMat.m03 = 0;
48
- tmpMat.m13 = 0;
49
- tmpMat.m23 = 0;
50
- matrix.multiply(tmpMat).invert();
51
- program.use();
52
- program.uniformMatrix4fv("uniMatrix", matrix);
53
- program.uniform1f("uniZ", z);
54
- texture.activate(0, program, "uniTexture");
55
- vao.bind();
56
- gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
57
- vao.unbind();
58
- });
87
+ paint(time, delta) {
88
+ const { context, z, zoom, uniTint, uniformBlock, painter, camera, matrix, tmpMat } = this;
89
+ const uniforms = uniformBlock.values;
90
+ camera.screenWidth = context.width;
91
+ camera.screenHeight = context.height;
92
+ matrix.from(camera.matrixProjection);
93
+ tmpMat.fromMat3(this.transfo.matrix).multiply(camera.matrixModelView);
94
+ tmpMat.m03 = 0;
95
+ tmpMat.m13 = 0;
96
+ tmpMat.m23 = 0;
97
+ matrix.multiply(tmpMat).invert();
98
+ uniforms.uniZ = z;
99
+ uniforms.uniZoom = zoom;
100
+ uniforms.uniTint = uniTint;
101
+ uniforms.uniMatrix = matrix;
102
+ uniforms.uniTransfo = this.transfo.matrix;
103
+ console.log("🐞 [skybox@134] zoom =", zoom); // @FIXME: Remove this line written on 2026-03-25 at 15:37
104
+ painter.paint(time, delta);
59
105
  }
60
106
  }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5Ym94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhaW50ZXIvc2t5Ym94L3NreWJveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQTBCLE1BQU0sV0FBVyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN6QyxPQUFPLElBQUksTUFBTSxlQUFlLENBQUE7QUFDaEMsT0FBTyxJQUFJLE1BQU0sZUFBZSxDQUFBO0FBUWhDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxVQUFVO0lBVzVDLFlBQ29CLE9BQW1CLEVBQ25DLE9BQWdDOztRQUVoQyxLQUFLLEVBQUUsQ0FBQTtRQUhTLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFUaEMsTUFBQyxHQUFHLENBQUMsQ0FBQTtRQUtLLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO1FBQ3RCLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO1FBT25DLElBQUksQ0FBQyxJQUFJLEdBQUcsa0JBQWtCLENBQUE7UUFDOUIsSUFBSSxDQUFDLENBQUMsR0FBRyxNQUFBLE9BQU8sQ0FBQyxDQUFDLG1DQUFJLENBQUMsQ0FBQTtRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUM5QyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUE7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGNBQWMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQ3RDLElBQUksRUFBRSxJQUFJO1lBQ1YsSUFBSSxFQUFFLElBQUk7U0FDYixDQUFDLENBQUE7UUFDRixNQUFNLE9BQU8sR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUMzQixRQUFRLEVBQUUsTUFBTTtTQUNuQixDQUFDLENBQUE7UUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzNFLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtJQUN0RSxDQUFDO0lBRUQsTUFBTTtRQUNGLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDcEIsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ2hCLENBQUM7SUFFRCxLQUFLO1FBQ0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbEQsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQTtRQUV0QixzQ0FBc0M7UUFDdEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ3ZDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7WUFDN0MsTUFBTSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO1lBQ2xDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQTtZQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1lBQ3BDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO1lBQ3JFLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFBO1lBQ2QsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUE7WUFDZCxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQTtZQUNkLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7WUFFaEMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFBO1lBQ2IsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUM3QyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUM1QixPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUE7WUFDMUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFBO1lBQ1YsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUN0QyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDaEIsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0NBQ0oifQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5Ym94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhaW50ZXIvc2t5Ym94L3NreWJveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQTBCLE1BQU0sV0FBVyxDQUFBO0FBQ2hGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRTdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUUvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDOUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBV3JELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxVQUFVO0lBYzVDLFlBQ29CLE9BQW1CLEVBQ25DLE9BQWdDO1FBRWhDLEtBQUssRUFBRSxDQUFBO1FBSFMsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQVpoQyxNQUFDLEdBQUcsQ0FBQyxDQUFBO1FBSUosVUFBSyxHQUFHLENBQUMsQ0FBQTtRQUNBLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO1FBQ3RCLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO1FBQ3RCLFlBQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQVM5QyxJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFBO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUE7UUFDN0IsSUFBSSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksVUFBVSxDQUFDLE9BQU8s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
@@ -3,7 +3,7 @@ export class AccessorProxy {
3
3
  this.attributeName = attributeName;
4
4
  this.accessor = null;
5
5
  this._dataset = undefined;
6
- this.get = (index, dimension) => { var _a, _b; return (_b = (_a = this.accessor) === null || _a === void 0 ? void 0 : _a.get(index, dimension)) !== null && _b !== void 0 ? _b : 0; };
6
+ this.get = (index, dimension) => this.accessor?.get(index, dimension) ?? 0;
7
7
  this.set = (value, index, dimension) => {
8
8
  const { accessor } = this;
9
9
  if (!accessor)
@@ -21,4 +21,4 @@ export class AccessorProxy {
21
21
  }
22
22
  }
23
23
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFpbnRlci9zcHJpdGVzL2FjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxhQUFhO0lBSXRCLFlBQTRCLGFBQXFCO1FBQXJCLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBSHpDLGFBQVEsR0FBb0IsSUFBSSxDQUFBO1FBQ2hDLGFBQVEsR0FBMkIsU0FBUyxDQUFBO1FBYTNDLFFBQUcsR0FBRyxDQUFDLEtBQWEsRUFBRSxTQUE4QixFQUFFLEVBQUUsZUFBQyxPQUFBLE1BQUEsTUFBQSxJQUFJLENBQUMsUUFBUSwwQ0FBRSxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxtQ0FBSSxDQUFDLENBQUEsRUFBQSxDQUFBO1FBRWxHLFFBQUcsR0FBRyxDQUFDLEtBQWEsRUFBRSxLQUFhLEVBQUUsU0FBOEIsRUFBRSxFQUFFO1lBQzVFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUE7WUFDekIsSUFBSSxDQUFDLFFBQVE7Z0JBQUUsT0FBTTtZQUVyQixRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUE7UUFDekMsQ0FBQyxDQUFBO0lBbEJtRCxDQUFDO0lBRXJELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQTtJQUN4QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBNkI7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUE7UUFDckIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUMvRCxDQUFDO0lBQ0wsQ0FBQztDQVNKIn0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFpbnRlci9zcHJpdGVzL2FjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxhQUFhO0lBSXRCLFlBQTRCLGFBQXFCO1FBQXJCLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBSHpDLGFBQVEsR0FBb0IsSUFBSSxDQUFBO1FBQ2hDLGFBQVEsR0FBMkIsU0FBUyxDQUFBO1FBYTNDLFFBQUcsR0FBRyxDQUFDLEtBQWEsRUFBRSxTQUE4QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRWxHLFFBQUcsR0FBRyxDQUFDLEtBQWEsRUFBRSxLQUFhLEVBQUUsU0FBOEIsRUFBRSxFQUFFO1lBQzVFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUE7WUFDekIsSUFBSSxDQUFDLFFBQVE7Z0JBQUUsT0FBTTtZQUVyQixRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUE7UUFDekMsQ0FBQyxDQUFBO0lBbEJtRCxDQUFDO0lBRXJELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQTtJQUN4QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBNkI7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUE7UUFDckIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUMvRCxDQUFDO0lBQ0wsQ0FBQztDQVNKIn0=
@@ -4,20 +4,27 @@ import { TgdPainterSpritesAbstract } from "./sprites-abstract.js";
4
4
  export class TgdPainterSpritesHue extends TgdPainterSpritesAbstract {
5
5
  constructor(context, options) {
6
6
  super();
7
- this.parent = new TgdPainterSprites(context, Object.assign(Object.assign({}, options), { attributes: {
7
+ this.parent = new TgdPainterSprites(context, {
8
+ ...options,
9
+ attributes: {
8
10
  attHue: "float",
9
- }, attributesSetter(attributes, key, value, offset) {
11
+ },
12
+ attributesSetter(attributes, key, value, offset) {
10
13
  if (key !== "hue" || typeof value !== "number")
11
14
  return;
12
15
  attributes.attHue.set(value, offset);
13
- }, varyings: {
16
+ },
17
+ varyings: {
14
18
  varHue: "float",
15
- }, vert: {
19
+ },
20
+ vert: {
16
21
  code: ["varHue = attHue;"],
17
- }, frag: {
22
+ },
23
+ frag: {
18
24
  functions: tgdCodeFunction_shiftHue(),
19
25
  code: ["color.rgb = shiftHue(color.rgb, varHue);"],
20
- } }));
26
+ },
27
+ });
21
28
  }
22
29
  get count() {
23
30
  return this.parent.count;
@@ -41,7 +48,10 @@ export class TgdPainterSpritesHue extends TgdPainterSpritesAbstract {
41
48
  this.parent.clear();
42
49
  }
43
50
  add(data) {
44
- const info = Object.assign({ hue: 0 }, data);
51
+ const info = {
52
+ hue: 0,
53
+ ...data,
54
+ };
45
55
  const sprite = this.parent.add(info);
46
56
  sprite.hue = info.hue;
47
57
  return sprite;
@@ -63,4 +73,4 @@ export class TgdPainterSpritesHue extends TgdPainterSpritesAbstract {
63
73
  this.parent.debug(caption);
64
74
  }
65
75
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByaXRlcy1odWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFpbnRlci9zcHJpdGVzL3Nwcml0ZXMtaHVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxpQkFBaUIsRUFBNEIsTUFBTSxXQUFXLENBQUE7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3BELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBSTlELE1BQU0sT0FBTyxvQkFBNEQsU0FBUSx5QkFHaEY7SUFHRyxZQUFZLE9BQW1CLEVBQUUsT0FBaUM7UUFDOUQsS0FBSyxFQUFFLENBQUE7UUFDUCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksaUJBQWlCLENBQUksT0FBTyxrQ0FDdkMsT0FBTyxLQUNWLFVBQVUsRUFBRTtnQkFDUixNQUFNLEVBQUUsT0FBTzthQUNsQixFQUNELGdCQUFnQixDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU07Z0JBQzNDLElBQUksR0FBRyxLQUFLLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO29CQUFFLE9BQU07Z0JBRXRELFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUN4QyxDQUFDLEVBQ0QsUUFBUSxFQUFFO2dCQUNOLE1BQU0sRUFBRSxPQUFPO2FBQ2xCLEVBQ0QsSUFBSSxFQUFFO2dCQUNGLElBQUksRUFBRSxDQUFDLGtCQUFrQixDQUFDO2FBQzdCLEVBQ0QsSUFBSSxFQUFFO2dCQUNGLFNBQVMsRUFBRSx3QkFBd0IsRUFBRTtnQkFDckMsSUFBSSxFQUFFLENBQUMsMENBQTBDLENBQUM7YUFDckQsSUFDSCxDQUFBO0lBQ04sQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUE7SUFDNUIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUE7SUFDL0IsQ0FBQztJQUVELElBQUk7UUFDQSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDN0IsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUE2QjtRQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNqQyxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQTRCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDdkIsQ0FBQztJQUVELEdBQUcsQ0FBQyxJQUEwRDtRQUMxRCxNQUFNLElBQUksR0FBRyxnQkFDVCxHQUFHLEVBQUUsQ0FBQyxJQUNILElBQUksQ0FDMkMsQ0FBQTtRQUN0RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNwQyxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUE7UUFDckIsT0FBTyxNQUFNLENBQUE7SUFDakIsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFzQjtRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM5QixDQUFDO0lBRUQsZ0NBQWdDO0lBQ2hDLDhCQUE4QjtJQUM5Qiw2REFBNkQ7SUFDN0QsSUFBSTtJQUVKLE1BQU07UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ3hCLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQWdCO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzlCLENBQUM7Q0FDSiJ9
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByaXRlcy1odWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFpbnRlci9zcHJpdGVzL3Nwcml0ZXMtaHVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxpQkFBaUIsRUFBNEIsTUFBTSxXQUFXLENBQUE7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3BELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBSTlELE1BQU0sT0FBTyxvQkFBNEQsU0FBUSx5QkFHaEY7SUFHRyxZQUFZLE9BQW1CLEVBQUUsT0FBaUM7UUFDOUQsS0FBSyxFQUFFLENBQUE7UUFDUCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksaUJBQWlCLENBQUksT0FBTyxFQUFFO1lBQzVDLEdBQUcsT0FBTztZQUNWLFVBQVUsRUFBRTtnQkFDUixNQUFNLEVBQUUsT0FBTzthQUNsQjtZQUNELGdCQUFnQixDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU07Z0JBQzNDLElBQUksR0FBRyxLQUFLLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO29CQUFFLE9BQU07Z0JBRXRELFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUN4QyxDQUFDO1lBQ0QsUUFBUSxFQUFFO2dCQUNOLE1BQU0sRUFBRSxPQUFPO2FBQ2xCO1lBQ0QsSUFBSSxFQUFFO2dCQUNGLElBQUksRUFBRSxDQUFDLGtCQUFrQixDQUFDO2FBQzdCO1lBQ0QsSUFBSSxFQUFFO2dCQUNGLFNBQVMsRUFBRSx3QkFBd0IsRUFBRTtnQkFDckMsSUFBSSxFQUFFLENBQUMsMENBQTBDLENBQUM7YUFDckQ7U0FDSixDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQTtJQUM1QixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQTtJQUMvQixDQUFDO0lBRUQsSUFBSTtRQUNBLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUM3QixDQUFDO0lBRUQsT0FBTyxDQUFDLFFBQTZCO1FBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2pDLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBNEI7UUFDL0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0lBRUQsR0FBRyxDQUFDLElBQTBEO1FBQzFELE1BQU0sSUFBSSxHQUFHO1lBQ1QsR0FBRyxFQUFFLENBQUM7WUFDTixHQUFHLElBQUk7U0FDMkMsQ0FBQTtRQUN0RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNwQyxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUE7UUFDckIsT0FBTyxNQUFNLENBQUE7SUFDakIsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFzQjtRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM5QixDQUFDO0lBRUQsZ0NBQWdDO0lBQ2hDLDhCQUE4QjtJQUM5Qiw2REFBNkQ7SUFDN0QsSUFBSTtJQUVKLE1BQU07UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ3hCLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQWdCO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzlCLENBQUM7Q0FDSiJ9
@@ -10,7 +10,6 @@ import { TgdPainterSpritesAbstract } from "./sprites-abstract.js";
10
10
  const DEBUG_COL_SIZE = 8;
11
11
  export class TgdPainterSprites extends TgdPainterSpritesAbstract {
12
12
  constructor(context, options) {
13
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
14
13
  super();
15
14
  this.context = context;
16
15
  this.options = options;
@@ -38,7 +37,7 @@ export class TgdPainterSprites extends TgdPainterSpritesAbstract {
38
37
  this.dirty = true;
39
38
  this.uniFaceCamera = new TgdMat4();
40
39
  this.name = `Sprites/${this.name}`;
41
- for (const attribName of Object.keys((_a = options.attributes) !== null && _a !== void 0 ? _a : {})) {
40
+ for (const attribName of Object.keys(options.attributes ?? {})) {
42
41
  this.attributes[attribName] = new AccessorProxy(attribName);
43
42
  }
44
43
  const { texture } = options;
@@ -51,7 +50,7 @@ export class TgdPainterSprites extends TgdPainterSpritesAbstract {
51
50
  this.uniAtlasRatio.x = 1;
52
51
  this.uniAtlasRatio.y = texture.height / texture.width;
53
52
  }
54
- this.uniAtlasRatio.scale((_b = options.atlasUnit) !== null && _b !== void 0 ? _b : 1);
53
+ this.uniAtlasRatio.scale(options.atlasUnit ?? 1);
55
54
  const uniforms = {
56
55
  uniTransfoMatrix: "mat4",
57
56
  uniModelViewMatrix: "mat4",
@@ -64,9 +63,22 @@ export class TgdPainterSprites extends TgdPainterSpritesAbstract {
64
63
  const prg = new TgdProgram(context.gl, {
65
64
  vert: new TgdShaderVertex({
66
65
  uniforms,
67
- attributes: Object.assign(Object.assign({}, options.attributes), { attPosition: "vec3", attCos: "float", attSin: "float", attScale: "vec2", attUV: "vec3", attSize: "vec2", attOrigin: "vec2", attCorners: "vec4" }),
68
- varying: Object.assign(Object.assign({}, options.varyings), { varUV: "vec2" }),
69
- functions: extract((_c = options.vert) === null || _c === void 0 ? void 0 : _c.functions),
66
+ attributes: {
67
+ ...options.attributes,
68
+ attPosition: "vec3",
69
+ attCos: "float",
70
+ attSin: "float",
71
+ attScale: "vec2",
72
+ attUV: "vec3",
73
+ attSize: "vec2",
74
+ attOrigin: "vec2",
75
+ attCorners: "vec4",
76
+ },
77
+ varying: {
78
+ ...options.varyings,
79
+ varUV: "vec2",
80
+ },
81
+ functions: extract(options.vert?.functions),
70
82
  mainCode: [
71
83
  "varUV = attUV.xy + attSize * attCorners.zw;",
72
84
  "vec4 position = vec4((attCorners.xy - attOrigin) * attScale * attSize * uniAtlasRatio, 0.0, 1.0);",
@@ -77,22 +89,25 @@ export class TgdPainterSprites extends TgdPainterSpritesAbstract {
77
89
  ...(options.faceCamera ? ["position = uniFaceCamera * position;"] : []),
78
90
  "position += vec4(attPosition, 0.0);",
79
91
  "gl_Position = uniProjectionMatrix * uniModelViewMatrix * uniTransfoMatrix * position;",
80
- (_e = extract((_d = options.vert) === null || _d === void 0 ? void 0 : _d.code)) !== null && _e !== void 0 ? _e : "",
92
+ extract(options.vert?.code) ?? "",
81
93
  ],
82
94
  }).code,
83
95
  frag: new TgdShaderFragment({
84
96
  uniforms: {
85
97
  uniTexture: "sampler2D",
86
98
  },
87
- functions: extract((_f = options.frag) === null || _f === void 0 ? void 0 : _f.functions),
88
- varying: Object.assign(Object.assign({}, options.varyings), { varUV: "vec2" }),
99
+ functions: extract(options.frag?.functions),
100
+ varying: {
101
+ ...options.varyings,
102
+ varUV: "vec2",
103
+ },
89
104
  outputs: {
90
105
  FragColor: "vec4",
91
106
  },
92
107
  mainCode: [
93
108
  "vec4 color = texture(uniTexture, varUV);",
94
109
  `if (color.a < ${1 / 0xff}) discard;`,
95
- (_h = extract((_g = options.frag) === null || _g === void 0 ? void 0 : _g.code)) !== null && _h !== void 0 ? _h : "",
110
+ extract(options.frag?.code) ?? "",
96
111
  "FragColor = color;",
97
112
  ],
98
113
  }).code,
@@ -111,11 +126,20 @@ export class TgdPainterSprites extends TgdPainterSpritesAbstract {
111
126
  -1, +1, 0, 0,
112
127
  +1, +1, 1, 0,
113
128
  ]));
114
- const datasetInstances = new TgdDataset(Object.assign(Object.assign({}, options.attributes), { attPosition: "vec3", attScale: "vec2", attUV: "vec3", attSize: "vec2", attOrigin: "vec2", attCos: "float", attSin: "float" }), {
129
+ const datasetInstances = new TgdDataset({
130
+ ...options.attributes,
131
+ attPosition: "vec3",
132
+ attScale: "vec2",
133
+ attUV: "vec3",
134
+ attSize: "vec2",
135
+ attOrigin: "vec2",
136
+ attCos: "float",
137
+ attSin: "float",
138
+ }, {
115
139
  divisor: 1,
116
140
  usage: "DYNAMIC_DRAW",
117
141
  });
118
- datasetInstances.count = (_j = options.initialCapacity) !== null && _j !== void 0 ? _j : 1;
142
+ datasetInstances.count = options.initialCapacity ?? 1;
119
143
  this.datasetInstances = datasetInstances;
120
144
  const vao = new TgdVertexArray(context.gl, prg, [datasetInstances, datasetFrame]);
121
145
  this.vao = vao;
@@ -160,7 +184,17 @@ export class TgdPainterSprites extends TgdPainterSpritesAbstract {
160
184
  add(data) {
161
185
  const offset = this.count;
162
186
  this.count++;
163
- const info = Object.assign({ id: TgdPainterSprites.id++, index: 0, x: 0, y: 0, z: 0, angle: 0, scaleX: 1, scaleY: 1 }, data);
187
+ const info = {
188
+ id: TgdPainterSprites.id++,
189
+ index: 0,
190
+ x: 0,
191
+ y: 0,
192
+ z: 0,
193
+ angle: 0,
194
+ scaleX: 1,
195
+ scaleY: 1,
196
+ ...data,
197
+ };
164
198
  const props = {
165
199
  id: info.id,
166
200
  offset,
@@ -200,7 +234,6 @@ export class TgdPainterSprites extends TgdPainterSpritesAbstract {
200
234
  sprite.z = info.z;
201
235
  }
202
236
  interceptSetter(key, value, { offset, atlas }) {
203
- var _a, _b, _c, _d, _e, _f;
204
237
  switch (key) {
205
238
  case "index": {
206
239
  const item = atlas[value];
@@ -208,11 +241,11 @@ export class TgdPainterSprites extends TgdPainterSpritesAbstract {
208
241
  return false;
209
242
  this.attUV.set(item.x, offset, 0);
210
243
  this.attUV.set(item.y, offset, 1);
211
- this.attUV.set((_a = item.z) !== null && _a !== void 0 ? _a : 0, offset, 2);
244
+ this.attUV.set(item.z ?? 0, offset, 2);
212
245
  this.attSize.set(item.width, offset, 0);
213
246
  this.attSize.set(item.height, offset, 1);
214
- this.attOrigin.set((_b = item.originX) !== null && _b !== void 0 ? _b : 0, offset, 0);
215
- this.attOrigin.set((_c = item.originY) !== null && _c !== void 0 ? _c : 0, offset, 1);
247
+ this.attOrigin.set(item.originX ?? 0, offset, 0);
248
+ this.attOrigin.set(item.originY ?? 0, offset, 1);
216
249
  return true;
217
250
  }
218
251
  case "x":
@@ -237,7 +270,7 @@ export class TgdPainterSprites extends TgdPainterSpritesAbstract {
237
270
  this.attScale.set(value, offset, 1);
238
271
  return true;
239
272
  }
240
- return (_f = (_e = (_d = this.options).attributesSetter) === null || _e === void 0 ? void 0 : _e.call(_d, this.attributes, key, value, offset)) !== null && _f !== void 0 ? _f : false;
273
+ return this.options.attributesSetter?.(this.attributes, key, value, offset) ?? false;
241
274
  }
242
275
  remove(sprite) {
243
276
  const index = this.spriteIndexes.get(sprite.id);
@@ -293,7 +326,7 @@ export class TgdPainterSprites extends TgdPainterSpritesAbstract {
293
326
  }
294
327
  debug(caption) {
295
328
  this.transfo.debug("Transfo");
296
- const out = new TgdConsole({ text: caption !== null && caption !== void 0 ? caption : this.name, bold: true });
329
+ const out = new TgdConsole({ text: caption ?? this.name, bold: true });
297
330
  out.nl();
298
331
  out.add("count: ").add(`${this.count}`, { color: "yellow" }).nl();
299
332
  out.add("capacity: ").add(`${this.capacity}`, { color: "yellow" }).nl();
@@ -362,4 +395,4 @@ function extract(arg) {
362
395
  return arg;
363
396
  return arg();
364
397
  }
365
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByaXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWludGVyL3Nwcml0ZXMvc3ByaXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUE2QixNQUFNLGNBQWMsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sRUFJSCxpQkFBaUIsRUFDakIsZUFBZSxHQUNsQixNQUFNLGFBQWEsQ0FBQTtBQUdwQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzFDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBNEM5RCxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUE7QUFJeEIsTUFBTSxPQUFPLGlCQUFtRCxTQUFRLHlCQUF1QztJQWdDM0csWUFDdUIsT0FBbUIsRUFDbkIsT0FBaUM7O1FBRXBELEtBQUssRUFBRSxDQUFBO1FBSFksWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixZQUFPLEdBQVAsT0FBTyxDQUEwQjtRQWpDeEMsWUFBTyxHQUFHLElBQUksVUFBVSxFQUFFLENBQUE7UUFNMUM7Ozs7V0FJRztRQUNPLFdBQU0sR0FBRyxDQUFDLENBQUE7UUFDRCxZQUFPLEdBQWdCLEVBQUUsQ0FBQTtRQUM1Qzs7V0FFRztRQUNnQixrQkFBYSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFBO1FBQ3pDLGdCQUFXLEdBQUcsSUFBSSxhQUFhLENBQUMsYUFBYSxDQUFD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
398
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByaXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWludGVyL3Nwcml0ZXMvc3ByaXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUE2QixNQUFNLGNBQWMsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sRUFJSCxpQkFBaUIsRUFDakIsZUFBZSxHQUNsQixNQUFNLGFBQWEsQ0FBQTtBQUdwQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzFDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBNEM5RCxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUE7QUFJeEIsTUFBTSxPQUFPLGlCQUFtRCxTQUFRLHlCQUF1QztJQWdDM0csWUFDdUIsT0FBbUIsRUFDbkIsT0FBaUM7UUFFcEQsS0FBSyxFQUFFLENBQUE7UUFIWSxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQTBCO1FBakN4QyxZQUFPLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQTtRQU0xQzs7OztXQUlHO1FBQ08sV0FBTSxHQUFHLENBQUMsQ0FBQTtRQUNELFlBQU8sR0FBZ0IsRUFBRSxDQUFBO1FBQzVDOztXQUVHO1FBQ2dCLGtCQUFhLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUE7UUFDekMsZ0JBQVcsR0FBRyxJQUFJLGFBQWEsQ0FBQyxhQUFhLENBQUMs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
@@ -14,7 +14,7 @@ export interface TgdPainterStateOptions {
14
14
  depth: Keys<WebglDepthOptions, typeof webglPresetDepth>;
15
15
  cull: Keys<WebglCullOptions, typeof webglPresetCull>;
16
16
  stencil: Keys<WebglStencilOptions, typeof webglPresetStencil>;
17
- viewport: ArrayNumber4 | Int32Array;
17
+ viewport: ArrayNumber4;
18
18
  name: string;
19
19
  /**
20
20
  * Function to execute before painting.
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/painter/state/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE5D,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EAOxB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAGrB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,KAAK,IAAI,CAAC,EAAE,EAAE,EAAE,IACV;KACK,CAAC,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,KAAK;CAChD,CAAC,MAAM,EAAE,CAAC,GACX,EAAE,CAAA;AAER,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,CAAC,UAAU,GAAG,kBAAkB,CAAC,EAAE,CAAA;IAC7C,KAAK,EAAE,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACrD,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,gBAAgB,CAAC,CAAA;IACvD,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,gBAAgB,CAAC,CAAA;IACvD,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,eAAe,CAAC,CAAA;IACpD,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,OAAO,kBAAkB,CAAC,CAAA;IAC7D,QAAQ,EAAE,YAAY,GAAG,UAAU,CAAA;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B;;OAEG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAA;CAC9B;AAED,qBAAa,eAAgB,SAAQ,eAAe;WAClC,EAAE,CACZ,OAAO,EAAE;QAAE,EAAE,EAAE,sBAAsB,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE,EACjE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC,GAAG;QAChF,MAAM,EAAE,MAAM,IAAI,CAAA;KACrB;WAgBS,KAAK,CAAC,OAAO,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAYzD,QAAQ,CAAC,KAAK;;;;;MAKb;gBAGG,OAAO,EAAE;QAAE,EAAE,EAAE,sBAAsB,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE,EACjE,OAAO,GAAE,OAAO,CAAC,sBAAsB,CAAM;CAcpD"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/painter/state/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE5D,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EAOxB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAGrB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,KAAK,IAAI,CAAC,EAAE,EAAE,EAAE,IACV;KACK,CAAC,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,KAAK;CAChD,CAAC,MAAM,EAAE,CAAC,GACX,EAAE,CAAA;AAER,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,CAAC,UAAU,GAAG,kBAAkB,CAAC,EAAE,CAAA;IAC7C,KAAK,EAAE,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACrD,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,gBAAgB,CAAC,CAAA;IACvD,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,gBAAgB,CAAC,CAAA;IACvD,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,eAAe,CAAC,CAAA;IACpD,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,OAAO,kBAAkB,CAAC,CAAA;IAC7D,QAAQ,EAAE,YAAY,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B;;OAEG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAA;CAC9B;AAED,qBAAa,eAAgB,SAAQ,eAAe;WAClC,EAAE,CACZ,OAAO,EAAE;QAAE,EAAE,EAAE,sBAAsB,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE,EACjE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC,GAAG;QAChF,MAAM,EAAE,MAAM,IAAI,CAAA;KACrB;WAgBS,KAAK,CAAC,OAAO,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAUzD,QAAQ,CAAC,KAAK;;;;;MAKb;gBAGG,OAAO,EAAE;QAAE,EAAE,EAAE,sBAAsB,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE,EACjE,OAAO,GAAE,OAAO,CAAC,sBAAsB,CAAM;CAcpD"}
@@ -26,11 +26,8 @@ export class TgdPainterState extends TgdPainterGroup {
26
26
  mask: depth.mask,
27
27
  range: [depth.rangeMin, depth.rangeMax],
28
28
  });
29
- // console.log("Cull:", webglCullGet(context))
30
- // console.log("Blend:", webglBlendGet(context))
31
29
  }
32
30
  constructor(context, options = {}) {
33
- var _a;
34
31
  super(options.children);
35
32
  this.color = {
36
33
  red: true,
@@ -40,18 +37,16 @@ export class TgdPainterState extends TgdPainterGroup {
40
37
  };
41
38
  const { onEnterActions, onExitActions } = prepareActions(this, context, options);
42
39
  this.onEnter = (time, delta) => {
43
- var _a;
44
- (_a = options.onEnter) === null || _a === void 0 ? void 0 : _a.call(options, time, delta);
40
+ options.onEnter?.(time, delta);
45
41
  for (const f of onEnterActions)
46
42
  f();
47
43
  };
48
44
  this.onExit = (time, delta) => {
49
- var _a;
50
45
  for (const f of onExitActions)
51
46
  f();
52
- (_a = options.onExit) === null || _a === void 0 ? void 0 : _a.call(options, time, delta);
47
+ options.onExit?.(time, delta);
53
48
  };
54
- this.name = (_a = options.name) !== null && _a !== void 0 ? _a : `State/${this.name}`;
49
+ this.name = options.name ?? `State/${this.name}`;
55
50
  }
56
51
  }
57
52
  function figureOutColorMask(color) {
@@ -71,7 +66,7 @@ function prepareActions(self, context, options) {
71
66
  const onEnterActions = [];
72
67
  const onExitActions = [];
73
68
  const colorMask = figureOutColorMask(color);
74
- const [red, green, blue, alpha] = colorMask !== null && colorMask !== void 0 ? colorMask : [true, true, true, true];
69
+ const [red, green, blue, alpha] = colorMask ?? [true, true, true, true];
75
70
  self.color.red = red;
76
71
  self.color.green = green;
77
72
  self.color.blue = blue;
@@ -84,7 +79,7 @@ function prepareActions(self, context, options) {
84
79
  gl.colorMask(self.color.red, self.color.green, self.color.blue, self.color.alpha);
85
80
  });
86
81
  onExitActions.push(() => {
87
- gl.colorMask(...(savedColorMask !== null && savedColorMask !== void 0 ? savedColorMask : [true, true, true, true]));
82
+ gl.colorMask(...(savedColorMask ?? [true, true, true, true]));
88
83
  });
89
84
  }
90
85
  if (viewport) {
@@ -169,4 +164,4 @@ function resolveStencil(stencil) {
169
164
  }
170
165
  return stencil;
171
166
  }
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFpbnRlci9zdGF0ZS9zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sRUFLSCxhQUFhLEVBQ2IsYUFBYSxFQUNiLFlBQVksRUFDWixZQUFZLEVBQ1osYUFBYSxFQUNiLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGVBQWUsR0FDbEIsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBNEIxQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxlQUFlO0lBQ3pDLE1BQU0sQ0FBQyxFQUFFLENBQ1osT0FBaUUsRUFDakUsT0FFQztRQUVELE1BQU0sSUFBSSxHQUFHO1lBQ1QsS0FBSyxFQUFFO2dCQUNILEdBQUcsRUFBRSxJQUFJO2dCQUNULEtBQUssRUFBRSxJQUFJO2dCQUNYLElBQUksRUFBRSxJQUFJO2dCQUNWLEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSixDQUFBO1FBQ0QsTUFBTSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsR0FBRyxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUNoRixLQUFLLE1BQU0sV0FBVyxJQUFJLGNBQWM7WUFBRSxXQUFXLEVBQUUsQ0FBQTtRQUN2RCxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDaEIsS0FBSyxNQUFNLFVBQVUsSUFBSSxhQUFhO1lBQUUsVUFBVSxFQUFFLENBQUE7SUFDeEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBcUM7UUFDckQsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3BDLE9BQU8sQ0FBQyxLQUFL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
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFpbnRlci9zdGF0ZS9zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sRUFLSCxhQUFhLEVBQ2IsYUFBYSxFQUNiLFlBQVksRUFDWixZQUFZLEVBQ1osYUFBYSxFQUNiLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGVBQWUsR0FDbEIsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBNEIxQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxlQUFlO0lBQ3pDLE1BQU0sQ0FBQyxFQUFFLENBQ1osT0FBaUUsRUFDakUsT0FFQztRQUVELE1BQU0sSUFBSSxHQUFHO1lBQ1QsS0FBSyxFQUFFO2dCQUNILEdBQUcsRUFBRSxJQUFJO2dCQUNULEtBQUssRUFBRSxJQUFJO2dCQUNYLElBQUksRUFBRSxJQUFJO2dCQUNWLEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSixDQUFBO1FBQ0QsTUFBTSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsR0FBRyxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUNoRixLQUFLLE1BQU0sV0FBVyxJQUFJLGNBQWM7WUFBRSxXQUFXLEVBQUUsQ0FBQTtRQUN2RCxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDaEIsS0FBSyxNQUFNLFVBQVUsSUFBSSxhQUFhO1lBQUUsVUFBVSxFQUFFLENBQUE7SUFDeEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBcUM7UUFDckQsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3BDLE9BQU8sQ0FBQyxLQUFL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