@tolokoban/tgd 2.0.24 → 2.0.26

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 (190) hide show
  1. package/lib/dist/camera/camera-orthographic.d.ts +1 -0
  2. package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
  3. package/lib/dist/camera/camera-orthographic.js +21 -1
  4. package/lib/dist/camera/camera-perspective.d.ts +1 -0
  5. package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
  6. package/lib/dist/camera/camera-perspective.js +21 -1
  7. package/lib/dist/camera/camera.d.ts +1 -0
  8. package/lib/dist/camera/camera.d.ts.map +1 -1
  9. package/lib/dist/camera/camera.js +4 -1
  10. package/lib/dist/canvas/gizmo/painter/shader.frag +1 -1
  11. package/lib/dist/canvas/gizmo/painter/shader.vert +1 -1
  12. package/lib/dist/code/color.d.ts +4 -4
  13. package/lib/dist/code/color.d.ts.map +1 -1
  14. package/lib/dist/code/color.js +3 -3
  15. package/lib/dist/code/coords.d.ts +4 -4
  16. package/lib/dist/code/coords.d.ts.map +1 -1
  17. package/lib/dist/code/coords.js +4 -4
  18. package/lib/dist/code/random.d.ts +2 -2
  19. package/lib/dist/code/random.d.ts.map +1 -1
  20. package/lib/dist/code/random.js +2 -2
  21. package/lib/dist/context/animation/animation-manager.d.ts +1 -0
  22. package/lib/dist/context/animation/animation-manager.d.ts.map +1 -1
  23. package/lib/dist/context/animation/animation-manager.js +11 -3
  24. package/lib/dist/context/context.d.ts +12 -2
  25. package/lib/dist/context/context.d.ts.map +1 -1
  26. package/lib/dist/context/context.js +80 -37
  27. package/lib/dist/controller/camera/orbit.d.ts +15 -2
  28. package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
  29. package/lib/dist/controller/camera/orbit.js +15 -3
  30. package/lib/dist/data/gltf/gltf.d.ts +60 -0
  31. package/lib/dist/data/gltf/gltf.d.ts.map +1 -0
  32. package/lib/dist/data/gltf/gltf.js +337 -0
  33. package/lib/dist/data/gltf/index.d.ts +2 -0
  34. package/lib/dist/data/gltf/index.d.ts.map +1 -0
  35. package/lib/dist/data/gltf/index.js +2 -0
  36. package/lib/dist/data/gltf/parser.d.ts +13 -0
  37. package/lib/dist/data/gltf/parser.d.ts.map +1 -0
  38. package/lib/dist/data/gltf/parser.js +54 -0
  39. package/lib/dist/data/index.d.ts +2 -0
  40. package/lib/dist/data/index.d.ts.map +1 -0
  41. package/lib/dist/data/index.js +2 -0
  42. package/lib/dist/factory/index.d.ts +2 -0
  43. package/lib/dist/factory/index.d.ts.map +1 -0
  44. package/lib/dist/factory/index.js +2 -0
  45. package/lib/dist/factory/mesh-glb.d.ts +42 -0
  46. package/lib/dist/factory/mesh-glb.d.ts.map +1 -0
  47. package/lib/dist/factory/mesh-glb.js +91 -0
  48. package/lib/dist/index.d.ts +1 -0
  49. package/lib/dist/index.d.ts.map +1 -1
  50. package/lib/dist/index.js +2 -1
  51. package/lib/dist/input/pointer.d.ts +2 -1
  52. package/lib/dist/input/pointer.d.ts.map +1 -1
  53. package/lib/dist/input/pointer.js +8 -1
  54. package/lib/dist/interface/transformable.d.ts +1 -0
  55. package/lib/dist/interface/transformable.d.ts.map +1 -1
  56. package/lib/dist/loader/asset.d.ts +2 -2
  57. package/lib/dist/loader/asset.d.ts.map +1 -1
  58. package/lib/dist/loader/asset.js +1 -1
  59. package/lib/dist/loader/binary.d.ts +3 -2
  60. package/lib/dist/loader/binary.d.ts.map +1 -1
  61. package/lib/dist/loader/binary.js +20 -4
  62. package/lib/dist/material/diffuse.d.ts.map +1 -1
  63. package/lib/dist/material/diffuse.js +7 -5
  64. package/lib/dist/material/flat.d.ts +20 -0
  65. package/lib/dist/material/flat.d.ts.map +1 -0
  66. package/lib/dist/material/flat.js +18 -0
  67. package/lib/dist/material/index.d.ts +1 -0
  68. package/lib/dist/material/index.d.ts.map +1 -1
  69. package/lib/dist/material/index.js +2 -1
  70. package/lib/dist/math/index.d.ts +1 -0
  71. package/lib/dist/math/index.d.ts.map +1 -1
  72. package/lib/dist/math/index.js +2 -1
  73. package/lib/dist/math/mat2.d.ts +29 -0
  74. package/lib/dist/math/mat2.d.ts.map +1 -0
  75. package/lib/dist/math/mat2.js +94 -0
  76. package/lib/dist/math/quat.d.ts +2 -1
  77. package/lib/dist/math/quat.d.ts.map +1 -1
  78. package/lib/dist/math/quat.js +6 -28
  79. package/lib/dist/math/transfo.d.ts +8 -4
  80. package/lib/dist/math/transfo.d.ts.map +1 -1
  81. package/lib/dist/math/transfo.js +41 -27
  82. package/lib/dist/math/vec3.d.ts +2 -2
  83. package/lib/dist/math/vec3.d.ts.map +1 -1
  84. package/lib/dist/math/vec3.js +6 -5
  85. package/lib/dist/painter/axes/axes.frag +1 -1
  86. package/lib/dist/painter/axes/axes.vert +1 -1
  87. package/lib/dist/painter/background/background.d.ts +28 -2
  88. package/lib/dist/painter/background/background.d.ts.map +1 -1
  89. package/lib/dist/painter/background/background.frag +1 -1
  90. package/lib/dist/painter/background/background.js +47 -13
  91. package/lib/dist/painter/background-with-depth/background-with-depth.d.ts +24 -0
  92. package/lib/dist/painter/background-with-depth/background-with-depth.d.ts.map +1 -0
  93. package/lib/dist/painter/background-with-depth/background-with-depth.js +120 -0
  94. package/lib/dist/painter/background-with-depth/background.frag +17 -0
  95. package/lib/dist/painter/background-with-depth/background.vert +13 -0
  96. package/lib/dist/painter/background-with-depth/index.d.ts +2 -0
  97. package/lib/dist/painter/background-with-depth/index.d.ts.map +1 -0
  98. package/lib/dist/painter/background-with-depth/index.js +2 -0
  99. package/lib/dist/painter/debug/stencil/stencil.frag +1 -1
  100. package/lib/dist/painter/framebuffer.d.ts.map +1 -1
  101. package/lib/dist/painter/framebuffer.js +2 -2
  102. package/lib/dist/painter/group.d.ts.map +1 -1
  103. package/lib/dist/painter/group.js +1 -1
  104. package/lib/dist/painter/index.d.ts +1 -0
  105. package/lib/dist/painter/index.d.ts.map +1 -1
  106. package/lib/dist/painter/index.js +2 -1
  107. package/lib/dist/painter/mesh/gltf/gltf.d.ts +8 -4
  108. package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
  109. package/lib/dist/painter/mesh/gltf/gltf.js +23 -13
  110. package/lib/dist/painter/mesh/mesh/mesh.d.ts +12 -3
  111. package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
  112. package/lib/dist/painter/mesh/mesh/mesh.js +4 -2
  113. package/lib/dist/painter/mesh/normals/shader.vert +1 -1
  114. package/lib/dist/painter/node/node.d.ts +20 -7
  115. package/lib/dist/painter/node/node.d.ts.map +1 -1
  116. package/lib/dist/painter/node/node.js +74 -17
  117. package/lib/dist/painter/segments/segments.d.ts +9 -7
  118. package/lib/dist/painter/segments/segments.d.ts.map +1 -1
  119. package/lib/dist/painter/segments/segments.frag +12 -2
  120. package/lib/dist/painter/segments/segments.js +64 -36
  121. package/lib/dist/painter/segments/segments.vert +12 -5
  122. package/lib/dist/painter/skybox/skybox.d.ts.map +1 -1
  123. package/lib/dist/painter/skybox/skybox.js +21 -16
  124. package/lib/dist/painter/state/state.d.ts +10 -2
  125. package/lib/dist/painter/state/state.d.ts.map +1 -1
  126. package/lib/dist/painter/state/state.js +49 -19
  127. package/lib/dist/parser/gltf/gltf.d.ts +15 -2
  128. package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
  129. package/lib/dist/parser/gltf/gltf.js +55 -2
  130. package/lib/dist/parser/gltf/parser.d.ts +4 -0
  131. package/lib/dist/parser/gltf/parser.d.ts.map +1 -1
  132. package/lib/dist/parser/gltf/parser.js +5 -2
  133. package/lib/dist/program/program.d.ts +4 -3
  134. package/lib/dist/program/program.d.ts.map +1 -1
  135. package/lib/dist/program/program.js +22 -8
  136. package/lib/dist/shader/code.d.ts +2 -2
  137. package/lib/dist/shader/code.d.ts.map +1 -1
  138. package/lib/dist/shader/code.js +16 -3
  139. package/lib/dist/shader/fragment.d.ts.map +1 -1
  140. package/lib/dist/shader/fragment.js +2 -2
  141. package/lib/dist/shader/vertex.d.ts.map +1 -1
  142. package/lib/dist/shader/vertex.js +2 -3
  143. package/lib/dist/texture/texture-depth.d.ts +36 -0
  144. package/lib/dist/texture/texture-depth.d.ts.map +1 -0
  145. package/lib/dist/texture/texture-depth.js +63 -0
  146. package/lib/dist/texture/texture2d.d.ts +15 -2
  147. package/lib/dist/texture/texture2d.d.ts.map +1 -1
  148. package/lib/dist/texture/texture2d.js +87 -27
  149. package/lib/dist/types/animation.d.ts +11 -2
  150. package/lib/dist/types/animation.d.ts.map +1 -1
  151. package/lib/dist/types/index.d.ts +1 -0
  152. package/lib/dist/types/index.d.ts.map +1 -1
  153. package/lib/dist/types/index.js +2 -1
  154. package/lib/dist/types/input-pointer.d.ts +1 -0
  155. package/lib/dist/types/input-pointer.d.ts.map +1 -1
  156. package/lib/dist/types/program.d.ts +5 -0
  157. package/lib/dist/types/program.d.ts.map +1 -1
  158. package/lib/dist/utils/action/camera.d.ts.map +1 -1
  159. package/lib/dist/utils/action/camera.js +2 -2
  160. package/lib/dist/utils/action/transfo.d.ts +1 -1
  161. package/lib/dist/utils/action/transfo.d.ts.map +1 -1
  162. package/lib/dist/utils/action/transfo.js +17 -23
  163. package/lib/dist/utils/animation/chain-transfo-interpolations.d.ts +18 -0
  164. package/lib/dist/utils/animation/chain-transfo-interpolations.d.ts.map +1 -0
  165. package/lib/dist/utils/animation/chain-transfo-interpolations.js +15 -0
  166. package/lib/dist/utils/animation/chain.d.ts +11 -0
  167. package/lib/dist/utils/animation/chain.d.ts.map +1 -0
  168. package/lib/dist/utils/animation/chain.js +61 -0
  169. package/lib/dist/utils/animation/index.d.ts +3 -0
  170. package/lib/dist/utils/animation/index.d.ts.map +1 -0
  171. package/lib/dist/utils/animation/index.js +3 -0
  172. package/lib/dist/utils/index.d.ts +1 -0
  173. package/lib/dist/utils/index.d.ts.map +1 -1
  174. package/lib/dist/utils/index.js +2 -1
  175. package/lib/dist/utils/math.d.ts +13 -0
  176. package/lib/dist/utils/math.d.ts.map +1 -1
  177. package/lib/dist/utils/math.js +34 -1
  178. package/lib/dist/utils/math.test.d.ts +2 -0
  179. package/lib/dist/utils/math.test.d.ts.map +1 -0
  180. package/lib/dist/utils/math.test.js +22 -0
  181. package/lib/dist/utils/state/blend.d.ts +1 -1
  182. package/lib/dist/utils/state/blend.d.ts.map +1 -1
  183. package/lib/dist/utils/state/blend.js +21 -3
  184. package/lib/dist/utils/state/depth.d.ts +1 -1
  185. package/lib/dist/utils/state/depth.d.ts.map +1 -1
  186. package/lib/dist/utils/state/depth.js +23 -2
  187. package/lib/dist/vao/vao.d.ts +6 -0
  188. package/lib/dist/vao/vao.d.ts.map +1 -1
  189. package/lib/dist/vao/vao.js +30 -1
  190. package/package.json +1 -1
@@ -5,19 +5,29 @@ import { tgdCodeStringify } from "./../shader/code.js";
5
5
  * the uniforms.
6
6
  */
7
7
  export class TgdProgram {
8
- constructor(gl, code) {
8
+ constructor(gl, options) {
9
9
  var _a;
10
10
  this.gl = gl;
11
- this.code = code;
11
+ this.options = options;
12
12
  const prg = gl.createProgram();
13
13
  if (!prg)
14
14
  throw new Error("Unable to create WebGLProgram!");
15
- const vert = tgdCodeStringify(code.vert);
15
+ const vert = tgdCodeStringify(options.vert);
16
16
  const vertShader = this.createShader("VERTEX_SHADER", vert);
17
17
  gl.attachShader(prg, vertShader);
18
- const frag = tgdCodeStringify(code.frag);
18
+ const frag = tgdCodeStringify(options.frag);
19
19
  const fragShader = this.createShader("FRAGMENT_SHADER", frag);
20
20
  gl.attachShader(prg, fragShader);
21
+ const { transformFeedback } = options;
22
+ if (transformFeedback) {
23
+ const bufferMode = Array.isArray(transformFeedback)
24
+ ? gl.INTERLEAVED_ATTRIBS
25
+ : gl[transformFeedback.bufferMode];
26
+ const varyings = Array.isArray(transformFeedback)
27
+ ? transformFeedback
28
+ : transformFeedback.varyings;
29
+ gl.transformFeedbackVaryings(prg, varyings, bufferMode);
30
+ }
21
31
  gl.linkProgram(prg);
22
32
  if (!gl.getProgramParameter(prg, gl.LINK_STATUS)) {
23
33
  const info = (_a = gl.getProgramInfoLog(prg)) !== null && _a !== void 0 ? _a : "";
@@ -42,10 +52,10 @@ export class TgdProgram {
42
52
  `function createProgram(gl: WebGL2RenderingContext) {`,
43
53
  ` const prg = gl.createProgram()`,
44
54
  ` const vertexShader = gl.createShader(gl.VERTEX_SHADER)`,
45
- ` gl.shaderSource(vertexShader, \`${tgdCodeStringify(this.code.vert)}\`)`,
55
+ ` gl.shaderSource(vertexShader, \`${tgdCodeStringify(this.options.vert)}\`)`,
46
56
  ` gl.compileShader(vertexShader)`,
47
57
  ` const fragmentShader = gl.createShader(gl.FRAGMENT_SHADER)`,
48
- ` gl.shaderSource(fragmentShader, \`${tgdCodeStringify(this.code.frag)}\`)`,
58
+ ` gl.shaderSource(fragmentShader, \`${tgdCodeStringify(this.options.frag)}\`)`,
49
59
  ` gl.compileShader(fragmentShader)`,
50
60
  ` gl.attachShader(prg, vertexShader)`,
51
61
  ` gl.attachShader(prg, fragmentShader)`,
@@ -137,6 +147,10 @@ export class TgdProgram {
137
147
  const { gl } = this;
138
148
  gl.uniform4ui(this.getUniformLocation(name), x, y, z, w);
139
149
  }
150
+ uniformMatrix2fv(name, mat2) {
151
+ const { gl } = this;
152
+ gl.uniformMatrix2fv(this.getUniformLocation(name), false, mat2);
153
+ }
140
154
  uniformMatrix3fv(name, mat3) {
141
155
  const { gl } = this;
142
156
  gl.uniformMatrix3fv(this.getUniformLocation(name), false, mat3);
@@ -161,7 +175,7 @@ export class TgdProgram {
161
175
  }
162
176
  debug(caption = "TgdProgram") {
163
177
  console.log(caption);
164
- const { code } = this;
178
+ const { options: code } = this;
165
179
  logCode("Vertex Shader", tgdCodeStringify(code.vert));
166
180
  logCode("Fragment Shader", tgdCodeStringify(code.frag));
167
181
  }
@@ -239,4 +253,4 @@ function logCode(title, code, options) {
239
253
  console.log(codeLines.join("\n"), ...styles);
240
254
  return hasError ? output.join("\n") : "";
241
255
  }
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9ncmFtL3Byb2dyYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFHbkQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBT25CLFlBQ29CLEVBQTBCLEVBQ3pCLElBQXVCOztRQUR4QixPQUFFLEdBQUYsRUFBRSxDQUF3QjtRQUN6QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUV4QyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDOUIsSUFBSSxDQUFDLEdBQUc7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUE7UUFFM0QsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQzNELEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQ2hDLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFBO1FBQzdELEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQ2hDLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDbkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDL0MsTUFBTSxJQUFJLEdBQUcsTUFBQSxFQUFFLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLG1DQUFJLEVBQUUsQ0FBQTtZQUM1QyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ2xCLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUN0QyxNQUFNLEtBQUssR0FBRztnQkFDVixPQUFPLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxVQUFVLENBQUM7Z0JBQzFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDO2FBQy9DLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUMxQixDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUE7UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUN2QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUE7UUFDcEQsRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDaEMsRUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUMzQixFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUNoQyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQy9CLENBQUM7SUFFRCxNQUFNLENBQUMsRUFBRSxNQUFNLEdBQUcsRUFBRSxLQUFrQyxFQUFFO1FBQ3BELE1BQU0sS0FBSyxHQUFhO1lBQ3BCLHNEQUFzRDtZQUN0RCxrQ0FBa0M7WUFDbEMsMERBQTBEO1lBQzFELHFDQUFxQyxnQkFBZ0IsQ0FDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ2pCLEtBQUs7WUFDTixrQ0FBa0M7WUFDbEMsOERBQThEO1lBQzlELHVDQUF1QyxnQkFBZ0IsQ0FDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ2pCLEtBQUs7WUFDTixvQ0FBb0M7WUFDcEMsc0NBQXNDO1lBQ3RDLHdDQUF3QztZQUN4Qyx1QkFBdUI7WUFDdkIsY0FBYztZQUNkLEdBQUc7U0FDTixDQUFBO1FBQ0QsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDM0QsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFZO1FBQ3JCLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQzVCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDL0MsT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ25CLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUFZO1FBQzFCLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQzVCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDL0MsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLGNBQWMsSUFBSSxjQUFjLENBQUMsQ0FBQTtRQUNyRCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUE7SUFDZCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBWTtRQUMzQixNQUFNLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQzVDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsSUFBSSxDQUNSLFlBQVksSUFBSSxtRUFBbUUsQ0FDdEYsQ0FBQTtZQUNELE9BQU8sQ0FBQyxDQUFBO1FBQ1osQ0FBQztRQUNELE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNaLE9BQU8sQ0FBQyxJQUFJLENBQ1Isc0NBQXNDLElBQUksNEJBQTRCLEtBQUssQ0FBQyxJQUFJLENBQzVFLElBQUksQ0FDUCxHQUFHLENBQ1AsQ0FBQTtRQUNMLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQTtJQUNuQixDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVksRUFBRSxLQUFhO1FBQ2pDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDdEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZLEVBQUUsQ0FBUyxFQUFFLENBQVM7UUFDeEMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNuQixFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTO1FBQ25ELE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN4RCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVksRUFBRSxJQUFhO1FBQ2xDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDdEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUztRQUM5RCxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQzNELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBWSxFQUFFLElBQWE7UUFDbEMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNuQixFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUN0RCxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVksRUFBRSxLQUFhO1FBQ2pDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDdEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZLEVBQUUsQ0FBUyxFQUFFLENBQVM7UUFDeEMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNuQixFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTO1FBQ25ELE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN4RCxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVksRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTO1FBQzlELE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDM0QsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUNsQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBWSxFQUFFLENBQVMsRUFBRSxDQUFTO1FBQ3pDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBWSxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUztRQUNwRCxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDekQsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUztRQUMvRCxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQzVELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsSUFBYTtRQUN4QyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsSUFBYTtRQUN4QyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFFRDs7O09BR0c7SUFDSCxHQUFHO1FBQ0MsTUFBTSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDNUIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMxQixDQUFDO0lBRUQsTUFBTTtRQUNGLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsS0FBSyxNQUFNLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTztZQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDMUQsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLEdBQUcsWUFBWTtRQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3BCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDckIsT0FBTyxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNyRCxPQUFPLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDM0QsQ0FBQztJQUVPLFlBQVksQ0FBQyxJQUFnQixFQUFFLElBQVk7UUFDL0MsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNuQixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ3hDLElBQUksQ0FBQyxNQUFNO1lBQ1AsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsSUFBSSxJQUFJLENBQUMsQ0FBQTtRQUV4RSxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUM3QixFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN4QyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQzdDLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUE7UUFDcEQsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFBO0lBQ2pCLENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsTUFBTSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDNUIsTUFBTSxLQUFLLEdBQVksRUFBRSxDQUFDLG1CQUFtQixDQUN6QyxPQUFPLEVBQ1AsRUFBRSxDQUFDLGVBQWUsQ0FDckIsQ0FBQTtRQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtZQUN6QixNQUFNLElBQUksS0FBSyxDQUNYLHlEQUF5RCxDQUM1RCxDQUFBO1FBRUwsTUFBTSxRQUFRLEdBQTZDLEVBQUUsQ0FBQTtRQUM3RCxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDekMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtZQUNuRCxJQUFJLENBQUMsT0FBTztnQkFBRSxTQUFRO1lBRXRCLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQzdELElBQUksUUFBUSxLQUFLLElBQUk7Z0JBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQ1gsdUNBQXVDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FDMUQsQ0FBQTtZQUVMLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFBO1FBQ3JDLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQTtJQUNuQixDQUFDO0NBQ0o7QUFJRCxNQUFNLGFBQWEsR0FBRyxrQ0FBa0MsQ0FBQTtBQUV4RCxTQUFTLGFBQWEsQ0FBQyxPQUFlO0lBSWxDLE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQTtJQUMxQixNQUFNLFFBQVEsR0FBYSxFQUFFLENBQUE7SUFDN0IsS0FBSyxNQUFNLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDckMsYUFBYSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUM1QixNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3RDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDekMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ3JELENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQTtBQUM5QixDQUFDO0FBRUQsU0FBUyxLQUFLLENBQUMsVUFBa0IsRUFBRSxJQUFJLEdBQUcsS0FBSztJQUMzQyxPQUFPLHlCQUF5QixVQUFVLG9EQUN0QyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FDdEIsbUJBQW1CLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtBQUMvQyxDQUFDO0FBRUQsU0FBUyxPQUFPLENBQ1osS0FBYSxFQUNiLElBQVksRUFDWixPQUFpRDtJQUVqRCxNQUFNLEVBQUUsS0FBSyxHQUFHLEVBQUUsRUFBRSxRQUFRLEdBQUcsRUFBRSxFQUFFLEdBQUcsT0FBTyxhQUFQLE9BQU8sY0FBUCxPQUFPLEdBQUksRUFBRSxDQUFBO0lBQ25ELE1BQU0sTUFBTSxHQUFhLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEMsTUFBTSxTQUFTLEdBQWEsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDMUMsTUFBTSxNQUFNLEdBQWEsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFBO0lBQzlELElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQTtJQUNwQixLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ3JELE1BQU0sVUFBVSxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUE7UUFDNUIsTUFBTSxNQUFNLEdBQUcsR0FBRyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQy9DLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFBO1FBQy9ELFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxNQUFNLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUN4QyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDLENBQUE7UUFDakMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUM5RCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUM3QixRQUFRLEdBQUcsSUFBSSxDQUFBO1lBQ2YsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQzFELE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtZQUMzRCxNQUFNLENBQUMsSUFBSSxDQUFDLDZDQUE2QyxDQUFDLENBQUE7WUFDMUQsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ25CLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUE7SUFDNUMsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtBQUM1QyxDQUFDIn0=
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9ncmFtL3Byb2dyYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFHbkQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBT25CLFlBQ29CLEVBQTBCLEVBQ3pCLE9BQTBCOztRQUQzQixPQUFFLEdBQUYsRUFBRSxDQUF3QjtRQUN6QixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUUzQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDOUIsSUFBSSxDQUFDLEdBQUc7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUE7UUFFM0QsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzNDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQzNELEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQ2hDLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMzQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFBO1FBQzdELEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQ2hDLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxHQUFHLE9BQU8sQ0FBQTtRQUNyQyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDcEIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztnQkFDL0MsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxtQkFBbUI7Z0JB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
@@ -5,9 +5,9 @@ export interface TgdCodeVariables<Type extends WebglAttributeType | WebglUniform
5
5
  export interface TgdCodeFunctions {
6
6
  [name: string]: TgdCodeBloc;
7
7
  }
8
- export type TgdCodeBloc = string | null | TgdCodeBloc[];
8
+ export type TgdCodeBloc = string | null | TgdCodeFunctions | TgdCodeBloc[];
9
9
  export declare function isCodeBloc(v: unknown): v is TgdCodeBloc;
10
- export declare function tgdCodeStringify(code: TgdCodeBloc, indent?: string): string;
10
+ export declare function tgdCodeStringify(code: TgdCodeBloc, indent?: string, setOfFunctionNames?: Set<string>): string;
11
11
  export declare function expandVariables<Type extends WebglAttributeType | WebglUniformType>(definition: TgdCodeVariables<Type>, prefix: string, comment?: string): TgdCodeBloc[];
12
12
  export declare function expandFunctions(definition: TgdCodeFunctions | TgdCodeBloc, comment?: string): TgdCodeBloc[];
13
13
  //# sourceMappingURL=code.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/shader/code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;AAEzD,MAAM,WAAW,gBAAgB,CAC7B,IAAI,SAAS,kBAAkB,GAAG,gBAAgB;IAElD,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC7B,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;CAC9B;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,WAAW,EAAE,CAAA;AAEvD,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,CASvD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,SAAK,GAAG,MAAM,CAWvE;AAED,wBAAgB,eAAe,CAC3B,IAAI,SAAS,kBAAkB,GAAG,gBAAgB,EAElD,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAClC,MAAM,EAAE,MAAM,EACd,OAAO,SAA6C,GACrD,WAAW,EAAE,CAQf;AAED,wBAAgB,eAAe,CAC3B,UAAU,EAAE,gBAAgB,GAAG,WAAW,EAC1C,OAAO,CAAC,EAAE,MAAM,GACjB,WAAW,EAAE,CAWf"}
1
+ {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/shader/code.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;AAEzD,MAAM,WAAW,gBAAgB,CAC7B,IAAI,SAAS,kBAAkB,GAAG,gBAAgB;IAElD,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC7B,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;CAC9B;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,gBAAgB,GAAG,WAAW,EAAE,CAAA;AAE1E,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,CASvD;AAED,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,WAAW,EACjB,MAAM,SAAK,EACX,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACjC,MAAM,CAwBR;AAED,wBAAgB,eAAe,CAC3B,IAAI,SAAS,kBAAkB,GAAG,gBAAgB,EAElD,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAClC,MAAM,EAAE,MAAM,EACd,OAAO,SAA6C,GACrD,WAAW,EAAE,CAQf;AAED,wBAAgB,eAAe,CAC3B,UAAU,EAAE,gBAAgB,GAAG,WAAW,EAC1C,OAAO,CAAC,EAAE,MAAM,GACjB,WAAW,EAAE,CAWf"}
@@ -1,3 +1,4 @@
1
+ import { isString } from "./../types/guards.js";
1
2
  export function isCodeBloc(v) {
2
3
  if (typeof v === "string")
3
4
  return true;
@@ -9,16 +10,28 @@ export function isCodeBloc(v) {
9
10
  }
10
11
  return true;
11
12
  }
12
- export function tgdCodeStringify(code, indent = "") {
13
+ export function tgdCodeStringify(code, indent = "", setOfFunctionNames) {
13
14
  if (typeof code === "string")
14
15
  return `${indent}${code}`;
15
16
  if (!code)
16
17
  return "";
18
+ const set = setOfFunctionNames !== null && setOfFunctionNames !== void 0 ? setOfFunctionNames : new Set();
19
+ if (!Array.isArray(code)) {
20
+ return Object.keys(code)
21
+ .map(key => {
22
+ if (set.has(key))
23
+ return null;
24
+ set.add(key);
25
+ return `// ${key}\n${code[key]}\n`;
26
+ })
27
+ .filter(item => isString(item))
28
+ .join("\n");
29
+ }
17
30
  const subIndent = `${indent} `;
18
31
  return code
19
32
  .filter(item => item !== null)
20
33
  .filter(item => !Array.isArray(item) || item.length > 0)
21
- .map(line => tgdCodeStringify(line, subIndent))
34
+ .map(line => tgdCodeStringify(line, subIndent, set))
22
35
  .join("\n");
23
36
  }
24
37
  export function expandVariables(definition, prefix, comment = "----------------------------------------") {
@@ -42,4 +55,4 @@ export function expandFunctions(definition, comment) {
42
55
  }
43
56
  return result;
44
57
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaGFkZXIvY29kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQSxNQUFNLFVBQVUsVUFBVSxDQUFDLENBQVU7SUFDakMsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFFdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUE7SUFFbkMsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFBO0lBQ3ZDLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsSUFBaUIsRUFBRSxNQUFNLEdBQUcsRUFBRTtJQUMzRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVE7UUFBRSxPQUFPLEdBQUcsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFBO0lBRXZELElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFFcEIsTUFBTSxTQUFTLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQTtJQUNqQyxPQUFPLElBQUk7U0FDTixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO1NBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUN2RCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUczQixVQUFrQyxFQUNsQyxNQUFjLEVBQ2QsT0FBTyxHQUFHLDBDQUEwQztJQUVwRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3JDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFFakMsT0FBTztRQUNILE1BQU0sT0FBTyxFQUFFO1FBQ2YsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDO0tBQ2pFLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FDM0IsVUFBMEMsRUFDMUMsT0FBZ0I7SUFFaEIsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDO1FBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBRS9DLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDckMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7UUFBRSxPQUFPLEVBQUUsQ0FBQTtJQUVqQyxNQUFNLE1BQU0sR0FBa0IsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBQzlELEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFBO0FBQ2pCLENBQUMifQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaGFkZXIvY29kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFlNUMsTUFBTSxVQUFVLFVBQVUsQ0FBQyxDQUFVO0lBQ2pDLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUTtRQUFFLE9BQU8sSUFBSSxDQUFBO0lBRXRDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFBO0lBRW5DLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQTtJQUN2QyxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUM1QixJQUFpQixFQUNqQixNQUFNLEdBQUcsRUFBRSxFQUNYLGtCQUFnQztJQUVoQyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVE7UUFBRSxPQUFPLEdBQUcsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFBO0lBRXZELElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFFcEIsTUFBTSxHQUFHLEdBQUcsa0JBQWtCLGFBQWxCLGtCQUFrQixjQUFsQixrQkFBa0IsR0FBSSxJQUFJLEdBQUcsRUFBVSxDQUFBO0lBQ25ELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDdkIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNuQixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDUCxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFBO1lBRTdCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDWixPQUFPLE1BQU0sR0FBRyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFBO1FBQ3RDLENBQUMsQ0FBQzthQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDbkIsQ0FBQztJQUVELE1BQU0sU0FBUyxHQUFHLEdBQUcsTUFBTSxNQUFNLENBQUE7SUFDakMsT0FBTyxJQUFJO1NBQ04sTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQztTQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDdkQsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBRzNCLFVBQWtDLEVBQ2xDLE1BQWMsRUFDZCxPQUFPLEdBQUcsMENBQTBDO0lBRXBELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDckMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7UUFBRSxPQUFPLEVBQUUsQ0FBQTtJQUVqQyxPQUFPO1FBQ0gsTUFBTSxPQUFPLEVBQUU7UUFDZixHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxHQUFHLENBQUM7S0FDakUsQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUMzQixVQUEwQyxFQUMxQyxPQUFnQjtJQUVoQixJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUE7SUFFL0MsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNyQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUFFLE9BQU8sRUFBRSxDQUFBO0lBRWpDLE1BQU0sTUFBTSxHQUFrQixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDOUQsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUE7QUFDakIsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"fragment.d.ts","sourceRoot":"","sources":["../../src/shader/fragment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;AACzD,OAAO,EACH,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAInB,MAAM,QAAQ,CAAA;AAEf;;;GAGG;AACH,qBAAa,iBAAiB;IACnB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAY;IACnD,QAAQ,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IAC5C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IAC7C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IACpD;;;;;;OAMG;IACI,SAAS,EAAE,gBAAgB,GAAG,WAAW,CAAA;IACzC,QAAQ,EAAE,WAAW,CAAA;gBAEhB,EACR,SAAqB,EACrB,QAAa,EACb,OAEC,EACD,OAAY,EACZ,SAAc,EACd,QAAgD,GACnD,GAAE,OAAO,CAAC;QACP,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;QACvC,QAAQ,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;QAC5C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;QAC7C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;QAC7C,SAAS,EAAE,gBAAgB,GAAG,WAAW,CAAA;QACzC,QAAQ,EAAE,WAAW,CAAA;KACxB,CAAM;IASP,IAAI,IAAI,WAaP;CACJ"}
1
+ {"version":3,"file":"fragment.d.ts","sourceRoot":"","sources":["../../src/shader/fragment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;AACzD,OAAO,EACH,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAInB,MAAM,QAAQ,CAAA;AAEf;;;GAGG;AACH,qBAAa,iBAAiB;IACnB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAY;IACnD,QAAQ,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IAC5C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IAC7C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IACpD;;;;;;OAMG;IACI,SAAS,EAAE,gBAAgB,GAAG,WAAW,CAAA;IACzC,QAAQ,EAAE,WAAW,CAAA;gBAEhB,EACR,SAAmB,EACnB,QAAa,EACb,OAEC,EACD,OAAY,EACZ,SAAc,EACd,QAAgD,GACnD,GAAE,OAAO,CAAC;QACP,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;QACvC,QAAQ,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;QAC5C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;QAC7C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;QAC7C,SAAS,EAAE,gBAAgB,GAAG,WAAW,CAAA;QACzC,QAAQ,EAAE,WAAW,CAAA;KACxB,CAAM;IASP,IAAI,IAAI,WAaP;CACJ"}
@@ -4,7 +4,7 @@ import { expandFunctions, tgdCodeStringify, expandVariables, } from "./code.js";
4
4
  * @see https://registry.khronos.org/OpenGL/specs/es/3.0/GLSL_ES_Specification_3.00.pdf
5
5
  */
6
6
  export class TgdShaderFragment {
7
- constructor({ precision = "mediump", uniforms = {}, outputs = {
7
+ constructor({ precision = "highp", uniforms = {}, outputs = {
8
8
  FragColor: "vec4",
9
9
  }, varying = {}, functions = {}, mainCode = ["FragColor = vec4(1, 0.667, 0, 1);"], } = {}) {
10
10
  this.precision = "mediump";
@@ -30,4 +30,4 @@ export class TgdShaderFragment {
30
30
  ]);
31
31
  }
32
32
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2hhZGVyL2ZyYWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFJSCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLGVBQWUsR0FDbEIsTUFBTSxRQUFRLENBQUE7QUFFZjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBZTFCLFlBQVksRUFDUixTQUFTLEdBQUcsU0FBUyxFQUNyQixRQUFRLEdBQUcsRUFBRSxFQUNiLE9BQU8sR0FBRztRQUNOLFNBQVMsRUFBRSxNQUFNO0tBQ3BCLEVBQ0QsT0FBTyxHQUFHLEVBQUUsRUFDWixTQUFTLEdBQUcsRUFBRSxFQUNkLFFBQVEsR0FBRyxDQUFDLG1DQUFtQyxDQUFDLE1BUS9DLEVBQUU7UUE5QkEsY0FBUyxHQUFpQyxTQUFTLENBQUE7UUErQnRELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO0lBQzVCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLGdCQUFnQixDQUFDO1lBQ3BCLGlCQUFpQjtZQUNqQixhQUFhLElBQUksQ0FBQyxTQUFTLFNBQVM7WUFDcEMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7WUFDNUMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7WUFDdEMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUM7WUFDdkMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNsQyxFQUFFO1lBQ0YsZUFBZTtZQUNmLElBQUksQ0FBQyxRQUFRO1lBQ2IsR0FBRztTQUNOLENBQUMsQ0FBQTtJQUNOLENBQUM7Q0FDSiJ9
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2hhZGVyL2ZyYWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFJSCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLGVBQWUsR0FDbEIsTUFBTSxRQUFRLENBQUE7QUFFZjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBZTFCLFlBQVksRUFDUixTQUFTLEdBQUcsT0FBTyxFQUNuQixRQUFRLEdBQUcsRUFBRSxFQUNiLE9BQU8sR0FBRztRQUNOLFNBQVMsRUFBRSxNQUFNO0tBQ3BCLEVBQ0QsT0FBTyxHQUFHLEVBQUUsRUFDWixTQUFTLEdBQUcsRUFBRSxFQUNkLFFBQVEsR0FBRyxDQUFDLG1DQUFtQyxDQUFDLE1BUS9DLEVBQUU7UUE5QkEsY0FBUyxHQUFpQyxTQUFTLENBQUE7UUErQnRELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO0lBQzVCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLGdCQUFnQixDQUFDO1lBQ3BCLGlCQUFpQjtZQUNqQixhQUFhLElBQUksQ0FBQyxTQUFTLFNBQVM7WUFDcEMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7WUFDNUMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7WUFDdEMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUM7WUFDdkMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNsQyxFQUFFO1lBQ0YsZUFBZTtZQUNmLElBQUksQ0FBQyxRQUFRO1lBQ2IsR0FBRztTQUNOLENBQUMsQ0FBQTtJQUNOLENBQUM7Q0FDSiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"vertex.d.ts","sourceRoot":"","sources":["../../src/shader/vertex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;AACzD,OAAO,EACH,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAInB,MAAM,QAAQ,CAAA;AAEf;;;;;;;;GAQG;AACH,qBAAa,eAAe;IACjB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAY;IACnD,QAAQ,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IAC5C,UAAU,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IAChD,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IAC7C,SAAS,EAAE,gBAAgB,CAAA;IAC3B,QAAQ,EAAE,WAAW,CAAA;gBAEhB,EACR,SAAqB,EACrB,QAAa,EACb,UAAe,EACf,OAAY,EACZ,SAAc,EACd,QAAa,GAChB,GAAE,OAAO,CAAC;QACP,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;QACvC,QAAQ,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;QAC5C,UAAU,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;QAChD,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;QAC7C,SAAS,EAAE,gBAAgB,CAAA;QAC3B,QAAQ,EAAE,WAAW,CAAA;KACxB,CAAM;IASP,IAAI,IAAI,WAaP;CACJ"}
1
+ {"version":3,"file":"vertex.d.ts","sourceRoot":"","sources":["../../src/shader/vertex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;AACzD,OAAO,EACH,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAInB,MAAM,QAAQ,CAAA;AAEf;;;;;;;;GAQG;AACH,qBAAa,eAAe;IACjB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;IACvC,QAAQ,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IAC5C,UAAU,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IAChD,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IAC7C,SAAS,EAAE,gBAAgB,CAAA;IAC3B,QAAQ,EAAE,WAAW,CAAA;gBAEhB,EACR,SAAmB,EACnB,QAAa,EACb,UAAe,EACf,OAAY,EACZ,SAAc,EACd,QAAa,GAChB,GAAE,OAAO,CAAC;QACP,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;QACvC,QAAQ,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;QAC5C,UAAU,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;QAChD,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;QAC7C,SAAS,EAAE,gBAAgB,CAAA;QAC3B,QAAQ,EAAE,WAAW,CAAA;KACxB,CAAM;IASP,IAAI,IAAI,WAaP;CACJ"}
@@ -9,8 +9,7 @@ import { expandFunctions, tgdCodeStringify as tgdCodeToString, expandVariables,
9
9
  * @see https://registry.khronos.org/OpenGL/specs/es/3.0/GLSL_ES_Specification_3.00.pdf
10
10
  */
11
11
  export class TgdShaderVertex {
12
- constructor({ precision = "mediump", uniforms = {}, attributes = {}, varying = {}, functions = {}, mainCode = [], } = {}) {
13
- this.precision = "mediump";
12
+ constructor({ precision = "highp", uniforms = {}, attributes = {}, varying = {}, functions = {}, mainCode = [], } = {}) {
14
13
  this.precision = precision;
15
14
  this.uniforms = uniforms;
16
15
  this.attributes = attributes;
@@ -33,4 +32,4 @@ export class TgdShaderVertex {
33
32
  ]);
34
33
  }
35
34
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYWRlci92ZXJ0ZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUlILGVBQWUsRUFDZixnQkFBZ0IsSUFBSSxlQUFlLEVBQ25DLGVBQWUsR0FDbEIsTUFBTSxRQUFRLENBQUE7QUFFZjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBUXhCLFlBQVksRUFDUixTQUFTLEdBQUcsU0FBUyxFQUNyQixRQUFRLEdBQUcsRUFBRSxFQUNiLFVBQVUsR0FBRyxFQUFFLEVBQ2YsT0FBTyxHQUFHLEVBQUUsRUFDWixTQUFTLEdBQUcsRUFBRSxFQUNkLFFBQVEsR0FBRyxFQUFFLE1BUVosRUFBRTtRQXJCQSxjQUFTLEdBQWlDLFNBQVMsQ0FBQTtRQXNCdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUE7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUE7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7SUFDNUIsQ0FBQztJQUVELElBQUksSUFBSTtRQUNKLE9BQU8sZUFBZSxDQUFDO1lBQ25CLGlCQUFpQjtZQUNqQixhQUFhLElBQUksQ0FBQyxTQUFTLFNBQVM7WUFDcEMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7WUFDNUMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7WUFDekMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUM7WUFDdkMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNsQyxFQUFFO1lBQ0YsZUFBZTtZQUNmLElBQUksQ0FBQyxRQUFRO1lBQ2IsR0FBRztTQUNOLENBQUMsQ0FBQTtJQUNOLENBQUM7Q0FDSiJ9
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYWRlci92ZXJ0ZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUlILGVBQWUsRUFDZixnQkFBZ0IsSUFBSSxlQUFlLEVBQ25DLGVBQWUsR0FDbEIsTUFBTSxRQUFRLENBQUE7QUFFZjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBUXhCLFlBQVksRUFDUixTQUFTLEdBQUcsT0FBTyxFQUNuQixRQUFRLEdBQUcsRUFBRSxFQUNiLFVBQVUsR0FBRyxFQUFFLEVBQ2YsT0FBTyxHQUFHLEVBQUUsRUFDWixTQUFTLEdBQUcsRUFBRSxFQUNkLFFBQVEsR0FBRyxFQUFFLE1BUVosRUFBRTtRQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFBO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO0lBQzVCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLGVBQWUsQ0FBQztZQUNuQixpQkFBaUI7WUFDakIsYUFBYSxJQUFJLENBQUMsU0FBUyxTQUFTO1lBQ3BDLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDO1lBQzVDLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO1lBQ3pDLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDO1lBQ3ZDLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDbEMsRUFBRTtZQUNGLGVBQWU7WUFDZixJQUFJLENBQUMsUUFBUTtZQUNiLEdBQUc7U0FDTixDQUFDLENBQUE7SUFDTixDQUFDO0NBQ0oifQ==
@@ -0,0 +1,36 @@
1
+ import { TgdEvent } from "../event";
2
+ import { TgdProgram } from "../program";
3
+ interface TgdTextureDepthStorage {
4
+ width: number;
5
+ height: number;
6
+ type: "DEPTH_COMPONENT24" | "DEPTH_COMPONENT16" | "DEPTH_COMPONENT32F";
7
+ }
8
+ export declare class TgdTextureDepth {
9
+ readonly name: string;
10
+ readonly gl: WebGL2RenderingContext;
11
+ readonly eventChange: TgdEvent<TgdTextureDepth>;
12
+ private readonly _texture;
13
+ private _width;
14
+ private _height;
15
+ private static counter;
16
+ constructor(context: {
17
+ gl: WebGL2RenderingContext;
18
+ }, options: Partial<TgdTextureDepthStorage> & {
19
+ width: number;
20
+ height: number;
21
+ });
22
+ delete(): void;
23
+ get width(): number;
24
+ get height(): number;
25
+ get glTexture(): WebGLTexture;
26
+ bind(): void;
27
+ /**
28
+ *
29
+ * @param unit Unit to link the texture to
30
+ * @param program The program that owns the uniform to update
31
+ * @param uniformName The uniform that hold the texture
32
+ */
33
+ activate(unit: number, program?: TgdProgram, uniformName?: string): this;
34
+ }
35
+ export {};
36
+ //# sourceMappingURL=texture-depth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"texture-depth.d.ts","sourceRoot":"","sources":["../../src/texture/texture-depth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,UAAU,sBAAsB;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,oBAAoB,CAAA;CACzE;AAED,qBAAa,eAAe;IACxB,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,SAAgB,EAAE,EAAE,sBAAsB,CAAA;IAC1C,SAAgB,WAAW,4BAAkC;IAE7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAI;IAEnB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAI;gBAGtB,OAAO,EAAE;QAAE,EAAE,EAAE,sBAAsB,CAAA;KAAE,EACvC,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG;QACvC,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;KACjB;IAwBL,MAAM;IAIN,IAAI,KAAK,WAER;IAED,IAAI,MAAM,WAET;IAED,IAAI,SAAS,IAAI,YAAY,CAI5B;IAED,IAAI;IAIJ;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM;CASpE"}
@@ -0,0 +1,63 @@
1
+ import { TgdEvent } from "./../event/index.js";
2
+ export class TgdTextureDepth {
3
+ constructor(context, options) {
4
+ this.eventChange = new TgdEvent();
5
+ this._texture = null;
6
+ this._width = 0;
7
+ this._height = 0;
8
+ const { gl } = context;
9
+ this.gl = gl;
10
+ this.name = `TextureDepth/${TgdTextureDepth.counter++}`;
11
+ const texture = gl.createTexture();
12
+ if (!texture)
13
+ throw new Error("Unable to create a WebGLTexture!");
14
+ this._texture = texture;
15
+ console.log("🚀 [texture-depth] options =", options); // @FIXME: Remove this line written on 2025-04-18 at 14:30
16
+ // this.setParams({
17
+ // magFilter: "NEAREST",
18
+ // minFilter: "NEAREST",
19
+ // wrapS: "REPEAT",
20
+ // wrapT: "REPEAT",
21
+ // wrapR: "REPEAT",
22
+ // })
23
+ // gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, this.storage.flipY)
24
+ // gl.pixelStorei(
25
+ // gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,
26
+ // this.storage.premultipliedAlpha
27
+ // )
28
+ }
29
+ delete() {
30
+ this.gl.deleteTexture(this.glTexture);
31
+ }
32
+ get width() {
33
+ return this._width;
34
+ }
35
+ get height() {
36
+ return this._height;
37
+ }
38
+ get glTexture() {
39
+ if (this._texture)
40
+ return this._texture;
41
+ throw new Error(`Texture "${this.name}" has been deleted!`);
42
+ }
43
+ bind() {
44
+ this.gl.bindTexture(this.gl.TEXTURE_2D, this.glTexture);
45
+ }
46
+ /**
47
+ *
48
+ * @param unit Unit to link the texture to
49
+ * @param program The program that owns the uniform to update
50
+ * @param uniformName The uniform that hold the texture
51
+ */
52
+ activate(unit, program, uniformName) {
53
+ const { gl } = this;
54
+ gl.activeTexture(gl.TEXTURE0 + unit);
55
+ this.bind();
56
+ if (program && uniformName) {
57
+ program.uniform1i(uniformName, unit);
58
+ }
59
+ return this;
60
+ }
61
+ }
62
+ TgdTextureDepth.counter = 0;
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZS1kZXB0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXh0dXJlL3RleHR1cmUtZGVwdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQVNyQyxNQUFNLE9BQU8sZUFBZTtJQVd4QixZQUNJLE9BQXVDLEVBQ3ZDLE9BR0M7UUFiVyxnQkFBVyxHQUFHLElBQUksUUFBUSxFQUFtQixDQUFBO1FBRTVDLGFBQVEsR0FBd0IsSUFBSSxDQUFBO1FBQzdDLFdBQU0sR0FBRyxDQUFDLENBQUE7UUFDVixZQUFPLEdBQUcsQ0FBQyxDQUFBO1FBV2YsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQTtRQUNaLElBQUksQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLGVBQWUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFBO1FBQ3ZELE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUNsQyxJQUFJLENBQUMsT0FBTztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQTtRQUVqRSxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQTtRQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixFQUFFLE9BQU8sQ0FBQyxDQUFBLENBQUMsMERBQTBEO1FBQy9HLG1CQUFtQjtRQUNuQiw0QkFBNEI7UUFDNUIsNEJBQTRCO1FBQzVCLHVCQUF1QjtRQUN2Qix1QkFBdUI7UUFDdkIsdUJBQXVCO1FBQ3ZCLEtBQUs7UUFDTCw2REFBNkQ7UUFDN0Qsa0JBQWtCO1FBQ2xCLHlDQUF5QztRQUN6QyxzQ0FBc0M7UUFDdEMsSUFBSTtJQUNSLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUE7SUFDdEIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUN2QixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQTtRQUV2QyxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUkscUJBQXFCLENBQUMsQ0FBQTtJQUMvRCxDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUMzRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxRQUFRLENBQUMsSUFBWSxFQUFFLE9BQW9CLEVBQUUsV0FBb0I7UUFDN0QsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNuQixFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUE7UUFDcEMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ1gsSUFBSSxPQUFPLElBQUksV0FBVyxFQUFFLENBQUM7WUFDekIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDeEMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFBO0lBQ2YsQ0FBQzs7QUFuRWMsdUJBQU8sR0FBRyxDQUFDLEFBQUosQ0FBSSJ9
@@ -7,28 +7,40 @@ interface TgdTexture2DStorage {
7
7
  height: number;
8
8
  levels: number;
9
9
  flipY: boolean;
10
+ /**
11
+ * Do we want to use premultiplied alpha?
12
+ * Default to `false`.
13
+ */
14
+ premultipliedAlpha: boolean;
10
15
  internalFormat: "R8" | "R16F" | "R32F" | "R8UI" | "RG8" | "RG16F" | "RG32F" | "RG8UI" | "RGB8" | "SRGB8" | "RGB565" | "R11F_G11F_B10F" | "RGB9_E5" | "RGB16F" | "RGB32F" | "RGB8UI" | "RGBA8" | "SRGB8_ALPHA8" | "RGB5_A1" | "RGBA4" | "RGBA16F" | "RGBA32F" | "RGBA8UI" | "COMPRESSED_R11_EAC" | "COMPRESSED_SIGNED_R11_EAC" | "COMPRESSED_RG11_EAC" | "COMPRESSED_SIGNED_RG11_EAC" | "COMPRESSED_RGB8_ETC2" | "COMPRESSED_RGBA8_ETC2_EAC" | "COMPRESSED_SRGB8_ETC2" | "COMPRESSED_SRGB8_ALPHA8_ETC2_EAC" | "COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2" | "COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2";
11
16
  }
12
17
  export declare class TgdTexture2D {
18
+ private readonly context;
13
19
  readonly name: string;
14
20
  readonly gl: WebGL2RenderingContext;
15
21
  readonly eventChange: TgdEvent<TgdTexture2D>;
16
- private readonly _texture;
22
+ private _texture;
17
23
  private _width;
18
24
  private _height;
19
25
  private readonly storage;
26
+ private params;
20
27
  private static counter;
21
28
  constructor(context: {
22
29
  gl: WebGL2RenderingContext;
30
+ paint?: () => void;
23
31
  }, storage?: Partial<TgdTexture2DStorage>);
24
32
  delete(): void;
25
33
  get width(): number;
26
34
  get height(): number;
35
+ private createTexture;
27
36
  resize(width: number, height: number): void;
37
+ private checkError;
28
38
  get glTexture(): WebGLTexture;
29
39
  bind(): void;
30
- loadBitmap(bmp: WebglImage | null | Promise<WebglImage | null>, options?: {
40
+ loadBitmap(bmp: string | WebglImage | null | Promise<WebglImage | null>, options?: {
31
41
  level?: number;
42
+ generateMipmap?: boolean;
43
+ onLoad?: () => void;
32
44
  }): this;
33
45
  loadData(data: Uint8Array | Uint8ClampedArray, options: {
34
46
  width: number;
@@ -52,6 +64,7 @@ export declare class TgdTexture2D {
52
64
  set textureMaxLevel(value: number);
53
65
  get textureMaxLevel(): number;
54
66
  getParameter(parameter: WebglTexParameter): number | boolean | null;
67
+ debug(title?: string): void;
55
68
  }
56
69
  export {};
57
70
  //# sourceMappingURL=texture2d.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"texture2d.d.ts","sourceRoot":"","sources":["../../src/texture/texture2d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAgB,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACxE,OAAO,EACH,0BAA0B,EAC1B,sBAAsB,EAEzB,MAAM,YAAY,CAAA;AAEnB,UAAU,mBAAmB;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd,cAAc,EACR,IAAI,GACJ,MAAM,GACN,MAAM,GACN,MAAM,GACN,KAAK,GACL,OAAO,GACP,OAAO,GACP,OAAO,GACP,MAAM,GACN,OAAO,GACP,QAAQ,GACR,gBAAgB,GAChB,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,cAAc,GACd,SAAS,GACT,OAAO,GACP,SAAS,GACT,SAAS,GACT,SAAS,GACT,oBAAoB,GACpB,2BAA2B,GAC3B,qBAAqB,GACrB,4BAA4B,GAC5B,sBAAsB,GACtB,2BAA2B,GAC3B,uBAAuB,GACvB,kCAAkC,GAClC,0CAA0C,GAC1C,2CAA2C,CAAA;CACpD;AAED,qBAAa,YAAY;IACrB,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,SAAgB,EAAE,EAAE,sBAAsB,CAAA;IAC1C,SAAgB,WAAW,yBAA+B;IAE1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAI;gBAGtB,OAAO,EAAE;QAAE,EAAE,EAAE,sBAAsB,CAAA;KAAE,EACvC,OAAO,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAiC1C,MAAM;IAIN,IAAI,KAAK,WAER;IAED,IAAI,MAAM,WAET;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAyBpC,IAAI,SAAS,IAAI,YAAY,CAI5B;IAED,IAAI;IAIJ,UAAU,CACN,GAAG,EAAE,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,EACnD,OAAO,GAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAA;KACZ,GACP,IAAI;IA2BP,QAAQ,CACJ,IAAI,EAAE,UAAU,GAAG,iBAAiB,EACpC,OAAO,EAAE;QACL,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,cAAc,EAAE,0BAA0B,CAAA;QAC1C,MAAM,EACA,KAAK,GACL,IAAI,GACJ,KAAK,GACL,MAAM,GACN,aAAa,GACb,YAAY,GACZ,aAAa,GACb,cAAc,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAA;KAClB;IA4BL;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM;IAUjE,cAAc;IAOd,SAAS,CAAC,UAAU,EAAE,sBAAsB;IAM5C,IAAI,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAIjC;IAED,IAAI,gBAAgB,IAAI,MAAM,CAO7B;IAED,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,EAIhC;IAED,IAAI,eAAe,IAAI,MAAM,CAI5B;IAED,YAAY,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;CAStE"}
1
+ {"version":3,"file":"texture2d.d.ts","sourceRoot":"","sources":["../../src/texture/texture2d.ts"],"names":[],"mappings":"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"}