@tolokoban/tgd 2.0.20 → 2.0.22

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 (310) hide show
  1. package/lib/dist/buffer/buffer.js +2 -2
  2. package/lib/dist/camera/camera-node.d.ts +2 -2
  3. package/lib/dist/camera/camera-node.d.ts.map +1 -1
  4. package/lib/dist/camera/camera-node.js +4 -4
  5. package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
  6. package/lib/dist/camera/camera-orthographic.js +6 -5
  7. package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
  8. package/lib/dist/camera/camera-perspective.js +12 -31
  9. package/lib/dist/camera/camera.d.ts +9 -56
  10. package/lib/dist/camera/camera.d.ts.map +1 -1
  11. package/lib/dist/camera/camera.js +28 -257
  12. package/lib/dist/camera/index.d.ts +0 -1
  13. package/lib/dist/camera/index.d.ts.map +1 -1
  14. package/lib/dist/camera/index.js +1 -2
  15. package/lib/dist/canvas/gizmo/gizmo.d.ts.map +1 -1
  16. package/lib/dist/canvas/gizmo/gizmo.js +18 -20
  17. package/lib/dist/canvas/gizmo/painter/tips.js +16 -16
  18. package/lib/dist/code/color.d.ts +12 -0
  19. package/lib/dist/code/color.d.ts.map +1 -0
  20. package/lib/dist/code/color.js +26 -0
  21. package/lib/dist/code/consts.d.ts +16 -0
  22. package/lib/dist/code/consts.d.ts.map +1 -0
  23. package/lib/dist/code/consts.js +20 -0
  24. package/lib/dist/code/coords.d.ts +46 -0
  25. package/lib/dist/code/coords.d.ts.map +1 -0
  26. package/lib/dist/code/coords.js +95 -0
  27. package/lib/dist/code/index.d.ts +6 -0
  28. package/lib/dist/code/index.d.ts.map +1 -0
  29. package/lib/dist/code/index.js +6 -0
  30. package/lib/dist/code/random.d.ts +8 -0
  31. package/lib/dist/code/random.d.ts.map +1 -0
  32. package/lib/dist/code/random.js +13 -0
  33. package/lib/dist/code/transfo.d.ts +8 -0
  34. package/lib/dist/code/transfo.d.ts.map +1 -0
  35. package/lib/dist/code/transfo.js +19 -0
  36. package/lib/dist/color/color.js +10 -10
  37. package/lib/dist/context/animation/animation-manager.js +3 -3
  38. package/lib/dist/context/context.d.ts +6 -0
  39. package/lib/dist/context/context.d.ts.map +1 -1
  40. package/lib/dist/context/context.js +33 -22
  41. package/lib/dist/controller/camera/orbit.d.ts +9 -2
  42. package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
  43. package/lib/dist/controller/camera/orbit.js +47 -45
  44. package/lib/dist/dataset/dataset.d.ts.map +1 -1
  45. package/lib/dist/dataset/dataset.js +61 -56
  46. package/lib/dist/debug/debug.d.ts +1 -1
  47. package/lib/dist/debug/debug.d.ts.map +1 -1
  48. package/lib/dist/debug/debug.js +3 -3
  49. package/lib/dist/debug/tools.js +3 -3
  50. package/lib/dist/event/event.js +3 -2
  51. package/lib/dist/filter/blur.d.ts.map +1 -1
  52. package/lib/dist/filter/blur.js +9 -8
  53. package/lib/dist/filter/filter.d.ts.map +1 -1
  54. package/lib/dist/filter/hue-rotation.d.ts.map +1 -1
  55. package/lib/dist/filter/zoom.d.ts.map +1 -1
  56. package/lib/dist/geometry/box.d.ts +2 -1
  57. package/lib/dist/geometry/box.d.ts.map +1 -1
  58. package/lib/dist/geometry/box.js +103 -115
  59. package/lib/dist/geometry/geometry.d.ts.map +1 -1
  60. package/lib/dist/geometry/geometry.js +33 -35
  61. package/lib/dist/index.d.ts +2 -0
  62. package/lib/dist/index.d.ts.map +1 -1
  63. package/lib/dist/index.js +3 -1
  64. package/lib/dist/input/keyboard.js +8 -8
  65. package/lib/dist/input/pointer.d.ts.map +1 -1
  66. package/lib/dist/input/pointer.js +30 -33
  67. package/lib/dist/interface/transformable.d.ts +3 -1
  68. package/lib/dist/interface/transformable.d.ts.map +1 -1
  69. package/lib/dist/loader/asset.js +2 -2
  70. package/lib/dist/loader/binary.js +6 -6
  71. package/lib/dist/loader/image.js +9 -9
  72. package/lib/dist/loader/index.d.ts +1 -0
  73. package/lib/dist/loader/index.d.ts.map +1 -1
  74. package/lib/dist/loader/index.js +2 -1
  75. package/lib/dist/loader/video.d.ts +6 -0
  76. package/lib/dist/loader/video.d.ts.map +1 -0
  77. package/lib/dist/loader/video.js +23 -0
  78. package/lib/dist/log.d.ts +1 -1
  79. package/lib/dist/log.d.ts.map +1 -1
  80. package/lib/dist/log.js +13 -13
  81. package/lib/dist/math/common.test.d.ts +2 -0
  82. package/lib/dist/math/common.test.d.ts.map +1 -0
  83. package/lib/dist/math/common.test.js +22 -0
  84. package/lib/dist/math/index.d.ts +0 -1
  85. package/lib/dist/math/index.d.ts.map +1 -1
  86. package/lib/dist/math/index.js +1 -2
  87. package/lib/dist/math/mat3.d.ts +40 -16
  88. package/lib/dist/math/mat3.d.ts.map +1 -1
  89. package/lib/dist/math/mat3.js +124 -97
  90. package/lib/dist/math/mat3.test.d.ts +2 -0
  91. package/lib/dist/math/mat3.test.d.ts.map +1 -0
  92. package/lib/dist/math/mat3.test.js +32 -0
  93. package/lib/dist/math/mat4.d.ts +54 -121
  94. package/lib/dist/math/mat4.d.ts.map +1 -1
  95. package/lib/dist/math/mat4.js +167 -288
  96. package/lib/dist/math/quat.d.ts +5 -3
  97. package/lib/dist/math/quat.d.ts.map +1 -1
  98. package/lib/dist/math/quat.js +38 -72
  99. package/lib/dist/math/quat.test.d.ts +1 -0
  100. package/lib/dist/math/quat.test.d.ts.map +1 -1
  101. package/lib/dist/math/quat.test.js +81 -27
  102. package/lib/dist/math/transfo.d.ts +32 -5
  103. package/lib/dist/math/transfo.d.ts.map +1 -1
  104. package/lib/dist/math/transfo.js +126 -39
  105. package/lib/dist/math/vec2.js +6 -6
  106. package/lib/dist/math/vec3.d.ts +11 -3
  107. package/lib/dist/math/vec3.d.ts.map +1 -1
  108. package/lib/dist/math/vec3.js +30 -17
  109. package/lib/dist/math/vec3.test.js +20 -1
  110. package/lib/dist/math/vec4.d.ts +12 -3
  111. package/lib/dist/math/vec4.d.ts.map +1 -1
  112. package/lib/dist/math/vec4.js +29 -11
  113. package/lib/dist/painter/{axis/axis.d.ts → axes/axes.d.ts} +4 -4
  114. package/lib/dist/painter/{axis/axis.d.ts.map → axes/axes.d.ts.map} +1 -1
  115. package/lib/dist/painter/{axis/axis.frag → axes/axes.frag} +0 -0
  116. package/lib/dist/painter/axes/axes.js +82 -0
  117. package/lib/dist/painter/{axis/axis.vert → axes/axes.vert} +0 -0
  118. package/lib/dist/painter/axes/index.d.ts +2 -0
  119. package/lib/dist/painter/axes/index.d.ts.map +1 -0
  120. package/lib/dist/painter/axes/index.js +2 -0
  121. package/lib/dist/painter/background/background.d.ts +3 -2
  122. package/lib/dist/painter/background/background.d.ts.map +1 -1
  123. package/lib/dist/painter/background/background.js +4 -4
  124. package/lib/dist/painter/clear.js +3 -4
  125. package/lib/dist/painter/debug/stencil/stencil.js +2 -2
  126. package/lib/dist/painter/depth.d.ts +4 -4
  127. package/lib/dist/painter/depth.d.ts.map +1 -1
  128. package/lib/dist/painter/depth.js +3 -3
  129. package/lib/dist/painter/filter/filter.d.ts +2 -2
  130. package/lib/dist/painter/filter/filter.d.ts.map +1 -1
  131. package/lib/dist/painter/filter/filter.js +33 -24
  132. package/lib/dist/painter/framebuffer.js +3 -3
  133. package/lib/dist/painter/group.js +6 -5
  134. package/lib/dist/painter/index.d.ts +1 -1
  135. package/lib/dist/painter/index.js +1 -1
  136. package/lib/dist/painter/mesh/mesh/mesh.d.ts +2 -2
  137. package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
  138. package/lib/dist/painter/mesh/mesh/mesh.js +21 -10
  139. package/lib/dist/painter/mesh/normals/normals.d.ts.map +1 -1
  140. package/lib/dist/painter/mesh/normals/normals.js +4 -4
  141. package/lib/dist/painter/node/node.d.ts +12 -12
  142. package/lib/dist/painter/node/node.d.ts.map +1 -1
  143. package/lib/dist/painter/node/node.js +31 -42
  144. package/lib/dist/painter/segments/segments.js +13 -13
  145. package/lib/dist/painter/skybox/skybox.js +3 -3
  146. package/lib/dist/painter/state/state.d.ts +4 -6
  147. package/lib/dist/painter/state/state.d.ts.map +1 -1
  148. package/lib/dist/painter/state/state.js +83 -61
  149. package/lib/dist/parser/for-each-line.d.ts.map +1 -1
  150. package/lib/dist/parser/for-each-line.js +5 -5
  151. package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
  152. package/lib/dist/parser/gltf/gltf.js +37 -37
  153. package/lib/dist/parser/gltf/parser.js +10 -11
  154. package/lib/dist/parser/mesh/wavefront.d.ts.map +1 -1
  155. package/lib/dist/parser/mesh/wavefront.js +18 -26
  156. package/lib/dist/program/program.d.ts +2 -4
  157. package/lib/dist/program/program.d.ts.map +1 -1
  158. package/lib/dist/program/program.js +26 -27
  159. package/lib/dist/{utils/ref-map.d.ts → reference-map.d.ts} +4 -4
  160. package/lib/dist/reference-map.d.ts.map +1 -0
  161. package/lib/dist/reference-map.js +52 -0
  162. package/lib/dist/shader/code.d.ts +2 -2
  163. package/lib/dist/shader/code.d.ts.map +1 -1
  164. package/lib/dist/shader/code.js +12 -12
  165. package/lib/dist/shader/fragment.js +6 -6
  166. package/lib/dist/shader/vertex.js +6 -6
  167. package/lib/dist/table/table.d.ts.map +1 -1
  168. package/lib/dist/table/table.js +7 -4
  169. package/lib/dist/texture/index.d.ts +1 -1
  170. package/lib/dist/texture/index.d.ts.map +1 -1
  171. package/lib/dist/texture/index.js +2 -2
  172. package/lib/dist/texture/{textureCube.d.ts → texture-cube.d.ts} +1 -1
  173. package/lib/dist/texture/texture-cube.d.ts.map +1 -0
  174. package/lib/dist/texture/texture-cube.js +69 -0
  175. package/lib/dist/texture/texture2d.d.ts +6 -3
  176. package/lib/dist/texture/texture2d.d.ts.map +1 -1
  177. package/lib/dist/texture/texture2d.js +30 -12
  178. package/lib/dist/types/elements.js +2 -2
  179. package/lib/dist/types/guards.d.ts.map +1 -1
  180. package/lib/dist/types/guards.js +36 -37
  181. package/lib/dist/types/index.d.ts +1 -1
  182. package/lib/dist/types/index.d.ts.map +1 -1
  183. package/lib/dist/types/index.js +2 -2
  184. package/lib/dist/types/{textureCube.d.ts → texture-cube.d.ts} +1 -1
  185. package/lib/dist/types/texture-cube.d.ts.map +1 -0
  186. package/lib/dist/types/texture-cube.js +2 -0
  187. package/lib/dist/types/webgl.d.ts +5 -4
  188. package/lib/dist/types/webgl.d.ts.map +1 -1
  189. package/lib/dist/types/webgl.js +37 -30
  190. package/lib/dist/utils/action/camera.d.ts.map +1 -1
  191. package/lib/dist/utils/action/camera.js +15 -26
  192. package/lib/dist/utils/action/transfo.d.ts +3 -0
  193. package/lib/dist/utils/action/transfo.d.ts.map +1 -0
  194. package/lib/dist/utils/action/transfo.js +18 -0
  195. package/lib/dist/utils/action/vector.d.ts.map +1 -1
  196. package/lib/dist/utils/action/vector.js +11 -11
  197. package/lib/dist/utils/assert.d.ts.map +1 -1
  198. package/lib/dist/utils/assert.js +2 -2
  199. package/lib/dist/utils/bbox.test.js +18 -19
  200. package/lib/dist/utils/canvas.d.ts +3 -3
  201. package/lib/dist/utils/canvas.d.ts.map +1 -1
  202. package/lib/dist/utils/canvas.js +14 -14
  203. package/lib/dist/utils/{ease-func/ease-func.d.ts → easing-function/easing-function.d.ts} +1 -1
  204. package/lib/dist/utils/easing-function/easing-function.d.ts.map +1 -0
  205. package/lib/dist/utils/easing-function/easing-function.js +142 -0
  206. package/lib/dist/utils/easing-function/index.d.ts +2 -0
  207. package/lib/dist/utils/easing-function/index.d.ts.map +1 -0
  208. package/lib/dist/utils/easing-function/index.js +2 -0
  209. package/lib/dist/utils/framebuffer.js +2 -2
  210. package/lib/dist/utils/fullscreen.d.ts +1 -1
  211. package/lib/dist/utils/fullscreen.d.ts.map +1 -1
  212. package/lib/dist/utils/fullscreen.js +19 -19
  213. package/lib/dist/utils/index.d.ts +2 -1
  214. package/lib/dist/utils/index.d.ts.map +1 -1
  215. package/lib/dist/utils/index.js +3 -2
  216. package/lib/dist/utils/math.d.ts +4 -2
  217. package/lib/dist/utils/math.d.ts.map +1 -1
  218. package/lib/dist/utils/math.js +12 -4
  219. package/lib/dist/utils/pbo.d.ts.map +1 -1
  220. package/lib/dist/utils/pbo.js +3 -3
  221. package/lib/dist/{ref-map.d.ts → utils/reference-map.d.ts} +4 -4
  222. package/lib/dist/utils/reference-map.d.ts.map +1 -0
  223. package/lib/dist/utils/reference-map.js +52 -0
  224. package/lib/dist/utils/state/blend.d.ts +5 -5
  225. package/lib/dist/utils/state/blend.d.ts.map +1 -1
  226. package/lib/dist/utils/state/blend.js +10 -10
  227. package/lib/dist/utils/state/depth.d.ts +2 -2
  228. package/lib/dist/utils/state/depth.d.ts.map +1 -1
  229. package/lib/dist/utils/state/depth.js +5 -5
  230. package/lib/dist/utils/state/stencil.js +9 -9
  231. package/lib/dist/utils/template.js +3 -3
  232. package/lib/dist/utils/webgl.js +5 -5
  233. package/lib/dist/vao/vao.d.ts.map +1 -1
  234. package/lib/dist/vao/vao.js +13 -9
  235. package/lib/dist/webgl/texture/texture2d.js +2 -2
  236. package/package.json +1 -1
  237. package/lib/dist/geometry/place.d.ts +0 -12
  238. package/lib/dist/geometry/place.d.ts.map +0 -1
  239. package/lib/dist/geometry/place.js +0 -145
  240. package/lib/dist/math/math.d.ts +0 -9
  241. package/lib/dist/math/math.d.ts.map +0 -1
  242. package/lib/dist/math/math.js +0 -13
  243. package/lib/dist/painter/axis/axis.js +0 -82
  244. package/lib/dist/painter/axis/index.d.ts +0 -2
  245. package/lib/dist/painter/axis/index.d.ts.map +0 -1
  246. package/lib/dist/painter/axis/index.js +0 -2
  247. package/lib/dist/painter/debug/stencil.d.ts +0 -11
  248. package/lib/dist/painter/debug/stencil.d.ts.map +0 -1
  249. package/lib/dist/painter/debug/stencil.js +0 -41
  250. package/lib/dist/painter/framebuffer-old.d.ts +0 -38
  251. package/lib/dist/painter/framebuffer-old.d.ts.map +0 -1
  252. package/lib/dist/painter/framebuffer-old.js +0 -102
  253. package/lib/dist/painter/framebuffer.backup.d.ts +0 -39
  254. package/lib/dist/painter/framebuffer.backup.d.ts.map +0 -1
  255. package/lib/dist/painter/framebuffer.backup.js +0 -122
  256. package/lib/dist/painter/mesh/hull/hull.d.ts +0 -12
  257. package/lib/dist/painter/mesh/hull/hull.d.ts.map +0 -1
  258. package/lib/dist/painter/mesh/hull/hull.js +0 -11
  259. package/lib/dist/painter/node.d.ts +0 -32
  260. package/lib/dist/painter/node.d.ts.map +0 -1
  261. package/lib/dist/painter/node.js +0 -73
  262. package/lib/dist/ref-map.d.ts.map +0 -1
  263. package/lib/dist/ref-map.js +0 -52
  264. package/lib/dist/resource/index.d.ts +0 -5
  265. package/lib/dist/resource/index.d.ts.map +0 -1
  266. package/lib/dist/resource/index.js +0 -5
  267. package/lib/dist/resource/program.d.ts +0 -10
  268. package/lib/dist/resource/program.d.ts.map +0 -1
  269. package/lib/dist/resource/program.js +0 -19
  270. package/lib/dist/resource/resource.d.ts +0 -17
  271. package/lib/dist/resource/resource.d.ts.map +0 -1
  272. package/lib/dist/resource/resource.js +0 -52
  273. package/lib/dist/resource/texture2d.d.ts +0 -10
  274. package/lib/dist/resource/texture2d.d.ts.map +0 -1
  275. package/lib/dist/resource/texture2d.js +0 -19
  276. package/lib/dist/resource/textureCube.d.ts +0 -9
  277. package/lib/dist/resource/textureCube.d.ts.map +0 -1
  278. package/lib/dist/resource/textureCube.js +0 -16
  279. package/lib/dist/scene/scene-node.d.ts +0 -8
  280. package/lib/dist/scene/scene-node.d.ts.map +0 -1
  281. package/lib/dist/scene/scene-node.js +0 -13
  282. package/lib/dist/texture/texture2dArray.d.ts +0 -43
  283. package/lib/dist/texture/texture2dArray.d.ts.map +0 -1
  284. package/lib/dist/texture/texture2dArray.js +0 -112
  285. package/lib/dist/texture/textureCube.d.ts.map +0 -1
  286. package/lib/dist/texture/textureCube.js +0 -69
  287. package/lib/dist/types/context.d.ts +0 -27
  288. package/lib/dist/types/context.d.ts.map +0 -1
  289. package/lib/dist/types/context.js +0 -2
  290. package/lib/dist/types/texture2d.d.ts +0 -51
  291. package/lib/dist/types/texture2d.d.ts.map +0 -1
  292. package/lib/dist/types/texture2d.js +0 -2
  293. package/lib/dist/types/textureCube.d.ts.map +0 -1
  294. package/lib/dist/types/textureCube.js +0 -2
  295. package/lib/dist/uniform/uniform-buffer-object.d.ts +0 -49
  296. package/lib/dist/uniform/uniform-buffer-object.d.ts.map +0 -1
  297. package/lib/dist/uniform/uniform-buffer-object.js +0 -93
  298. package/lib/dist/utils/ease-func/ease-func.d.ts.map +0 -1
  299. package/lib/dist/utils/ease-func/ease-func.js +0 -142
  300. package/lib/dist/utils/ease-func/index.d.ts +0 -2
  301. package/lib/dist/utils/ease-func/index.d.ts.map +0 -1
  302. package/lib/dist/utils/ease-func/index.js +0 -2
  303. package/lib/dist/utils/fetch/fetch.d.ts +0 -2
  304. package/lib/dist/utils/fetch/fetch.d.ts.map +0 -1
  305. package/lib/dist/utils/fetch/fetch.js +0 -5
  306. package/lib/dist/utils/fetch/index.d.ts +0 -2
  307. package/lib/dist/utils/fetch/index.d.ts.map +0 -1
  308. package/lib/dist/utils/fetch/index.js +0 -2
  309. package/lib/dist/utils/ref-map.d.ts.map +0 -1
  310. package/lib/dist/utils/ref-map.js +0 -52
@@ -5,13 +5,13 @@ import { tgdCodeStringify } from "./../shader/code.js";
5
5
  * the uniforms.
6
6
  */
7
7
  export class TgdProgram {
8
- constructor({ gl }, code) {
8
+ constructor(gl, code) {
9
9
  var _a;
10
- this.code = code;
11
10
  this.gl = gl;
11
+ this.code = code;
12
12
  const prg = gl.createProgram();
13
13
  if (!prg)
14
- throw Error("Unable to create WebGLProgram!");
14
+ throw new Error("Unable to create WebGLProgram!");
15
15
  const vert = tgdCodeStringify(code.vert);
16
16
  const vertShader = this.createShader("VERTEX_SHADER", vert);
17
17
  gl.attachShader(prg, vertShader);
@@ -64,7 +64,7 @@ export class TgdProgram {
64
64
  const { gl, program } = this;
65
65
  const loc = gl.getAttribLocation(program, name);
66
66
  if (loc < 0) {
67
- throw Error(`Attribute "${name}" not found!`);
67
+ throw new Error(`Attribute "${name}" not found!`);
68
68
  }
69
69
  return loc;
70
70
  }
@@ -155,7 +155,8 @@ export class TgdProgram {
155
155
  }
156
156
  delete() {
157
157
  const { gl } = this;
158
- this.shaders.forEach(shader => gl.deleteShader(shader));
158
+ for (const shader of this.shaders)
159
+ gl.deleteShader(shader);
159
160
  gl.deleteProgram(this.program);
160
161
  }
161
162
  debug(caption = "TgdProgram") {
@@ -168,14 +169,14 @@ export class TgdProgram {
168
169
  const { gl } = this;
169
170
  const shader = gl.createShader(gl[type]);
170
171
  if (!shader)
171
- throw Error(`Unable to create a WebGLShader of type "${type}"!`);
172
+ throw new Error(`Unable to create a WebGLShader of type "${type}"!`);
172
173
  gl.shaderSource(shader, code);
173
174
  gl.compileShader(shader);
174
175
  const info = gl.getShaderInfoLog(shader);
175
176
  if (info) {
176
177
  console.error(`Error in ${type} code:`, info);
177
178
  const errorLines = getErrorLines(info);
178
- throw Error(logCode(type, code, errorLines));
179
+ throw new Error(logCode(type, code, errorLines));
179
180
  }
180
181
  return shader;
181
182
  }
@@ -183,7 +184,7 @@ export class TgdProgram {
183
184
  const { gl, program } = this;
184
185
  const count = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);
185
186
  if (typeof count !== "number")
186
- throw Error("Unable to get the number of uniforms in a WebGLProgram!");
187
+ throw new Error("Unable to get the number of uniforms in a WebGLProgram!");
187
188
  const uniforms = {};
188
189
  for (let index = 0; index < count; index++) {
189
190
  const uniform = gl.getActiveUniform(program, index);
@@ -191,7 +192,7 @@ export class TgdProgram {
191
192
  continue;
192
193
  const location = gl.getUniformLocation(program, uniform.name);
193
194
  if (location === null)
194
- throw Error(`Unable to get location for uniform "${uniform.name}"!`);
195
+ throw new Error(`Unable to get location for uniform "${uniform.name}"!`);
195
196
  uniforms[uniform.name] = location;
196
197
  }
197
198
  return uniforms;
@@ -205,8 +206,8 @@ function getErrorLines(message) {
205
206
  RX_ERROR_LINE.lastIndex = -1;
206
207
  const match = RX_ERROR_LINE.exec(line);
207
208
  if (match) {
208
- lines.push(parseInt(match[2], 10));
209
- messages.push(line.substring(match[0].length).trim());
209
+ lines.push(Number.parseInt(match[2], 10));
210
+ messages.push(line.slice(match[0].length).trim());
210
211
  }
211
212
  }
212
213
  return { lines, messages };
@@ -214,30 +215,28 @@ function getErrorLines(message) {
214
215
  function style(background, bold = false) {
215
216
  return `color:#fff;background:${background};font-family:monospace;font-size:80%;font-weight:${bold ? "bolder" : "100"};margin:0;color:${bold ? "#777" : "#fff"}`;
216
217
  }
217
- function logCode(title, code, errors = {
218
- lines: [],
219
- messages: [],
220
- }) {
218
+ function logCode(title, code, options) {
219
+ const { lines = [], messages = [] } = options !== null && options !== void 0 ? options : {};
221
220
  const output = [title];
222
- const lines = [`%c${title}`];
221
+ const codeLines = [`%c${title}`];
223
222
  const styles = ["font-weight:bolder;font-size:120%"];
224
223
  let hasError = false;
225
- code.split("\n").forEach((line, index) => {
226
- const num = index + 1;
227
- const prefix = `${num}`.padStart(5, " ");
228
- const background = errors.lines.includes(num) ? "#f00" : "#000";
229
- lines.push(`%c${prefix} %c${line}`);
224
+ for (const [index, line] of code.split("\n").entries()) {
225
+ const lineNumber = index + 1;
226
+ const prefix = `${lineNumber}`.padStart(5, " ");
227
+ const background = lines.includes(lineNumber) ? "#f00" : "#000";
228
+ codeLines.push(`%c${prefix} %c${line}`);
230
229
  output.push(`${prefix} ${line}`);
231
230
  styles.push(style(background, true), style(background, false));
232
- if (errors.lines.includes(num)) {
231
+ if (lines.includes(lineNumber)) {
233
232
  hasError = true;
234
- lines.push(`%c${errors.messages[errors.lines.indexOf(num)]}`);
235
- output.push(`##### ${errors.messages[errors.lines.indexOf(num)]}`);
233
+ codeLines.push(`%c${messages[lines.indexOf(lineNumber)]}`);
234
+ output.push(`##### ${messages[lines.indexOf(lineNumber)]}`);
236
235
  styles.push("color:#f33;background:#333;font-weight:bold");
237
236
  console.error();
238
237
  }
239
- });
240
- console.log(lines.join("\n"), ...styles);
238
+ }
239
+ console.log(codeLines.join("\n"), ...styles);
241
240
  return hasError ? output.join("\n") : "";
242
241
  }
243
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9ncmFtL3Byb2dyYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFHbkQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBUW5CLFlBQ0ksRUFBRSxFQUFFLEVBQWtDLEVBQ3JCLElBQXVCOztRQUF2QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUV4QyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQTtRQUNaLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUM5QixJQUFJLENBQUMsR0FBRztZQUFFLE1BQU0sS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUE7UUFFdkQsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQzNELEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQ2hDLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFBO1FBQzdELEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQ2hDLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDbkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDL0MsTUFBTSxJQUFJLEdBQUcsTUFBQSxFQUFF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
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9ncmFtL3Byb2dyYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFHbkQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBT25CLFlBQ29CLEVBQTBCLEVBQ3pCLElBQXVCOztRQUR4QixPQUFFLEdBQUYsRUFBRSxDQUF3QjtRQUN6QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUV4QyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDOUIsSUFBSSxDQUFDLEdBQUc7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUE7UUFFM0QsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQzNELEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQ2hDLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFBO1FBQzdELEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQ2hDLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDbkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDL0MsTUFBTSxJQUFJLEdBQUcsTUFBQSxFQUFFLENBQUMsaUJBQWlC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
@@ -2,7 +2,7 @@
2
2
  * A Reference Map counts how many time you want to insert the same key.
3
3
  * And it tells you when you delete it as many times.
4
4
  */
5
- export default class RefMap<KeyType, ValType> {
5
+ export default class ReferenceMap<KeyType, ValueType> {
6
6
  private readonly map;
7
7
  private readonly count;
8
8
  /**
@@ -10,13 +10,13 @@ export default class RefMap<KeyType, ValType> {
10
10
  * we add a reference to the mapped value and return it.
11
11
  * If not, we create the mapped value by calling `factory()`.
12
12
  */
13
- add(key: KeyType, factory: () => ValType): ValType;
13
+ add(key: KeyType, factory: () => ValueType): ValueType;
14
14
  /**
15
15
  * Delete a reference to `key`.
16
16
  * If the last reference has been removed,
17
17
  * then return the mapped value, otherwise
18
18
  * return `undefined`.
19
19
  */
20
- delete(key: KeyType): ValType | undefined;
20
+ delete(key: KeyType): ValueType | undefined;
21
21
  }
22
- //# sourceMappingURL=ref-map.d.ts.map
22
+ //# sourceMappingURL=reference-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-map.d.ts","sourceRoot":"","sources":["../src/reference-map.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY,CAAC,OAAO,EAAE,SAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgC;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IAEnD;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,GAAG,SAAS;IAetD;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS;CAe9C"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * A Reference Map counts how many time you want to insert the same key.
3
+ * And it tells you when you delete it as many times.
4
+ */
5
+ export default class ReferenceMap {
6
+ constructor() {
7
+ this.map = new Map();
8
+ this.count = new Map();
9
+ }
10
+ /**
11
+ * If `key` is already stored in the map,
12
+ * we add a reference to the mapped value and return it.
13
+ * If not, we create the mapped value by calling `factory()`.
14
+ */
15
+ add(key, factory) {
16
+ var _a;
17
+ const { map, count } = this;
18
+ if (count.has(key)) {
19
+ count.set(key, 1 + ((_a = count.get(key)) !== null && _a !== void 0 ? _a : 0));
20
+ const currentValue = map.get(key);
21
+ if (!currentValue)
22
+ throw new Error("[CountMap] Map should not be empty!");
23
+ return currentValue;
24
+ }
25
+ const newValue = factory();
26
+ map.set(key, newValue);
27
+ count.set(key, 1);
28
+ return newValue;
29
+ }
30
+ /**
31
+ * Delete a reference to `key`.
32
+ * If the last reference has been removed,
33
+ * then return the mapped value, otherwise
34
+ * return `undefined`.
35
+ */
36
+ delete(key) {
37
+ var _a;
38
+ const { map, count } = this;
39
+ if (!map.has(key))
40
+ return;
41
+ const newCount = ((_a = count.get(key)) !== null && _a !== void 0 ? _a : 0) - 1;
42
+ if (newCount > 0) {
43
+ count.set(key, newCount);
44
+ return;
45
+ }
46
+ const value = map.get(key);
47
+ map.delete(key);
48
+ count.delete(key);
49
+ return value;
50
+ }
51
+ }
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLW1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZWZlcmVuY2UtbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sWUFBWTtJQUFqQztRQUNxQixRQUFHLEdBQUcsSUFBSSxHQUFHLEVBQXNCLENBQUE7UUFDbkMsVUFBSyxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFBO0lBMkN2RCxDQUFDO0lBekNHOzs7O09BSUc7SUFDSCxHQUFHLENBQUMsR0FBWSxFQUFFLE9BQXdCOztRQUN0QyxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQTtRQUMzQixJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqQixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFBLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1DQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDekMsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUNqQyxJQUFJLENBQUMsWUFBWTtnQkFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUE7WUFDekUsT0FBTyxZQUFZLENBQUE7UUFDdkIsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLE9BQU8sRUFBRSxDQUFBO1FBQzFCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBQ3RCLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ2pCLE9BQU8sUUFBUSxDQUFBO0lBQ25CLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxHQUFZOztRQUNmLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUFFLE9BQU07UUFFekIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFBLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1DQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUMxQyxJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNmLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFBO1lBQ3hCLE9BQU07UUFDVixDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUMxQixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2YsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNqQixPQUFPLEtBQUssQ0FBQTtJQUNoQixDQUFDO0NBQ0oifQ==
@@ -8,6 +8,6 @@ export interface TgdCodeFunctions {
8
8
  export type TgdCodeBloc = string | null | TgdCodeBloc[];
9
9
  export declare function isCodeBloc(v: unknown): v is TgdCodeBloc;
10
10
  export declare function tgdCodeStringify(code: TgdCodeBloc, indent?: string): string;
11
- export declare function vars<Type extends WebglAttributeType | WebglUniformType>(def: TgdCodeVariables<Type>, prefix: string, comment?: string): TgdCodeBloc[];
12
- export declare function funcs(def: TgdCodeFunctions | TgdCodeBloc, comment?: string): TgdCodeBloc[];
11
+ export declare function expandVariables<Type extends WebglAttributeType | WebglUniformType>(definition: TgdCodeVariables<Type>, prefix: string, comment?: string): TgdCodeBloc[];
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,IAAI,CAAC,IAAI,SAAS,kBAAkB,GAAG,gBAAgB,EACnE,GAAG,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAC3B,MAAM,EAAE,MAAM,EACd,OAAO,SAA6C,GACrD,WAAW,EAAE,CAQf;AAED,wBAAgB,KAAK,CACjB,GAAG,EAAE,gBAAgB,GAAG,WAAW,EACnC,OAAO,SAAmB,GAC3B,WAAW,EAAE,CAWf"}
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"}
@@ -21,25 +21,25 @@ export function tgdCodeStringify(code, indent = "") {
21
21
  .map(line => tgdCodeStringify(line, subIndent))
22
22
  .join("\n");
23
23
  }
24
- export function vars(def, prefix, comment = "----------------------------------------") {
25
- const names = Object.keys(def);
24
+ export function expandVariables(definition, prefix, comment = "----------------------------------------") {
25
+ const names = Object.keys(definition);
26
26
  if (names.length === 0)
27
27
  return [];
28
28
  return [
29
29
  `// ${comment}`,
30
- ...names.map(name => `${prefix} ${def[name]} ${name};`),
30
+ ...names.map(name => `${prefix} ${definition[name]} ${name};`),
31
31
  ];
32
32
  }
33
- export function funcs(def, comment = "Util functions") {
34
- if (isCodeBloc(def))
35
- return [def];
36
- const names = Object.keys(def);
33
+ export function expandFunctions(definition, comment) {
34
+ if (isCodeBloc(definition))
35
+ return [definition];
36
+ const names = Object.keys(definition);
37
37
  if (names.length === 0)
38
38
  return [];
39
- const result = [`// ${comment}`];
40
- names.forEach(name => {
41
- result.push(`${name} {`, def[name], "}", "");
42
- });
39
+ const result = comment ? [`// ${comment}`] : [];
40
+ for (const name of names) {
41
+ result.push(definition[name], "");
42
+ }
43
43
  return result;
44
44
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaGFkZXIvY29kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQSxNQUFNLFVBQVUsVUFBVSxDQUFDLENBQVU7SUFDakMsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFFdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUE7SUFFbkMsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFBO0lBQ3ZDLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsSUFBaUIsRUFBRSxNQUFNLEdBQUcsRUFBRTtJQUMzRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVE7UUFBRSxPQUFPLEdBQUcsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFBO0lBRXZELElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFFcEIsTUFBTSxTQUFTLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQTtJQUNqQyxPQUFPLElBQUk7U0FDTixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO1NBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUN2RCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsSUFBSSxDQUNoQixHQUEyQixFQUMzQixNQUFjLEVBQ2QsT0FBTyxHQUFHLDBDQUEwQztJQUVwRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzlCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFFakMsT0FBTztRQUNILE1BQU0sT0FBTyxFQUFFO1FBQ2YsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDO0tBQzFELENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLEtBQUssQ0FDakIsR0FBbUMsRUFDbkMsT0FBTyxHQUFHLGdCQUFnQjtJQUUxQixJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFakMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM5QixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUFFLE9BQU8sRUFBRSxDQUFBO0lBRWpDLE1BQU0sTUFBTSxHQUFrQixDQUFDLE1BQU0sT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUMvQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ2hELENBQUMsQ0FBQyxDQUFBO0lBQ0YsT0FBTyxNQUFNLENBQUE7QUFDakIsQ0FBQyJ9
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaGFkZXIvY29kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQSxNQUFNLFVBQVUsVUFBVSxDQUFDLENBQVU7SUFDakMsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFFdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUE7SUFFbkMsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFBO0lBQ3ZDLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsSUFBaUIsRUFBRSxNQUFNLEdBQUcsRUFBRTtJQUMzRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVE7UUFBRSxPQUFPLEdBQUcsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFBO0lBRXZELElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFFcEIsTUFBTSxTQUFTLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQTtJQUNqQyxPQUFPLElBQUk7U0FDTixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO1NBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUN2RCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUczQixVQUFrQyxFQUNsQyxNQUFjLEVBQ2QsT0FBTyxHQUFHLDBDQUEwQztJQUVwRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3JDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFFakMsT0FBTztRQUNILE1BQU0sT0FBTyxFQUFFO1FBQ2YsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDO0tBQ2pFLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FDM0IsVUFBMEMsRUFDMUMsT0FBZ0I7SUFFaEIsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDO1FBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBRS9DLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDckMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7UUFBRSxPQUFPLEVBQUUsQ0FBQTtJQUVqQyxNQUFNLE1BQU0sR0FBa0IsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBQzlELEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFBO0FBQ2pCLENBQUMifQ==
@@ -1,4 +1,4 @@
1
- import { funcs, tgdCodeStringify, vars, } from "./code.js";
1
+ import { expandFunctions, tgdCodeStringify, expandVariables, } from "./code.js";
2
2
  /**
3
3
  * Helper to wirte the code of a fragment Shader.
4
4
  * @see https://registry.khronos.org/OpenGL/specs/es/3.0/GLSL_ES_Specification_3.00.pdf
@@ -19,10 +19,10 @@ export class TgdShaderFragment {
19
19
  return tgdCodeStringify([
20
20
  `#version 300 es`,
21
21
  `precision ${this.precision} float;`,
22
- ...vars(this.uniforms, "uniform"),
23
- ...vars(this.varying, "in"),
24
- ...vars(this.outputs, "out"),
25
- ...funcs(this.functions),
22
+ ...expandVariables(this.uniforms, "uniform"),
23
+ ...expandVariables(this.varying, "in"),
24
+ ...expandVariables(this.outputs, "out"),
25
+ ...expandFunctions(this.functions),
26
26
  "",
27
27
  `void main() {`,
28
28
  this.mainCode,
@@ -30,4 +30,4 @@ export class TgdShaderFragment {
30
30
  ]);
31
31
  }
32
32
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2hhZGVyL2ZyYWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFJSCxLQUFLLEVBQ0wsZ0JBQWdCLEVBQ2hCLElBQUksR0FDUCxNQUFNLFFBQVEsQ0FBQTtBQUVmOzs7R0FHRztBQUNILE1BQU0sT0FBTyxpQkFBaUI7SUFlMUIsWUFBWSxFQUNSLFNBQVMsR0FBRyxTQUFTLEVBQ3JCLFFBQVEsR0FBRyxFQUFFLEVBQ2IsT0FBTyxHQUFHO1FBQ04sU0FBUyxFQUFFLE1BQU07S0FDcEIsRUFDRCxPQUFPLEdBQUcsRUFBRSxFQUNaLFNBQVMsR0FBRyxFQUFFLEVBQ2QsUUFBUSxHQUFHLENBQUMsbUNBQW1DLENBQUMsTUFRL0MsRUFBRTtRQTlCQSxjQUFTLEdBQWlDLFNBQVMsQ0FBQTtRQStCdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUE7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUE7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7SUFDNUIsQ0FBQztJQUVELElBQUksSUFBSTtRQUNKLE9BQU8sZ0JBQWdCLENBQUM7WUFDcEIsaUJBQWlCO1lBQ2pCLGFBQWEsSUFBSSxDQUFDLFNBQVMsU0FBUztZQUNwQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQztZQUNqQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztZQUMzQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQztZQUM1QixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3hCLEVBQUU7WUFDRixlQUFlO1lBQ2YsSUFBSSxDQUFDLFFBQVE7WUFDYixHQUFHO1NBQ04sQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNKIn0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2hhZGVyL2ZyYWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFJSCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLGVBQWUsR0FDbEIsTUFBTSxRQUFRLENBQUE7QUFFZjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBZTFCLFlBQVksRUFDUixTQUFTLEdBQUcsU0FBUyxFQUNyQixRQUFRLEdBQUcsRUFBRSxFQUNiLE9BQU8sR0FBRztRQUNOLFNBQVMsRUFBRSxNQUFNO0tBQ3BCLEVBQ0QsT0FBTyxHQUFHLEVBQUUsRUFDWixTQUFTLEdBQUcsRUFBRSxFQUNkLFFBQVEsR0FBRyxDQUFDLG1DQUFtQyxDQUFDLE1BUS9DLEVBQUU7UUE5QkEsY0FBUyxHQUFpQyxTQUFTLENBQUE7UUErQnRELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO0lBQzVCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLGdCQUFnQixDQUFDO1lBQ3BCLGlCQUFpQjtZQUNqQixhQUFhLElBQUksQ0FBQyxTQUFTLFNBQVM7WUFDcEMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7WUFDNUMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7WUFDdEMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUM7WUFDdkMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNsQyxFQUFFO1lBQ0YsZUFBZTtZQUNmLElBQUksQ0FBQyxRQUFRO1lBQ2IsR0FBRztTQUNOLENBQUMsQ0FBQTtJQUNOLENBQUM7Q0FDSiJ9
@@ -1,4 +1,4 @@
1
- import { funcs, tgdCodeStringify as tgdCodeToString, vars, } from "./code.js";
1
+ import { expandFunctions, tgdCodeStringify as tgdCodeToString, expandVariables, } from "./code.js";
2
2
  /**
3
3
  * Helper to create a Vertex Shader.
4
4
  *
@@ -22,10 +22,10 @@ export class TgdShaderVertex {
22
22
  return tgdCodeToString([
23
23
  `#version 300 es`,
24
24
  `precision ${this.precision} float;`,
25
- ...vars(this.uniforms, "uniform"),
26
- ...vars(this.attributes, "in"),
27
- ...vars(this.varying, "out"),
28
- ...funcs(this.functions),
25
+ ...expandVariables(this.uniforms, "uniform"),
26
+ ...expandVariables(this.attributes, "in"),
27
+ ...expandVariables(this.varying, "out"),
28
+ ...expandFunctions(this.functions),
29
29
  "",
30
30
  `void main() {`,
31
31
  this.mainCode,
@@ -33,4 +33,4 @@ export class TgdShaderVertex {
33
33
  ]);
34
34
  }
35
35
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYWRlci92ZXJ0ZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUlILEtBQUssRUFDTCxnQkFBZ0IsSUFBSSxlQUFlLEVBQ25DLElBQUksR0FDUCxNQUFNLFFBQVEsQ0FBQTtBQUVmOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFReEIsWUFBWSxFQUNSLFNBQVMsR0FBRyxTQUFTLEVBQ3JCLFFBQVEsR0FBRyxFQUFFLEVBQ2IsVUFBVSxHQUFHLEVBQUUsRUFDZixPQUFPLEdBQUcsRUFBRSxFQUNaLFNBQVMsR0FBRyxFQUFFLEVBQ2QsUUFBUSxHQUFHLEVBQUUsTUFRWixFQUFFO1FBckJBLGNBQVMsR0FBaUMsU0FBUyxDQUFBO1FBc0J0RCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQTtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQTtRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQTtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtJQUM1QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxlQUFlLENBQUM7WUFDbkIsaUJBQWlCO1lBQ2pCLGFBQWEsSUFBSSxDQUFDLFNBQVMsU0FBUztZQUNwQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQztZQUNqQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztZQUM5QixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQztZQUM1QixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3hCLEVBQUU7WUFDRixlQUFlO1lBQ2YsSUFBSSxDQUFDLFFBQVE7WUFDYixHQUFHO1NBQ04sQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNKIn0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYWRlci92ZXJ0ZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUlILGVBQWUsRUFDZixnQkFBZ0IsSUFBSSxlQUFlLEVBQ25DLGVBQWUsR0FDbEIsTUFBTSxRQUFRLENBQUE7QUFFZjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBUXhCLFlBQVksRUFDUixTQUFTLEdBQUcsU0FBUyxFQUNyQixRQUFRLEdBQUcsRUFBRSxFQUNiLFVBQVUsR0FBRyxFQUFFLEVBQ2YsT0FBTyxHQUFHLEVBQUUsRUFDWixTQUFTLEdBQUcsRUFBRSxFQUNkLFFBQVEsR0FBRyxFQUFFLE1BUVosRUFBRTtRQXJCQSxjQUFTLEdBQWlDLFNBQVMsQ0FBQTtRQXNCdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUE7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUE7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7SUFDNUIsQ0FBQztJQUVELElBQUksSUFBSTtRQUNKLE9BQU8sZUFBZSxDQUFDO1lBQ25CLGlCQUFpQjtZQUNqQixhQUFhLElBQUksQ0FBQyxTQUFTLFNBQVM7WUFDcEMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7WUFDNUMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7WUFDekMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUM7WUFDdkMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNsQyxFQUFFO1lBQ0YsZUFBZTtZQUNmLElBQUksQ0FBQyxRQUFRO1lBQ2IsR0FBRztTQUNOLENBQUMsQ0FBQTtJQUNOLENBQUM7Q0FDSiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/table/table.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAQ;aAqBG,MAAM,EAAE,WAAW;aACnB,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,MAAM;aACZ,UAAU,EAAE,MAAM;aAClB,eAAe,EAAE,MAAM;WAxB7B,iBAAiB,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM;IAS3B,SAAgB,WAAW,EAAE,MAAM,CAAA;IAEnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;gBAGX,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM;IA4B3C,OAAO,CAAC,MAAM;IAQd,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKrE,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKtD,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKnE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAIvD;AAED,qBAAa,aAAa;aAIF,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,MAAM;aACZ,UAAU,EAAE,MAAM;IALtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;gBAGZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM;IAkBtC,IAAI,MAAM,gBAET;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAI9D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAMjD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAGlD;AAED,qBAAa,eAAe;aAIJ,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,MAAM;aACZ,UAAU,EAAE,MAAM;IALtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;gBAGZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM;IAkBtC,IAAI,MAAM,gBAET;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAI9D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAMjD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAGlD"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/table/table.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAQ;aAqBG,MAAM,EAAE,WAAW;aACnB,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,MAAM;aACZ,UAAU,EAAE,MAAM;aAClB,eAAe,EAAE,MAAM;WAxB7B,iBAAiB,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM;IAS3B,SAAgB,WAAW,EAAE,MAAM,CAAA;IAEnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;gBAGX,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM;IA4B3C,OAAO,CAAC,MAAM;IAQd,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKrE,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKtD,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKnE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAIvD;AAED,qBAAa,aAAa;aAIF,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,MAAM;aACZ,UAAU,EAAE,MAAM;IALtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;gBAGZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM;IAkBtC,IAAI,MAAM,gBAET;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAI9D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAMjD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAGlD;AAED,qBAAa,eAAe;aAIJ,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,MAAM;aACZ,UAAU,EAAE,MAAM;IALtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;gBAGZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM;IAkBtC,IAAI,MAAM,gBAET;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAI9D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAKjD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAGlD"}
@@ -14,7 +14,7 @@ export class TgdTable {
14
14
  this.bytesPerElement = bytesPerElement;
15
15
  const expectedByteLength = TgdTable.computeByteLength(cols, rows, dimensions, bytesPerElement);
16
16
  if (buffer.byteLength < expectedByteLength) {
17
- throw Error(`Your data is ${buffer.byteLength} bytes long.
17
+ throw new Error(`Your data is ${buffer.byteLength} bytes long.
18
18
  But for a ${cols}x${rows} table we need at least ${expectedByteLength} bytes!
19
19
  Please use TgdTable.computeByteLength() to get the correct length (with all needed paddings).`);
20
20
  }
@@ -70,7 +70,9 @@ export class TgdTableUint8 {
70
70
  this.table.setUint8(value, col, row, dimension);
71
71
  }
72
72
  setVec(values, col, row) {
73
- values.forEach((value, dimension) => this.table.setUint8(value, col, row, dimension));
73
+ for (const [dimension, value] of values.entries()) {
74
+ this.table.setUint8(value, col, row, dimension);
75
+ }
74
76
  }
75
77
  get(col, row, dimension) {
76
78
  return this.table.getUint8(col, row, dimension);
@@ -92,10 +94,11 @@ export class TgdTableFloat32 {
92
94
  this.table.setFloat32(value, col, row, dimension);
93
95
  }
94
96
  setVec(values, col, row) {
95
- values.forEach((value, dimension) => this.table.setFloat32(value, col, row, dimension));
97
+ for (const [dimension, value] of values.entries())
98
+ this.table.setFloat32(value, col, row, dimension);
96
99
  }
97
100
  get(col, row, dimension) {
98
101
  return this.table.getFloat32(col, row, dimension);
99
102
  }
100
103
  }
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGFibGUvdGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFFBQVE7SUFDVixNQUFNLENBQUMsaUJBQWlCLENBQzNCLElBQVksRUFDWixJQUFZLEVBQ1osVUFBa0IsRUFDbEIsZUFBdUI7UUFFdkIsSUFBSSxXQUFXLEdBQUcsSUFBSSxHQUFHLFVBQVUsR0FBRyxlQUFlLENBQUE7UUFDckQsT0FBTyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM3QixXQUFXLEVBQUUsQ0FBQTtRQUNqQixDQUFDO1FBQ0QsT0FBTyxJQUFJLEdBQUcsV0FBVyxDQUFBO0lBQzdCLENBQUM7SUFRRCxZQUNvQixNQUFtQixFQUNuQixJQUFZLEVBQ1osSUFBWSxFQUNaLFVBQWtCLEVBQ2xCLGVBQXVCO1FBSnZCLFdBQU0sR0FBTixNQUFNLENBQWE7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUFRO1FBRXZDLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUNqRCxJQUFJLEVBQ0osSUFBSSxFQUNKLFVBQVUsRUFDVixlQUFlLENBQ2xCLENBQUE7UUFFRCxJQUFJLE1BQU0sQ0FBQyxVQUFVLEdBQUcsa0JBQWtCLEVBQUUsQ0FBQztZQUN6QyxNQUFNLEtBQUssQ0FBQyxnQkFBZ0IsTUFBTSxDQUFDLFVBQVU7WUFDN0MsSUFBSSxJQUFJLElBQUksMkJBQTJCLGtCQUFrQjs4RkFDeUIsQ0FBQyxDQUFBO1FBQ3ZGLENBQUM7UUFDRCxNQUFNLGNBQWMsR0FBRyxVQUFVLEdBQUcsZUFBZSxDQUFBO1FBQ25ELElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFBO1FBQ3BDLElBQUksV0FBVyxHQUFHLElBQUksR0FBRyxjQUFjLENBQUE7UUFDdkMsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFBO1FBQ25CLE9BQU8sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDN0IsV0FBVyxFQUFFLENBQUE7WUFDYixXQUFXLEVBQUUsQ0FBQTtRQUNqQixDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUE7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUE7UUFDOUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUE7UUFDdEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBRU8sTUFBTSxDQUFDLEdBQVcsRUFBRSxHQUFXLEVBQUUsU0FBUyxHQUFHLENBQUM7UUFDbEQsTUFBTSxVQUFVLEdBQ1osR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXO1lBQ3RCLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYztZQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQTtRQUNwQyxPQUFPLFVBQVUsQ0FBQTtJQUNyQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWEsRUFBRSxHQUFXLEVBQUUsR0FBVyxFQUFFLFNBQWlCO1FBQ2pFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQTtRQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFXLEVBQUUsR0FBVyxFQUFFLFNBQWlCO1FBQ2xELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQTtRQUNuRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYSxFQUFFLEdBQVcsRUFBRSxHQUFXLEVBQUUsU0FBaUI7UUFDL0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN6QyxDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQVcsRUFBRSxHQUFXLEVBQUUsU0FBaUI7UUFDaEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQ25ELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDekMsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGFBQWE7SUFHdEIsWUFDb0IsSUFBWSxFQUNaLElBQVksRUFDWixVQUFrQjtRQUZsQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGVBQVUsR0FBVixVQUFVLENBQVE7UUFFbEMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUN6QyxJQUFJLEVBQ0osSUFBSSxFQUNKLFVBQVUsRUFDVixVQUFVLENBQUMsaUJBQWlCLENBQy9CLENBQUE7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksUUFBUSxDQUNyQixNQUFNLEVBQ04sSUFBSSxFQUNKLElBQUksRUFDSixVQUFVLEVBQ1YsVUFBVSxDQUFDLGlCQUFpQixDQUMvQixDQUFBO0lBQ0wsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUE7SUFDNUIsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFhLEVBQUUsR0FBVyxFQUFFLEdBQVcsRUFBRSxTQUFpQjtRQUMxRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNuRCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQWdCLEVBQUUsR0FBVyxFQUFFLEdBQVc7UUFDN0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FDbEQsQ0FBQTtJQUNMLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLEdBQVcsRUFBRSxTQUFpQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDbkQsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGVBQWU7SUFHeEIsWUFDb0IsSUFBWSxFQUNaLElBQVksRUFDWixVQUFrQjtRQUZsQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGVBQVUsR0FBVixVQUFVLENBQVE7UUFFbEMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUN6QyxJQUFJLEVBQ0osSUFBSSxFQUNKLFVBQVUsRUFDVixZQUFZLENBQUMsaUJBQWlCLENBQ2pDLENBQUE7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksUUFBUSxDQUNyQixNQUFNLEVBQ04sSUFBSSxFQUNKLElBQUksRUFDSixVQUFVLEVBQ1YsWUFBWSxDQUFDLGlCQUFpQixDQUNqQyxDQUFBO0lBQ0wsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUE7SUFDNUIsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFhLEVBQUUsR0FBVyxFQUFFLEdBQVcsRUFBRSxTQUFpQjtRQUMxRCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQWdCLEVBQUUsR0FBVyxFQUFFLEdBQVc7UUFDN0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FDcEQsQ0FBQTtJQUNMLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLEdBQVcsRUFBRSxTQUFpQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDckQsQ0FBQztDQUNKIn0=
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGFibGUvdGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFFBQVE7SUFDVixNQUFNLENBQUMsaUJBQWlCLENBQzNCLElBQVksRUFDWixJQUFZLEVBQ1osVUFBa0IsRUFDbEIsZUFBdUI7UUFFdkIsSUFBSSxXQUFXLEdBQUcsSUFBSSxHQUFHLFVBQVUsR0FBRyxlQUFlLENBQUE7UUFDckQsT0FBTyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM3QixXQUFXLEVBQUUsQ0FBQTtRQUNqQixDQUFDO1FBQ0QsT0FBTyxJQUFJLEdBQUcsV0FBVyxDQUFBO0lBQzdCLENBQUM7SUFRRCxZQUNvQixNQUFtQixFQUNuQixJQUFZLEVBQ1osSUFBWSxFQUNaLFVBQWtCLEVBQ2xCLGVBQXVCO1FBSnZCLFdBQU0sR0FBTixNQUFNLENBQWE7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUFRO1FBRXZDLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUNqRCxJQUFJLEVBQ0osSUFBSSxFQUNKLFVBQVUsRUFDVixlQUFlLENBQ2xCLENBQUE7UUFFRCxJQUFJLE1BQU0sQ0FBQyxVQUFVLEdBQUcsa0JBQWtCLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixNQUFNLENBQUMsVUFBVTtZQUNqRCxJQUFJLElBQUksSUFBSSwyQkFBMkIsa0JBQWtCOzhGQUN5QixDQUFDLENBQUE7UUFDdkYsQ0FBQztRQUNELE1BQU0sY0FBYyxHQUFHLFVBQVUsR0FBRyxlQUFlLENBQUE7UUFDbkQsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUE7UUFDcEMsSUFBSSxXQUFXLEdBQUcsSUFBSSxHQUFHLGNBQWMsQ0FBQTtRQUN2QyxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUE7UUFDbkIsT0FBTyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM3QixXQUFXLEVBQUUsQ0FBQTtZQUNiLFdBQVcsRUFBRSxDQUFBO1FBQ2pCLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtRQUM5QixJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQTtRQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3BDLENBQUM7SUFFTyxNQUFNLENBQUMsR0FBVyxFQUFFLEdBQVcsRUFBRSxTQUFTLEdBQUcsQ0FBQztRQUNsRCxNQUFNLFVBQVUsR0FDWixHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVc7WUFDdEIsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjO1lBQ3pCLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFBO1FBQ3BDLE9BQU8sVUFBVSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYSxFQUFFLEdBQVcsRUFBRSxHQUFXLEVBQUUsU0FBaUI7UUFDakUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVcsRUFBRSxHQUFXLEVBQUUsU0FBaUI7UUFDbEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQ25ELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhLEVBQUUsR0FBVyxFQUFFLEdBQVcsRUFBRSxTQUFpQjtRQUMvRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUE7UUFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBVyxFQUFFLEdBQVcsRUFBRSxTQUFpQjtRQUNoRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUE7UUFDbkQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUN6QyxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sYUFBYTtJQUd0QixZQUNvQixJQUFZLEVBQ1osSUFBWSxFQUNaLFVBQWtCO1FBRmxCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUVsQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsaUJBQWlCLENBQ3pDLElBQUksRUFDSixJQUFJLEVBQ0osVUFBVSxFQUNWLFVBQVUsQ0FBQyxpQkFBaUIsQ0FDL0IsQ0FBQTtRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQzFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxRQUFRLENBQ3JCLE1BQU0sRUFDTixJQUFJLEVBQ0osSUFBSSxFQUNKLFVBQVUsRUFDVixVQUFVLENBQUMsaUJBQWlCLENBQy9CLENBQUE7SUFDTCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQTtJQUM1QixDQUFDO0lBRUQsR0FBRyxDQUFDLEtBQWEsRUFBRSxHQUFXLEVBQUUsR0FBVyxFQUFFLFNBQWlCO1FBQzFELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFFRCxNQUFNLENBQUMsTUFBZ0IsRUFBRSxHQUFXLEVBQUUsR0FBVztRQUM3QyxLQUFLLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUE7UUFDbkQsQ0FBQztJQUNMLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLEdBQVcsRUFBRSxTQUFpQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDbkQsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGVBQWU7SUFHeEIsWUFDb0IsSUFBWSxFQUNaLElBQVksRUFDWixVQUFrQjtRQUZsQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGVBQVUsR0FBVixVQUFVLENBQVE7UUFFbEMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUN6QyxJQUFJLEVBQ0osSUFBSSxFQUNKLFVBQVUsRUFDVixZQUFZLENBQUMsaUJBQWlCLENBQ2pDLENBQUE7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksUUFBUSxDQUNyQixNQUFNLEVBQ04sSUFBSSxFQUNKLElBQUksRUFDSixVQUFVLEVBQ1YsWUFBWSxDQUFDLGlCQUFpQixDQUNqQyxDQUFBO0lBQ0wsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUE7SUFDNUIsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFhLEVBQUUsR0FBVyxFQUFFLEdBQVcsRUFBRSxTQUFpQjtRQUMxRCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQWdCLEVBQUUsR0FBVyxFQUFFLEdBQVc7UUFDN0MsS0FBSyxNQUFNLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDekQsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXLEVBQUUsR0FBVyxFQUFFLFNBQWlCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0NBQ0oifQ==
@@ -1,3 +1,3 @@
1
1
  export * from "./texture2d";
2
- export * from "./textureCube";
2
+ export * from "./texture-cube";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/texture/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/texture/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA"}
@@ -1,3 +1,3 @@
1
1
  export * from "./texture2d.js";
2
- export * from "./textureCube.js";
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGV4dHVyZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQTtBQUMzQixjQUFjLGVBQWUsQ0FBQSJ9
2
+ export * from "./texture-cube.js";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGV4dHVyZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQTtBQUMzQixjQUFjLGdCQUFnQixDQUFBIn0=
@@ -21,4 +21,4 @@ export declare class TgdTextureCubeImpl {
21
21
  activate(unit: number, program: TgdProgram, uniformName: string): void;
22
22
  private loadImage;
23
23
  }
24
- //# sourceMappingURL=textureCube.d.ts.map
24
+ //# sourceMappingURL=texture-cube.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"texture-cube.d.ts","sourceRoot":"","sources":["../../src/texture/texture-cube.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,qBAAqB,EAAc,MAAM,YAAY,CAAA;AAE9D,qBAAa,kBAAkB;aAQP,OAAO,EAAE;QACrB,EAAE,EAAE,sBAAsB,CAAA;QAC1B,KAAK,EAAE,MAAM,IAAI,CAAA;KACpB;IAVL,SAAgB,OAAO,EAAE,YAAY,CAAA;IAErC,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,oBAAoB,CAAI;gBAGZ,OAAO,EAAE;QACrB,EAAE,EAAE,sBAAsB,CAAA;QAC1B,KAAK,EAAE,MAAM,IAAI,CAAA;KACpB,EACD,OAAO,EAAE,qBAAqB;IAelC,MAAM;IAIN,IAAI,KAAK,YAER;IAED,IAAI,KAAK,WAER;IAED,IAAI,MAAM,WAET;IAED,IAAI;IAKJ,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM;IAU/D,OAAO,CAAC,SAAS;CA+BpB"}
@@ -0,0 +1,69 @@
1
+ export class TgdTextureCubeImpl {
2
+ constructor(context, options) {
3
+ this.context = context;
4
+ this._width = 0;
5
+ this._height = 0;
6
+ this.numberOfImagesToLoad = 6;
7
+ const { gl } = context;
8
+ const texture = gl.createTexture();
9
+ if (!texture)
10
+ throw new Error("Unable to create a WebGLTexture!");
11
+ this.texture = texture;
12
+ this.loadImage(gl.TEXTURE_CUBE_MAP_POSITIVE_X, options.imagePosX);
13
+ this.loadImage(gl.TEXTURE_CUBE_MAP_NEGATIVE_X, options.imageNegX);
14
+ this.loadImage(gl.TEXTURE_CUBE_MAP_POSITIVE_Y, options.imagePosY);
15
+ this.loadImage(gl.TEXTURE_CUBE_MAP_NEGATIVE_Y, options.imageNegY);
16
+ this.loadImage(gl.TEXTURE_CUBE_MAP_POSITIVE_Z, options.imagePosZ);
17
+ this.loadImage(gl.TEXTURE_CUBE_MAP_NEGATIVE_Z, options.imageNegZ);
18
+ }
19
+ delete() {
20
+ this.context.gl.deleteTexture(this.texture);
21
+ }
22
+ get ready() {
23
+ return this.numberOfImagesToLoad === 0;
24
+ }
25
+ get width() {
26
+ return this._width;
27
+ }
28
+ get height() {
29
+ return this._height;
30
+ }
31
+ bind() {
32
+ const { gl } = this.context;
33
+ gl.bindTexture(gl.TEXTURE_CUBE_MAP, this.texture);
34
+ }
35
+ activate(unit, program, uniformName) {
36
+ if (!this.ready)
37
+ return;
38
+ const { context, texture } = this;
39
+ const { gl } = context;
40
+ gl.activeTexture(gl.TEXTURE0 + unit);
41
+ gl.bindTexture(gl.TEXTURE_CUBE_MAP, texture);
42
+ program.uniform1i(uniformName, unit);
43
+ }
44
+ loadImage(target, image) {
45
+ const { width, height } = image;
46
+ if (width !== height) {
47
+ throw new Error(`Images in a CubeMap must be squares, but we got ${width}×${height}!`);
48
+ }
49
+ if (this._width === 0) {
50
+ this._width = width;
51
+ this._height = height;
52
+ }
53
+ else if (this._width !== width || this._height !== height) {
54
+ throw new Error(`Images in a CubeMap must all have the same size, but we got ${this._width}×${this._height} and ${width}×${height}!`);
55
+ }
56
+ const { context, texture } = this;
57
+ const { gl } = context;
58
+ gl.bindTexture(gl.TEXTURE_CUBE_MAP, texture);
59
+ gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, image instanceof Image);
60
+ gl.texImage2D(target, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
61
+ this.numberOfImagesToLoad--;
62
+ if (this.numberOfImagesToLoad === 0) {
63
+ gl.generateMipmap(gl.TEXTURE_CUBE_MAP);
64
+ gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_LINEAR);
65
+ context.paint();
66
+ }
67
+ }
68
+ }
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZS1jdWJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RleHR1cmUvdGV4dHVyZS1jdWJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxrQkFBa0I7SUFPM0IsWUFDb0IsT0FHZixFQUNELE9BQThCO1FBSmQsWUFBTyxHQUFQLE9BQU8sQ0FHdEI7UUFSRyxXQUFNLEdBQUcsQ0FBQyxDQUFBO1FBQ1YsWUFBTyxHQUFHLENBQUMsQ0FBQTtRQUNYLHlCQUFvQixHQUFHLENBQUMsQ0FBQTtRQVM1QixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUNsQyxJQUFJLENBQUMsT0FBTztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQTtRQUVqRSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDakUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsMkJBQTJCLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ2pFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNqRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDakUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsMkJBQTJCLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ2pFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FB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
@@ -1,3 +1,4 @@
1
+ import { TgdEvent } from "../event";
1
2
  import { TgdProgram } from "../program";
2
3
  import { WebglImage, WebglTexParameter } from "../types";
3
4
  import { WebglTextureInternalFormat, WebglTextureParameters } from "../webgl";
@@ -11,6 +12,7 @@ interface TgdTexture2DStorage {
11
12
  export declare class TgdTexture2D {
12
13
  readonly name: string;
13
14
  readonly gl: WebGL2RenderingContext;
15
+ readonly eventChange: TgdEvent<TgdTexture2D>;
14
16
  private readonly _texture;
15
17
  private _width;
16
18
  private _height;
@@ -19,12 +21,13 @@ export declare class TgdTexture2D {
19
21
  constructor(context: {
20
22
  gl: WebGL2RenderingContext;
21
23
  }, storage?: Partial<TgdTexture2DStorage>);
24
+ delete(): void;
22
25
  get width(): number;
23
26
  get height(): number;
24
27
  resize(width: number, height: number): void;
25
28
  get glTexture(): WebGLTexture;
26
29
  bind(): void;
27
- loadBitmap(bmp: WebglImage, options?: {
30
+ loadBitmap(bmp: WebglImage | null | Promise<WebglImage | null>, options?: {
28
31
  level?: number;
29
32
  }): this;
30
33
  loadData(data: Uint8Array | Uint8ClampedArray, options: {
@@ -43,12 +46,12 @@ export declare class TgdTexture2D {
43
46
  */
44
47
  activate(unit: number, program?: TgdProgram, uniformName?: string): this;
45
48
  generateMipmap(): this;
46
- setParams(params: WebglTextureParameters): this;
49
+ setParams(parameters: WebglTextureParameters): this;
47
50
  set textureBaseLevel(value: number);
48
51
  get textureBaseLevel(): number;
49
52
  set textureMaxLevel(value: number);
50
53
  get textureMaxLevel(): number;
51
- getParameter(param: WebglTexParameter): number | boolean | null;
54
+ getParameter(parameter: WebglTexParameter): number | boolean | null;
52
55
  }
53
56
  export {};
54
57
  //# sourceMappingURL=texture2d.d.ts.map