@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
@@ -1,52 +0,0 @@
1
- let counter = 1;
2
- /**
3
- * This class deals with WebGL resources.
4
- *
5
- * It prevents you from creatng multiple times the
6
- * same resource by holding an internal ref counter.
7
- */
8
- export class TgdResource {
9
- constructor() {
10
- this.keys = new Map();
11
- this.objects = new Map();
12
- this.references = new Map();
13
- }
14
- create(input, id) {
15
- var _a, _b;
16
- const key = (_a = id !== null && id !== void 0 ? id : this.makeKeyFromInput(input)) !== null && _a !== void 0 ? _a : `TgdResource:${counter++}`;
17
- const refCount = (_b = this.references.get(key)) !== null && _b !== void 0 ? _b : 0;
18
- if (refCount < 1) {
19
- const object = this.actualCreate(input, key);
20
- this.keys.set(object, key);
21
- this.objects.set(key, object);
22
- this.references.set(key, 1);
23
- return object;
24
- }
25
- const object = this.objects.get(key);
26
- if (!object)
27
- throw Error("[TgdResource.create] Panic!");
28
- this.references.set(key, refCount + 1);
29
- return object;
30
- }
31
- delete(object) {
32
- var _a;
33
- const key = this.keys.get(object);
34
- if (!key)
35
- return;
36
- const refCount = (_a = this.references.get(key)) !== null && _a !== void 0 ? _a : 0;
37
- if (refCount < 1)
38
- return;
39
- if (refCount > 1) {
40
- this.references.set(key, refCount - 1);
41
- return;
42
- }
43
- this.keys.delete(object);
44
- this.objects.delete(key);
45
- this.references.delete(key);
46
- this.actualDelete(object);
47
- }
48
- makeKeyFromInput(_input) {
49
- return null;
50
- }
51
- }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVzb3VyY2UvcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFBO0FBRWY7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQWdCLFdBQVc7SUFBakM7UUFDcUIsU0FBSSxHQUFHLElBQUksR0FBRyxFQUFzQixDQUFBO1FBQ3BDLFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBc0IsQ0FBQTtRQUN2QyxlQUFVLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUE7SUE2QzNELENBQUM7SUEzQ0csTUFBTSxDQUFDLEtBQWdCLEVBQUUsRUFBVzs7UUFDaEMsTUFBTSxHQUFHLEdBQ0wsTUFBQSxFQUFFLGFBQUYsRUFBRSxjQUFGLEVBQUUsR0FBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLG1DQUFJLGVBQWUsT0FBTyxFQUFFLEVBQUUsQ0FBQTtRQUNwRSxNQUFNLFFBQVEsR0FBRyxNQUFBLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQ0FBSSxDQUFDLENBQUE7UUFDOUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUMzQixPQUFPLE1BQU0sQ0FBQTtRQUNqQixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDcEMsSUFBSSxDQUFDLE1BQU07WUFBRSxNQUFNLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO1FBRXZELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDdEMsT0FBTyxNQUFNLENBQUE7SUFDakIsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFrQjs7UUFDckIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDakMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFNO1FBRWhCLE1BQU0sUUFBUSxHQUFHLE1BQUEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1DQUFJLENBQUMsQ0FBQTtRQUM5QyxJQUFJLFFBQVEsR0FBRyxDQUFDO1lBQUUsT0FBTTtRQUV4QixJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUE7WUFDdEMsT0FBTTtRQUNWLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzdCLENBQUM7SUFNUyxnQkFBZ0IsQ0FBQyxNQUFpQjtRQUN4QyxPQUFPLElBQUksQ0FBQTtJQUNmLENBQUM7Q0FDSiJ9
@@ -1,10 +0,0 @@
1
- import { TgdResource } from "./resource";
2
- import { TgdTexture2D, TgdTexture2DOptions, TgdContextInterface } from "../types";
3
- export declare class TgdResourceTexture2D extends TgdResource<Partial<TgdTexture2DOptions>, TgdTexture2D> {
4
- private readonly context;
5
- constructor(context: TgdContextInterface);
6
- getDefaultEmpty(): TgdTexture2D;
7
- protected actualCreate(input: Partial<TgdTexture2DOptions>, id: string): TgdTexture2D;
8
- protected actualDelete(object: TgdTexture2D): void;
9
- }
10
- //# sourceMappingURL=texture2d.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"texture2d.d.ts","sourceRoot":"","sources":["../../src/resource/texture2d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,EACH,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACtB,MAAM,YAAY,CAAA;AAEnB,qBAAa,oBAAqB,SAAQ,WAAW,CACjD,OAAO,CAAC,mBAAmB,CAAC,EAC5B,YAAY,CACf;IACe,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,mBAAmB;IAIzD,eAAe,IAAI,YAAY;IAI/B,SAAS,CAAC,YAAY,CAClB,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,EACnC,EAAE,EAAE,MAAM,GACX,YAAY;IAIf,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;CAGrD"}
@@ -1,19 +0,0 @@
1
- import { TgdResource } from "./resource.js";
2
- import { TgdTexture2DImpl } from "./../texture/index.js";
3
- export class TgdResourceTexture2D extends TgdResource {
4
- constructor(context) {
5
- super();
6
- this.context = context;
7
- }
8
- getDefaultEmpty() {
9
- return this.create({ width: 1, height: 1 }, "@tgd/DefaultTexture2D");
10
- }
11
- actualCreate(input, id) {
12
- return new TgdTexture2DImpl(this.context, id, input);
13
- }
14
- actualDelete(object) {
15
- if (object instanceof TgdTexture2DImpl)
16
- object.delete();
17
- }
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZTJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jlc291cmNlL3RleHR1cmUyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBTy9DLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxXQUd6QztJQUNHLFlBQTZCLE9BQTRCO1FBQ3JELEtBQUssRUFBRSxDQUFBO1FBRGtCLFlBQU8sR0FBUCxPQUFPLENBQXFCO0lBRXpELENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsdUJBQXVCLENBQUMsQ0FBQTtJQUN4RSxDQUFDO0lBRVMsWUFBWSxDQUNsQixLQUFtQyxFQUNuQyxFQUFVO1FBRVYsT0FBTyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3hELENBQUM7SUFFUyxZQUFZLENBQUMsTUFBb0I7UUFDdkMsSUFBSSxNQUFNLFlBQVksZ0JBQWdCO1lBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQzNELENBQUM7Q0FDSiJ9
@@ -1,9 +0,0 @@
1
- import { TgdResource } from "./resource";
2
- import { TgdTextureCube, TgdTextureCubeOptions, TgdContextInterface } from "../types";
3
- export declare class TgdResourceTextureCube extends TgdResource<TgdTextureCubeOptions, TgdTextureCube> {
4
- readonly context: TgdContextInterface;
5
- constructor(context: TgdContextInterface);
6
- protected actualCreate(input: TgdTextureCubeOptions): TgdTextureCube;
7
- protected actualDelete(object: TgdTextureCube): void;
8
- }
9
- //# sourceMappingURL=textureCube.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"textureCube.d.ts","sourceRoot":"","sources":["../../src/resource/textureCube.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,EACH,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACtB,MAAM,YAAY,CAAA;AAEnB,qBAAa,sBAAuB,SAAQ,WAAW,CACnD,qBAAqB,EACrB,cAAc,CACjB;aAC+B,OAAO,EAAE,mBAAmB;gBAA5B,OAAO,EAAE,mBAAmB;IAIxD,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,qBAAqB,GAAG,cAAc;IAIpE,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;CAGvD"}
@@ -1,16 +0,0 @@
1
- import { TgdResource } from "./resource.js";
2
- import { TgdTextureCubeImpl } from "./../texture/index.js";
3
- export class TgdResourceTextureCube extends TgdResource {
4
- constructor(context) {
5
- super();
6
- this.context = context;
7
- }
8
- actualCreate(input) {
9
- return new TgdTextureCubeImpl(this.context, input);
10
- }
11
- actualDelete(object) {
12
- if (object instanceof TgdTextureCubeImpl)
13
- object.delete();
14
- }
15
- }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZUN1YmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVzb3VyY2UvdGV4dHVyZUN1YmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQU9qRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsV0FHM0M7SUFDRyxZQUE0QixPQUE0QjtRQUNwRCxLQUFLLEVBQUUsQ0FBQTtRQURpQixZQUFPLEdBQVAsT0FBTyxDQUFxQjtJQUV4RCxDQUFDO0lBRVMsWUFBWSxDQUFDLEtBQTRCO1FBQy9DLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFUyxZQUFZLENBQUMsTUFBc0I7UUFDekMsSUFBSSxNQUFNLFlBQVksa0JBQWtCO1lBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQzdELENBQUM7Q0FDSiJ9
@@ -1,8 +0,0 @@
1
- import { TgdInterfaceTransformable } from "../interface";
2
- import { TgdMat4 } from "../math";
3
- export declare class TgdSceneNode implements TgdInterfaceTransformable {
4
- private _matrixTransfoGlobal;
5
- get matrixTransfoGlobal(): TgdMat4;
6
- set matrixTransfoGlobal(transfo: TgdMat4);
7
- }
8
- //# sourceMappingURL=scene-node.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scene-node.d.ts","sourceRoot":"","sources":["../../src/scene/scene-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,qBAAa,YAAa,YAAW,yBAAyB;IAC1D,OAAO,CAAC,oBAAoB,CAAyB;IAErD,IAAI,mBAAmB,IAGU,OAAO,CADvC;IACD,IAAI,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAIvC;CACJ"}
@@ -1,13 +0,0 @@
1
- import { TgdMat4 } from "./../math/index.js";
2
- export class TgdSceneNode {
3
- _matrixTransfoGlobal = new TgdMat4();
4
- get matrixTransfoGlobal() {
5
- return this._matrixTransfoGlobal;
6
- }
7
- set matrixTransfoGlobal(transfo) {
8
- if (transfo === this._matrixTransfoGlobal)
9
- return;
10
- this._matrixTransfoGlobal = transfo;
11
- }
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmUtbm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2VuZS9zY2VuZS1ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFbkMsTUFBTSxPQUFPLFlBQVk7SUFDYixvQkFBb0IsR0FBWSxJQUFJLE9BQU8sRUFBRSxDQUFBO0lBRXJELElBQUksbUJBQW1CO1FBQ25CLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFBO0lBQ3BDLENBQUM7SUFDRCxJQUFJLG1CQUFtQixDQUFDLE9BQWdCO1FBQ3BDLElBQUksT0FBTyxLQUFLLElBQUksQ0FBQyxvQkFBb0I7WUFBRSxPQUFNO1FBRWpELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxPQUFPLENBQUE7SUFDdkMsQ0FBQztDQUNKIn0=
@@ -1,43 +0,0 @@
1
- import { TgdEvent } from "../event/event";
2
- import { TgdProgram, TgdTexture2D, TgdTexture2DArrayOptions, TgdContextInterface, WebglImage, WebglTexParameter, WebglPixelStorage2DArrayFormat, WebglType } from "../types";
3
- export declare class TgdTexture2DArray {
4
- readonly context: TgdContextInterface;
5
- readonly id: string;
6
- readonly name: string;
7
- readonly eventImageUpdate: TgdEvent<TgdTexture2D>;
8
- readonly glTexture: WebGLTexture;
9
- private readonly options;
10
- private static counter;
11
- constructor(context: TgdContextInterface, id: string, options: TgdTexture2DArrayOptions);
12
- /**
13
- *
14
- * @param params
15
- * - `dataOffsetX` and `dataOffsetY` are used to define the origin into the `data` image/array.
16
- * @returns
17
- */
18
- setData(params: {
19
- xoffset?: number;
20
- yoffset?: number;
21
- zoffset?: number;
22
- mipmapLevel?: number;
23
- dataOffsetX?: number;
24
- dataOffsetY?: number;
25
- width?: number;
26
- height?: number;
27
- depth?: number;
28
- format?: WebglPixelStorage2DArrayFormat;
29
- type?: WebglType;
30
- data: string | WebglImage;
31
- }): void;
32
- private getWidth;
33
- private getHeight;
34
- getParameter(param: WebglTexParameter): number | boolean | null;
35
- delete(): void;
36
- get width(): number;
37
- get height(): number;
38
- get depth(): number;
39
- bind(): void;
40
- activate(program: TgdProgram, uniformName: string, slot?: number): void;
41
- private updateTexture;
42
- }
43
- //# sourceMappingURL=texture2dArray.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"texture2dArray.d.ts","sourceRoot":"","sources":["../../src/texture/texture2dArray.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C,OAAO,EACH,UAAU,EACV,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,8BAA8B,EAC9B,SAAS,EACZ,MAAM,YAAY,CAAA;AAEnB,qBAAa,iBAAiB;aAUN,OAAO,EAAE,mBAAmB;aAC5B,EAAE,EAAE,MAAM;IAV9B,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,SAAgB,gBAAgB,yBAA+B;IAC/D,SAAgB,SAAS,EAAE,YAAY,CAAA;IAEvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAE5D,OAAO,CAAC,MAAM,CAAC,OAAO,CAAI;gBAGN,OAAO,EAAE,mBAAmB,EAC5B,EAAE,EAAE,MAAM,EAC1B,OAAO,EAAE,wBAAwB;IA+BrC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE;QACZ,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,8BAA8B,CAAA;QACvC,IAAI,CAAC,EAAE,SAAS,CAAA;QAChB,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;KAC5B;IAwDD,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,SAAS;IAMjB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;IAW/D,MAAM;IAIN,IAAI,KAAK,WAER;IAED,IAAI,MAAM,WAET;IAED,IAAI,KAAK,WAER;IAED,IAAI;IAKJ,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,SAAI;IAQ3D,OAAO,CAAC,aAAa;CA6BxB"}
@@ -1,112 +0,0 @@
1
- import { TgdEvent } from "./../event/event.js";
2
- import { tgdLoadImage } from "./../loader/index.js";
3
- export class TgdTexture2DArray {
4
- constructor(context, id, options) {
5
- var _a;
6
- this.context = context;
7
- this.id = id;
8
- this.eventImageUpdate = new TgdEvent();
9
- const { gl } = context;
10
- const name = (_a = options.name) !== null && _a !== void 0 ? _a : `Texture2D/${TgdTexture2DArray.counter++}`;
11
- this.options = Object.assign({ name, mipmapLevels: 1, generateMipMap: false, wrapS: "REPEAT", wrapT: "REPEAT", wrapR: "REPEAT", minFilter: "NEAREST_MIPMAP_LINEAR", magFilter: "LINEAR", internalFormat: "RGBA8" }, options);
12
- this.name = this.options.name;
13
- const texture = gl.createTexture();
14
- if (!texture)
15
- throw Error("Unable to create a WebGLTexture!");
16
- this.glTexture = texture;
17
- gl.bindTexture(gl.TEXTURE_2D, texture);
18
- gl.texStorage3D(gl.TEXTURE_2D_ARRAY, this.options.mipmapLevels, gl[this.options.internalFormat], this.options.width, this.options.height, this.options.depth);
19
- }
20
- /**
21
- *
22
- * @param params
23
- * - `dataOffsetX` and `dataOffsetY` are used to define the origin into the `data` image/array.
24
- * @returns
25
- */
26
- setData(params) {
27
- var _a;
28
- const { data } = params;
29
- if (typeof data === "string") {
30
- tgdLoadImage(data)
31
- .then(img => {
32
- if (img) {
33
- this.setData(Object.assign(Object.assign({}, params), { data: img }));
34
- }
35
- })
36
- .catch(console.error);
37
- return;
38
- }
39
- const { xoffset = 0, yoffset = 0, zoffset = 0, dataOffsetX = 0, dataOffsetY = 0, mipmapLevel = 1, format, type = "UNSIGNED_BYTE", } = params;
40
- const { options } = this;
41
- const { gl } = this.context;
42
- const width = this.getWidth(params.width, data);
43
- const height = this.getHeight(params.height, data);
44
- const depth = (_a = params.width) !== null && _a !== void 0 ? _a : 1;
45
- if (width + xoffset > options.width)
46
- throw Error("Exceeding the width of the texture array!");
47
- if (height + yoffset > options.height)
48
- throw Error("Exceeding the height of the texture array!");
49
- if (depth + zoffset > options.depth)
50
- throw Error("Exceeding the depth of the texture array!");
51
- this.bind();
52
- gl.pixelStorei(gl.UNPACK_SKIP_PIXELS, dataOffsetX);
53
- gl.pixelStorei(gl.UNPACK_SKIP_ROWS, dataOffsetY);
54
- gl.texSubImage3D(gl.TEXTURE_2D_ARRAY, mipmapLevel, xoffset, yoffset, zoffset, width !== null && width !== void 0 ? width : options.width, height !== null && height !== void 0 ? height : options.height, depth !== null && depth !== void 0 ? depth : 1, gl[format !== null && format !== void 0 ? format : "RGBA"], gl[type], data);
55
- gl.generateMipmap(gl.TEXTURE_2D_ARRAY);
56
- }
57
- getWidth(width, data) {
58
- if (typeof width === "number")
59
- return width;
60
- if (typeof data.width === "number")
61
- return data.width;
62
- return this.options.width;
63
- }
64
- getHeight(height, data) {
65
- if (typeof height === "number")
66
- return height;
67
- if (typeof data.height === "number")
68
- return data.height;
69
- return this.options.height;
70
- }
71
- getParameter(param) {
72
- const { context, glTexture: glTexture } = this;
73
- const { gl } = context;
74
- gl.bindTexture(gl.TEXTURE_2D, glTexture);
75
- const value = gl.getTexParameter(gl.TEXTURE_2D, gl[param]);
76
- return value;
77
- }
78
- delete() {
79
- this.context.gl.deleteTexture(this.glTexture);
80
- }
81
- get width() {
82
- return this.options.width;
83
- }
84
- get height() {
85
- return this.options.height;
86
- }
87
- get depth() {
88
- return this.options.depth;
89
- }
90
- bind() {
91
- const { gl } = this.context;
92
- gl.bindTexture(gl.TEXTURE_2D_ARRAY, this.glTexture);
93
- }
94
- activate(program, uniformName, slot = 0) {
95
- const { context } = this;
96
- const { gl } = context;
97
- gl.activeTexture(gl.TEXTURE0 + slot);
98
- this.bind();
99
- program.uniform1i(uniformName, slot);
100
- }
101
- updateTexture() {
102
- const { options, context } = this;
103
- const { gl } = context;
104
- gl.texParameteri(gl.TEXTURE_2D_ARRAY, gl.TEXTURE_MIN_FILTER, gl[options.minFilter]);
105
- gl.texParameteri(gl.TEXTURE_2D_ARRAY, gl.TEXTURE_MAG_FILTER, gl[options.magFilter]);
106
- gl.texParameteri(gl.TEXTURE_2D_ARRAY, gl.TEXTURE_WRAP_S, gl[options.wrapS]);
107
- gl.texParameteri(gl.TEXTURE_2D_ARRAY, gl.TEXTURE_WRAP_T, gl[options.wrapT]);
108
- gl.texParameteri(gl.TEXTURE_2D_ARRAY, gl.TEXTURE_WRAP_R, gl[options.wrapR]);
109
- }
110
- }
111
- TgdTexture2DArray.counter = 0;
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZTJkQXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGV4dHVyZS90ZXh0dXJlMmRBcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQVkxQyxNQUFNLE9BQU8saUJBQWlCO0lBUzFCLFlBQ29CLE9BQTRCLEVBQzVCLEVBQVUsRUFDMUIsT0FBaUM7O1FBRmpCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQzVCLE9BQUUsR0FBRixFQUFFLENBQVE7UUFUZCxxQkFBZ0IsR0FBRyxJQUFJLFFBQVEsRUFBZ0IsQ0FBQTtRQVkzRCxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLE1BQUEsT0FBTyxDQUFDLElBQUksbUNBQUksYUFBYSxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFBO1FBQ3ZFLElBQUksQ0FBQyxPQUFPLG1CQUNSLElBQUksRUFDSixZQUFZLEVBQUUsQ0FBQyxFQUNmLGNBQWMsRUFBRSxLQUFLLEVBQ3JCLEtBQUssRUFBRSxRQUFRLEVBQ2YsS0FBSyxFQUFFLFFBQVEsRUFDZixLQUFLLEVBQUUsUUFBUSxFQUNmLFNBQVMsRUFBRSx1QkFBdUIsRUFDbEMsU0FBUyxFQUFFLFFBQVEsRUFDbkIsY0FBYyxFQUFFLE9BQU8sSUFDcEIsT0FBTyxDQUNiLENBQUE7UUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFBO1FBQzdCLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUNsQyxJQUFJLENBQUMsT0FBTztZQUFFLE1BQU0sS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUE7UUFDN0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFP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
@@ -1 +0,0 @@
1
- {"version":3,"file":"textureCube.d.ts","sourceRoot":"","sources":["../../src/texture/textureCube.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"}
@@ -1,69 +0,0 @@
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 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 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 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZUN1YmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGV4dHVyZS90ZXh0dXJlQ3ViZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sa0JBQWtCO0lBTzNCLFlBQ29CLE9BR2YsRUFDRCxPQUE4QjtRQUpkLFlBQU8sR0FBUCxPQUFPLENBR3RCO1FBUkcsV0FBTSxHQUFHLENBQUMsQ0FBQTtRQUNWLFlBQU8sR0FBRyxDQUFDLENBQUE7UUFDWCx5QkFBb0IsR0FBRyxDQUFDLENBQUE7UUFTNUIsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQTtRQUN0QixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDbEMsSUFBSSxDQUFDLE9BQU87WUFBRSxNQUFNLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBO1FBRTdELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNqRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDakUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsMkJBQTJCLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ2pFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNqRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDakUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsMkJBQTJCLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3JF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
@@ -1,27 +0,0 @@
1
- import { TgdCamera } from "../camera";
2
- import { TgdDataset } from "../dataset";
3
- import { TgdInputs } from "../input";
4
- import { TgdResourceTexture2D, TgdResourceTextureCube, TgdResourceProgram } from "../resource";
5
- import { TgdProgram, TgdTypeArrayForElements } from "./";
6
- import { TgdVertexArray } from "../vao";
7
- import { TgdPainterFunction } from "./painter";
8
- import { TgdAnimation } from "./animation";
9
- export type TgdContextInterface = {
10
- readonly gl: WebGL2RenderingContext;
11
- readonly canvas: HTMLCanvasElement;
12
- readonly inputs: TgdInputs;
13
- readonly programs: TgdResourceProgram;
14
- readonly textures2D: TgdResourceTexture2D;
15
- readonly texturesCube: TgdResourceTextureCube;
16
- readonly time: number;
17
- camera: TgdCamera;
18
- animSchedule(animation: TgdAnimation): TgdAnimation;
19
- animCancel(animation: TgdAnimation): void;
20
- createVAO(program?: TgdProgram, datasets?: TgdDataset[], elements?: TgdTypeArrayForElements): TgdVertexArray;
21
- takeSnapshot(target: HTMLCanvasElement): void;
22
- paint: () => void;
23
- onEnter: TgdPainterFunction | undefined;
24
- onExit: TgdPainterFunction | undefined;
25
- debugHierarchy(): void;
26
- };
27
- //# sourceMappingURL=context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/types/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EACH,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EACrB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,EAAE,EAAE,sBAAsB,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAA;IACrC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAA;IACzC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAA;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,SAAS,CAAA;IACjB,YAAY,CAAC,SAAS,EAAE,YAAY,GAAG,YAAY,CAAA;IACnD,UAAU,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAA;IACzC,SAAS,CACL,OAAO,CAAC,EAAE,UAAU,EACpB,QAAQ,CAAC,EAAE,UAAU,EAAE,EACvB,QAAQ,CAAC,EAAE,uBAAuB,GACnC,cAAc,CAAA;IACjB,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAC7C,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,OAAO,EAAE,kBAAkB,GAAG,SAAS,CAAA;IACvC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAA;IACtC,cAAc,IAAI,IAAI,CAAA;CACzB,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -1,51 +0,0 @@
1
- import { TgdProgram } from "./program";
2
- import { WebglEnumTex2DInternalFormat, WebglImage, WebglMagFilter, WebglMinFilter, WebglPixelStorage2DArrayFormat, WebglPixelStoreFormat, WebglTexParameter, WebglType, WebglWrap } from "./webgl";
3
- export interface TgdTexture2DArrayOptions {
4
- width: number;
5
- height: number;
6
- depth: number;
7
- mipmapLevels?: number;
8
- name?: string;
9
- wrapS?: WebglWrap;
10
- wrapT?: WebglWrap;
11
- wrapR?: WebglWrap;
12
- minFilter?: WebglMinFilter;
13
- magFilter?: WebglMagFilter;
14
- generateMipMap?: boolean;
15
- internalFormat?: WebglPixelStorage2DArrayFormat;
16
- }
17
- export interface TgdTexture2DOptions {
18
- name?: string;
19
- levels?: number;
20
- wrapS?: WebglWrap;
21
- wrapT?: WebglWrap;
22
- wrapR?: WebglWrap;
23
- minFilter?: WebglMinFilter;
24
- magFilter?: WebglMagFilter;
25
- generateMipMap?: boolean;
26
- data?: Uint8Array;
27
- image?: string | WebglImage;
28
- width?: number;
29
- height?: number;
30
- internalFormat?: WebglPixelStoreFormat | "RGB8" | "RGBA8" | "R16F" | "RG16F" | "RGB16F" | "RGBA16F";
31
- format?: WebglPixelStoreFormat;
32
- type?: WebglType;
33
- }
34
- export interface TgdTexture2D {
35
- readonly name: string;
36
- readonly glTexture: WebGLTexture;
37
- readonly id: string;
38
- readonly width: number;
39
- readonly height: number;
40
- readonly image: null | WebglImage;
41
- bind(): void;
42
- copyTexImage2D(level?: number, internalFormat?: WebglEnumTex2DInternalFormat, x?: number, y?: number, width?: number, height?: number, border?: number): void;
43
- activate(program: TgdProgram, uniformName: string, slot?: number): void;
44
- loadImage(image: string | WebglImage): void;
45
- makePalette(colors: string[], columns?: number): void;
46
- fillHorizontalGradient(size: number, ...colors: string[]): void;
47
- fillverticalGradient(size: number, ...colors: string[]): void;
48
- getParameter(param: WebglTexParameter): number | boolean | null;
49
- resize(width: number, height: number): void;
50
- }
51
- //# sourceMappingURL=texture2d.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"texture2d.d.ts","sourceRoot":"","sources":["../../src/types/texture2d.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZTJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3RleHR1cmUyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"textureCube.d.ts","sourceRoot":"","sources":["../../src/types/textureCube.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,MAAM,WAAW,qBAAqB;IAClC;;;;;OAKG;IACH,SAAS,EAAE,UAAU,CAAA;IACrB;;;;;OAKG;IACH,SAAS,EAAE,UAAU,CAAA;IACrB;;;;;OAKG;IACH,SAAS,EAAE,UAAU,CAAA;IACrB;;;;;OAKG;IACH,SAAS,EAAE,UAAU,CAAA;IACrB;;;;;OAKG;IACH,SAAS,EAAE,UAAU,CAAA;IACrB;;;;;OAKG;IACH,SAAS,EAAE,UAAU,CAAA;CACxB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZUN1YmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvdGV4dHVyZUN1YmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1,49 +0,0 @@
1
- import { TgdCodeBloc } from "../shader";
2
- interface TgdUniformBufferObjectItem {
3
- typ: keyof Mapping;
4
- dim?: number;
5
- }
6
- interface Mapping {
7
- sampler2D: number;
8
- sampler2DArray: number;
9
- sampler3D: number;
10
- samplerCube: number;
11
- bool: number;
12
- int: number;
13
- uint: number;
14
- float: number;
15
- double: number;
16
- vec2: number;
17
- bvec2: number;
18
- ivec2: number;
19
- uvec2: number;
20
- dvec2: number;
21
- vec3: number;
22
- bvec3: number;
23
- ivec3: number;
24
- uvec3: number;
25
- dvec3: number;
26
- vec4: number;
27
- bvec4: number;
28
- ivec4: number;
29
- uvec4: number;
30
- dvec4: number;
31
- mat2: number;
32
- mat3: number;
33
- mat4: number;
34
- }
35
- type Values<D extends Record<string, TgdUniformBufferObjectItem>> = {
36
- [key in keyof D]: D[key]["dim"] extends number ? Array<Mapping[D[key]["typ"]]> : Mapping[D[key]["typ"]];
37
- };
38
- export declare class TgdUniformBufferObject<D extends Record<string, TgdUniformBufferObjectItem>> {
39
- private readonly def;
40
- private readonly data;
41
- readonly values: Values<D>;
42
- constructor(def: D);
43
- glsl({ blockName, instanceName, }: {
44
- blockName: string;
45
- instanceName?: string;
46
- }): TgdCodeBloc;
47
- }
48
- export {};
49
- //# sourceMappingURL=uniform-buffer-object.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uniform-buffer-object.d.ts","sourceRoot":"","sources":["../../src/uniform/uniform-buffer-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,UAAU,0BAA0B;IAChC,GAAG,EAAE,MAAM,OAAO,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;CACf;AAED,UAAU,OAAO;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACf;AAED,KAAK,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,IAAI;KAC/D,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,MAAM,GACxC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;CAC/B,CAAA;AAED,qBAAa,sBAAsB,CAC/B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAKxC,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHhC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,SAAgB,MAAM,EAAS,MAAM,CAAC,CAAC,CAAC,CAAA;gBAEX,GAAG,EAAE,CAAC;IAsBnC,IAAI,CAAC,EACD,SAAS,EACT,YAAY,GACf,EAAE;QACC,SAAS,EAAE,MAAM,CAAA;QACjB,YAAY,CAAC,EAAE,MAAM,CAAA;KACxB,GAAG,WAAW;CAMlB"}