@tolokoban/tgd 2.0.0 → 2.0.3

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 (419) hide show
  1. package/lib/dist/buffer/buffer.d.ts +0 -0
  2. package/lib/dist/buffer/buffer.d.ts.map +0 -0
  3. package/lib/dist/buffer/buffer.js +37 -0
  4. package/lib/dist/buffer/index.d.ts +0 -0
  5. package/lib/dist/buffer/index.d.ts.map +0 -0
  6. package/lib/dist/buffer/index.js +2 -0
  7. package/lib/dist/camera/camera-orthographic.d.ts +14 -12
  8. package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
  9. package/lib/dist/camera/camera-orthographic.js +97 -0
  10. package/lib/dist/camera/camera-perspective.d.ts +20 -16
  11. package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
  12. package/lib/dist/camera/camera-perspective.js +94 -0
  13. package/lib/dist/camera/camera.d.ts +95 -18
  14. package/lib/dist/camera/camera.d.ts.map +1 -1
  15. package/lib/dist/camera/camera.js +368 -0
  16. package/lib/dist/camera/index.d.ts +3 -3
  17. package/lib/dist/camera/index.d.ts.map +1 -1
  18. package/lib/dist/camera/index.js +4 -0
  19. package/lib/dist/canvas/gizmo/gizmo.d.ts +42 -0
  20. package/lib/dist/canvas/gizmo/gizmo.d.ts.map +1 -0
  21. package/lib/dist/canvas/gizmo/gizmo.js +183 -0
  22. package/lib/dist/canvas/gizmo/index.d.ts +2 -0
  23. package/lib/dist/canvas/gizmo/index.d.ts.map +1 -0
  24. package/lib/dist/canvas/gizmo/index.js +2 -0
  25. package/lib/dist/canvas/gizmo/painter/shader.frag +17 -0
  26. package/lib/dist/canvas/gizmo/painter/shader.vert +24 -0
  27. package/lib/dist/canvas/gizmo/painter/tips.d.ts +13 -0
  28. package/lib/dist/canvas/gizmo/painter/tips.d.ts.map +1 -0
  29. package/lib/dist/canvas/gizmo/painter/tips.js +96 -0
  30. package/lib/dist/canvas/index.d.ts +3 -0
  31. package/lib/dist/canvas/index.d.ts.map +1 -0
  32. package/lib/dist/canvas/index.js +3 -0
  33. package/lib/dist/canvas/landscape/index.d.ts +2 -0
  34. package/lib/dist/canvas/landscape/index.d.ts.map +1 -0
  35. package/lib/dist/canvas/landscape/index.js +2 -0
  36. package/lib/dist/canvas/landscape/landscape.d.ts +18 -0
  37. package/lib/dist/canvas/landscape/landscape.d.ts.map +1 -0
  38. package/lib/dist/canvas/landscape/landscape.js +40 -0
  39. package/lib/dist/color/color.d.ts +22 -0
  40. package/lib/dist/color/color.d.ts.map +1 -0
  41. package/lib/dist/color/color.js +160 -0
  42. package/lib/dist/color/index.d.ts +2 -0
  43. package/lib/dist/color/index.d.ts.map +1 -0
  44. package/lib/dist/color/index.js +2 -0
  45. package/lib/dist/context/animation/animation-manager.d.ts +8 -0
  46. package/lib/dist/context/animation/animation-manager.d.ts.map +1 -0
  47. package/lib/dist/context/animation/animation-manager.js +41 -0
  48. package/lib/dist/context/context.d.ts +111 -12
  49. package/lib/dist/context/context.d.ts.map +1 -1
  50. package/lib/dist/context/context.js +297 -0
  51. package/lib/dist/context/index.d.ts +0 -0
  52. package/lib/dist/context/index.d.ts.map +0 -0
  53. package/lib/dist/context/index.js +2 -0
  54. package/lib/dist/controller/camera/index.d.ts +0 -0
  55. package/lib/dist/controller/camera/index.d.ts.map +0 -0
  56. package/lib/dist/controller/camera/index.js +2 -0
  57. package/lib/dist/controller/camera/orbit.d.ts +88 -8
  58. package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
  59. package/lib/dist/controller/camera/orbit.js +186 -0
  60. package/lib/dist/controller/index.d.ts +0 -0
  61. package/lib/dist/controller/index.d.ts.map +0 -0
  62. package/lib/dist/controller/index.js +2 -0
  63. package/lib/dist/dataset/dataset.d.ts +80 -11
  64. package/lib/dist/dataset/dataset.d.ts.map +1 -1
  65. package/lib/dist/dataset/dataset.js +217 -0
  66. package/lib/dist/dataset/index.d.ts +0 -0
  67. package/lib/dist/dataset/index.d.ts.map +0 -0
  68. package/lib/dist/dataset/index.js +2 -0
  69. package/lib/dist/debug.d.ts +0 -0
  70. package/lib/dist/debug.d.ts.map +0 -0
  71. package/lib/dist/debug.js +13 -0
  72. package/lib/dist/event/event.d.ts +0 -0
  73. package/lib/dist/event/event.d.ts.map +0 -0
  74. package/lib/dist/event/event.js +13 -0
  75. package/lib/dist/event/index.d.ts +2 -0
  76. package/lib/dist/event/index.d.ts.map +1 -0
  77. package/lib/dist/event/index.js +2 -0
  78. package/lib/dist/filter/blur.d.ts +10 -0
  79. package/lib/dist/filter/blur.d.ts.map +1 -0
  80. package/lib/dist/filter/blur.js +42 -0
  81. package/lib/dist/filter/filter.d.ts +39 -0
  82. package/lib/dist/filter/filter.d.ts.map +1 -0
  83. package/lib/dist/filter/filter.js +43 -0
  84. package/lib/dist/filter/hue-rotation.d.ts +12 -0
  85. package/lib/dist/filter/hue-rotation.d.ts.map +1 -0
  86. package/lib/dist/filter/hue-rotation.js +41 -0
  87. package/lib/dist/filter/index.d.ts +4 -0
  88. package/lib/dist/filter/index.d.ts.map +1 -0
  89. package/lib/dist/filter/index.js +4 -0
  90. package/lib/dist/geometry/box.d.ts +10 -0
  91. package/lib/dist/geometry/box.d.ts.map +1 -0
  92. package/lib/dist/geometry/box.js +136 -0
  93. package/lib/dist/geometry/geometry.d.ts +47 -0
  94. package/lib/dist/geometry/geometry.d.ts.map +1 -0
  95. package/lib/dist/geometry/geometry.js +190 -0
  96. package/lib/dist/geometry/index.d.ts +3 -0
  97. package/lib/dist/geometry/index.d.ts.map +1 -0
  98. package/lib/dist/geometry/index.js +3 -0
  99. package/lib/dist/index.d.ts +9 -0
  100. package/lib/dist/index.d.ts.map +1 -1
  101. package/lib/dist/index.js +21 -1
  102. package/lib/dist/input/index.d.ts +2 -0
  103. package/lib/dist/input/index.d.ts.map +1 -1
  104. package/lib/dist/input/index.js +4 -0
  105. package/lib/dist/input/inputs.d.ts +11 -0
  106. package/lib/dist/input/inputs.d.ts.map +1 -0
  107. package/lib/dist/input/inputs.js +23 -0
  108. package/lib/dist/input/keyboard.d.ts +6 -2
  109. package/lib/dist/input/keyboard.d.ts.map +1 -1
  110. package/lib/dist/input/keyboard.js +46 -0
  111. package/lib/dist/input/pointer.d.ts +24 -40
  112. package/lib/dist/input/pointer.d.ts.map +1 -1
  113. package/lib/dist/input/pointer.js +138 -0
  114. package/lib/dist/light/index.d.ts +2 -0
  115. package/lib/dist/light/index.d.ts.map +1 -0
  116. package/lib/dist/light/index.js +2 -0
  117. package/lib/dist/light/light.d.ts +16 -0
  118. package/lib/dist/light/light.d.ts.map +1 -0
  119. package/lib/dist/light/light.js +19 -0
  120. package/lib/dist/loader/image.d.ts +4 -0
  121. package/lib/dist/loader/image.d.ts.map +1 -1
  122. package/lib/dist/loader/image.js +31 -0
  123. package/lib/dist/loader/index.d.ts +0 -0
  124. package/lib/dist/loader/index.d.ts.map +0 -0
  125. package/lib/dist/loader/index.js +2 -0
  126. package/lib/dist/material/diffuse.d.ts +28 -0
  127. package/lib/dist/material/diffuse.d.ts.map +1 -0
  128. package/lib/dist/material/diffuse.js +68 -0
  129. package/lib/dist/material/ghost.d.ts +19 -0
  130. package/lib/dist/material/ghost.d.ts.map +1 -0
  131. package/lib/dist/material/ghost.js +25 -0
  132. package/lib/dist/material/index.d.ts +5 -0
  133. package/lib/dist/material/index.d.ts.map +1 -0
  134. package/lib/dist/material/index.js +5 -0
  135. package/lib/dist/material/material.d.ts +29 -0
  136. package/lib/dist/material/material.d.ts.map +1 -0
  137. package/lib/dist/material/material.js +14 -0
  138. package/lib/dist/material/normals.d.ts +13 -0
  139. package/lib/dist/material/normals.d.ts.map +1 -0
  140. package/lib/dist/material/normals.js +20 -0
  141. package/lib/dist/math/index.d.ts +3 -0
  142. package/lib/dist/math/index.d.ts.map +1 -1
  143. package/lib/dist/math/index.js +8 -0
  144. package/lib/dist/math/mat3.d.ts +8 -0
  145. package/lib/dist/math/mat3.d.ts.map +1 -1
  146. package/lib/dist/math/mat3.js +154 -0
  147. package/lib/dist/math/mat4.d.ts +111 -2
  148. package/lib/dist/math/mat4.d.ts.map +1 -1
  149. package/lib/dist/math/mat4.js +402 -0
  150. package/lib/dist/math/mat4.test.d.ts +0 -0
  151. package/lib/dist/math/mat4.test.d.ts.map +0 -0
  152. package/lib/dist/math/mat4.test.js +57 -0
  153. package/lib/dist/math/quat.d.ts +1 -0
  154. package/lib/dist/math/quat.d.ts.map +1 -1
  155. package/lib/dist/math/quat.js +184 -0
  156. package/lib/dist/math/quat.test.d.ts +0 -0
  157. package/lib/dist/math/quat.test.d.ts.map +0 -0
  158. package/lib/dist/math/quat.test.js +45 -0
  159. package/lib/dist/math/transfo.d.ts +27 -0
  160. package/lib/dist/math/transfo.d.ts.map +1 -0
  161. package/lib/dist/math/transfo.js +86 -0
  162. package/lib/dist/math/vec2.d.ts +34 -0
  163. package/lib/dist/math/vec2.d.ts.map +1 -0
  164. package/lib/dist/math/vec2.js +119 -0
  165. package/lib/dist/math/vec3.d.ts +26 -12
  166. package/lib/dist/math/vec3.d.ts.map +1 -1
  167. package/lib/dist/math/vec3.js +187 -0
  168. package/lib/dist/math/vec3.test.d.ts +2 -0
  169. package/lib/dist/math/vec3.test.d.ts.map +1 -0
  170. package/lib/dist/math/vec3.test.js +22 -0
  171. package/lib/dist/math/vec4.d.ts +8 -4
  172. package/lib/dist/math/vec4.d.ts.map +1 -1
  173. package/lib/dist/math/vec4.js +152 -0
  174. package/lib/dist/math/vec4.test.d.ts +0 -0
  175. package/lib/dist/math/vec4.test.d.ts.map +0 -0
  176. package/lib/dist/math/vec4.test.js +15 -0
  177. package/lib/dist/painter/axis/axis.d.ts +26 -0
  178. package/lib/dist/painter/axis/axis.d.ts.map +1 -0
  179. package/lib/dist/painter/axis/axis.frag +11 -0
  180. package/lib/dist/painter/axis/axis.js +84 -0
  181. package/lib/dist/painter/axis/axis.vert +21 -0
  182. package/lib/dist/painter/axis/index.d.ts +2 -0
  183. package/lib/dist/painter/axis/index.d.ts.map +1 -0
  184. package/lib/dist/painter/axis/index.js +2 -0
  185. package/lib/dist/painter/background/background.d.ts +11 -8
  186. package/lib/dist/painter/background/background.d.ts.map +1 -1
  187. package/lib/dist/painter/background/background.frag +11 -0
  188. package/lib/dist/painter/background/background.js +63 -0
  189. package/lib/dist/painter/background/background.vert +16 -0
  190. package/lib/dist/painter/background/index.d.ts +0 -0
  191. package/lib/dist/painter/background/index.d.ts.map +0 -0
  192. package/lib/dist/painter/background/index.js +2 -0
  193. package/lib/dist/painter/clear.d.ts +15 -10
  194. package/lib/dist/painter/clear.d.ts.map +1 -1
  195. package/lib/dist/painter/clear.js +51 -0
  196. package/lib/dist/painter/depth.d.ts +22 -0
  197. package/lib/dist/painter/depth.d.ts.map +1 -0
  198. package/lib/dist/painter/depth.js +34 -0
  199. package/lib/dist/painter/filter/filter.d.ts +23 -0
  200. package/lib/dist/painter/filter/filter.d.ts.map +1 -0
  201. package/lib/dist/painter/filter/filter.frag +15 -0
  202. package/lib/dist/painter/filter/filter.js +76 -0
  203. package/lib/dist/painter/filter/filter.vert +11 -0
  204. package/lib/dist/painter/filter/index.d.ts +2 -0
  205. package/lib/dist/painter/filter/index.d.ts.map +1 -0
  206. package/lib/dist/painter/filter/index.js +2 -0
  207. package/lib/dist/painter/framebuffer.d.ts +38 -0
  208. package/lib/dist/painter/framebuffer.d.ts.map +1 -0
  209. package/lib/dist/painter/framebuffer.js +102 -0
  210. package/lib/dist/painter/group.d.ts +16 -4
  211. package/lib/dist/painter/group.d.ts.map +1 -1
  212. package/lib/dist/painter/group.js +59 -0
  213. package/lib/dist/painter/index.d.ts +10 -5
  214. package/lib/dist/painter/index.d.ts.map +1 -1
  215. package/lib/dist/painter/index.js +12 -0
  216. package/lib/dist/painter/logic.d.ts +4 -2
  217. package/lib/dist/painter/logic.d.ts.map +1 -1
  218. package/lib/dist/painter/logic.js +16 -0
  219. package/lib/dist/painter/mesh/gltf/gltf.d.ts +14 -0
  220. package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -0
  221. package/lib/dist/painter/mesh/gltf/gltf.js +93 -0
  222. package/lib/dist/painter/mesh/gltf/index.d.ts +2 -0
  223. package/lib/dist/painter/mesh/gltf/index.d.ts.map +1 -0
  224. package/lib/dist/painter/mesh/gltf/index.js +2 -0
  225. package/lib/dist/painter/mesh/index.d.ts +4 -0
  226. package/lib/dist/painter/mesh/index.d.ts.map +1 -0
  227. package/lib/dist/painter/mesh/index.js +4 -0
  228. package/lib/dist/painter/mesh/mesh/index.d.ts +2 -0
  229. package/lib/dist/painter/mesh/mesh/index.d.ts.map +1 -0
  230. package/lib/dist/painter/mesh/mesh/index.js +2 -0
  231. package/lib/dist/painter/mesh/mesh/mesh.d.ts +32 -0
  232. package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -0
  233. package/lib/dist/painter/mesh/mesh/mesh.js +128 -0
  234. package/lib/dist/painter/mesh/normals/index.d.ts +2 -0
  235. package/lib/dist/painter/mesh/normals/index.d.ts.map +1 -0
  236. package/lib/dist/painter/mesh/normals/index.js +2 -0
  237. package/lib/dist/painter/mesh/normals/normals.d.ts +18 -0
  238. package/lib/dist/painter/mesh/normals/normals.d.ts.map +1 -0
  239. package/lib/dist/painter/mesh/normals/normals.js +53 -0
  240. package/lib/dist/painter/mesh/normals/shader.frag +14 -0
  241. package/lib/dist/painter/mesh/normals/shader.vert +18 -0
  242. package/lib/dist/painter/node.d.ts +26 -0
  243. package/lib/dist/painter/node.d.ts.map +1 -0
  244. package/lib/dist/painter/node.js +67 -0
  245. package/lib/dist/painter/painter.d.ts +1 -1
  246. package/lib/dist/painter/painter.d.ts.map +1 -1
  247. package/lib/dist/painter/painter.js +4 -0
  248. package/lib/dist/painter/segments/index.d.ts +2 -0
  249. package/lib/dist/painter/segments/index.d.ts.map +1 -0
  250. package/lib/dist/painter/segments/index.js +2 -0
  251. package/lib/dist/painter/segments/segments.d.ts +85 -0
  252. package/lib/dist/painter/segments/segments.d.ts.map +1 -0
  253. package/lib/dist/painter/segments/segments.frag +12 -0
  254. package/lib/dist/painter/segments/segments.js +196 -0
  255. package/lib/dist/painter/segments/segments.vert +114 -0
  256. package/lib/dist/painter/skybox/index.d.ts +0 -0
  257. package/lib/dist/painter/skybox/index.d.ts.map +0 -0
  258. package/lib/dist/painter/skybox/index.js +2 -0
  259. package/lib/dist/painter/skybox/skybox.d.ts +11 -17
  260. package/lib/dist/painter/skybox/skybox.d.ts.map +1 -1
  261. package/lib/dist/painter/skybox/skybox.frag +15 -0
  262. package/lib/dist/painter/skybox/skybox.js +59 -0
  263. package/lib/dist/painter/skybox/skybox.vert +10 -0
  264. package/lib/dist/parser/for-each-line.d.ts +3 -0
  265. package/lib/dist/parser/for-each-line.d.ts.map +1 -1
  266. package/lib/dist/parser/for-each-line.js +17 -0
  267. package/lib/dist/parser/gltf/gltf.d.ts +34 -0
  268. package/lib/dist/parser/gltf/gltf.d.ts.map +1 -0
  269. package/lib/dist/parser/gltf/gltf.js +164 -0
  270. package/lib/dist/parser/gltf/index.d.ts +2 -0
  271. package/lib/dist/parser/gltf/index.d.ts.map +1 -0
  272. package/lib/dist/parser/gltf/index.js +2 -0
  273. package/lib/dist/parser/gltf/parser.d.ts +9 -0
  274. package/lib/dist/parser/gltf/parser.d.ts.map +1 -0
  275. package/lib/dist/parser/gltf/parser.js +53 -0
  276. package/lib/dist/parser/index.d.ts +1 -0
  277. package/lib/dist/parser/index.d.ts.map +1 -1
  278. package/lib/dist/parser/index.js +3 -0
  279. package/lib/dist/parser/mesh/wavefront.d.ts +70 -12
  280. package/lib/dist/parser/mesh/wavefront.d.ts.map +1 -1
  281. package/lib/dist/parser/mesh/wavefront.js +246 -0
  282. package/lib/dist/program/index.d.ts +0 -0
  283. package/lib/dist/program/index.d.ts.map +0 -0
  284. package/lib/dist/program/index.js +2 -0
  285. package/lib/dist/program/program.d.ts +17 -2
  286. package/lib/dist/program/program.d.ts.map +1 -1
  287. package/lib/dist/program/program.js +220 -0
  288. package/lib/dist/ref-map.d.ts +15 -0
  289. package/lib/dist/ref-map.d.ts.map +1 -1
  290. package/lib/dist/ref-map.js +48 -0
  291. package/lib/dist/resource/index.d.ts +0 -0
  292. package/lib/dist/resource/index.d.ts.map +0 -0
  293. package/lib/dist/resource/index.js +5 -0
  294. package/lib/dist/resource/program.d.ts +2 -2
  295. package/lib/dist/resource/program.d.ts.map +1 -1
  296. package/lib/dist/resource/program.js +20 -0
  297. package/lib/dist/resource/resource.d.ts +10 -4
  298. package/lib/dist/resource/resource.d.ts.map +1 -1
  299. package/lib/dist/resource/resource.js +48 -0
  300. package/lib/dist/resource/texture2d.d.ts +8 -9
  301. package/lib/dist/resource/texture2d.d.ts.map +1 -1
  302. package/lib/dist/resource/texture2d.js +20 -0
  303. package/lib/dist/resource/textureCube.d.ts +7 -9
  304. package/lib/dist/resource/textureCube.d.ts.map +1 -1
  305. package/lib/dist/resource/textureCube.js +17 -0
  306. package/lib/dist/shader/code.d.ts +12 -0
  307. package/lib/dist/shader/code.d.ts.map +1 -0
  308. package/lib/dist/shader/code.js +32 -0
  309. package/lib/dist/shader/fragment.d.ts +23 -0
  310. package/lib/dist/shader/fragment.d.ts.map +1 -0
  311. package/lib/dist/shader/fragment.js +37 -0
  312. package/lib/dist/shader/vertex.d.ts +23 -0
  313. package/lib/dist/shader/vertex.d.ts.map +1 -0
  314. package/lib/dist/shader/vertex.js +35 -0
  315. package/lib/dist/texture/index.d.ts +0 -0
  316. package/lib/dist/texture/index.d.ts.map +0 -0
  317. package/lib/dist/texture/index.js +3 -0
  318. package/lib/dist/texture/texture2d.d.ts +14 -9
  319. package/lib/dist/texture/texture2d.d.ts.map +1 -1
  320. package/lib/dist/texture/texture2d.js +132 -0
  321. package/lib/dist/texture/textureCube.d.ts +4 -5
  322. package/lib/dist/texture/textureCube.d.ts.map +1 -1
  323. package/lib/dist/texture/textureCube.js +87 -0
  324. package/lib/dist/types/animation.d.ts +20 -0
  325. package/lib/dist/types/animation.d.ts.map +1 -0
  326. package/lib/dist/types/animation.js +2 -0
  327. package/lib/dist/types/arrays.d.ts +33 -0
  328. package/lib/dist/types/arrays.d.ts.map +1 -0
  329. package/lib/dist/types/arrays.js +2 -0
  330. package/lib/dist/types/context.d.ts +25 -0
  331. package/lib/dist/types/context.d.ts.map +1 -0
  332. package/lib/dist/types/context.js +2 -0
  333. package/lib/dist/types/gltf.d.ts +200 -0
  334. package/lib/dist/types/gltf.d.ts.map +1 -0
  335. package/lib/dist/types/gltf.js +117 -0
  336. package/lib/dist/types/guards.d.ts +25 -0
  337. package/lib/dist/types/guards.d.ts.map +1 -0
  338. package/lib/dist/types/guards.js +218 -0
  339. package/lib/dist/types/index.d.ts +5 -0
  340. package/lib/dist/types/index.d.ts.map +1 -1
  341. package/lib/dist/types/index.js +10 -0
  342. package/lib/dist/types/input-keyboard.d.ts +8 -0
  343. package/lib/dist/types/input-keyboard.d.ts.map +1 -0
  344. package/lib/dist/types/input-keyboard.js +2 -0
  345. package/lib/dist/types/input-pointer.d.ts +42 -0
  346. package/lib/dist/types/input-pointer.d.ts.map +1 -0
  347. package/lib/dist/types/input-pointer.js +2 -0
  348. package/lib/dist/types/mesh.d.ts +10 -0
  349. package/lib/dist/types/mesh.d.ts.map +1 -0
  350. package/lib/dist/types/mesh.js +2 -0
  351. package/lib/dist/types/painter.d.ts +2 -0
  352. package/lib/dist/types/painter.d.ts.map +1 -0
  353. package/lib/dist/types/painter.js +2 -0
  354. package/lib/dist/types/program.d.ts +15 -0
  355. package/lib/dist/types/program.d.ts.map +1 -1
  356. package/lib/dist/types/program.js +2 -0
  357. package/lib/dist/types/texture2d.d.ts +20 -8
  358. package/lib/dist/types/texture2d.d.ts.map +1 -1
  359. package/lib/dist/types/texture2d.js +2 -0
  360. package/lib/dist/types/textureCube.d.ts +42 -3
  361. package/lib/dist/types/textureCube.d.ts.map +1 -1
  362. package/lib/dist/types/textureCube.js +2 -0
  363. package/lib/dist/types/webgl.d.ts +28 -0
  364. package/lib/dist/types/webgl.d.ts.map +1 -1
  365. package/lib/dist/types/webgl.js +2 -0
  366. package/lib/dist/utils/action/camera.d.ts +13 -0
  367. package/lib/dist/utils/action/camera.d.ts.map +1 -0
  368. package/lib/dist/utils/action/camera.js +30 -0
  369. package/lib/dist/utils/action/index.d.ts +2 -0
  370. package/lib/dist/utils/action/index.d.ts.map +1 -0
  371. package/lib/dist/utils/action/index.js +2 -0
  372. package/lib/dist/utils/canvas.d.ts +13 -0
  373. package/lib/dist/utils/canvas.d.ts.map +1 -0
  374. package/lib/dist/utils/canvas.js +23 -0
  375. package/lib/dist/utils/ease-func/ease-func.d.ts +32 -0
  376. package/lib/dist/utils/ease-func/ease-func.d.ts.map +1 -0
  377. package/lib/dist/utils/ease-func/ease-func.js +142 -0
  378. package/lib/dist/utils/ease-func/index.d.ts +2 -0
  379. package/lib/dist/utils/ease-func/index.d.ts.map +1 -0
  380. package/lib/dist/utils/ease-func/index.js +2 -0
  381. package/lib/dist/utils/fetch/fetch.d.ts +2 -0
  382. package/lib/dist/utils/fetch/fetch.d.ts.map +1 -0
  383. package/lib/dist/utils/fetch/fetch.js +5 -0
  384. package/lib/dist/utils/fetch/index.d.ts +2 -0
  385. package/lib/dist/utils/fetch/index.d.ts.map +1 -0
  386. package/lib/dist/utils/fetch/index.js +2 -0
  387. package/lib/dist/utils/fullscreen.d.ts +21 -0
  388. package/lib/dist/utils/fullscreen.d.ts.map +1 -0
  389. package/lib/dist/utils/fullscreen.js +64 -0
  390. package/lib/dist/utils/index.d.ts +6 -0
  391. package/lib/dist/utils/index.d.ts.map +1 -0
  392. package/lib/dist/utils/index.js +6 -0
  393. package/lib/dist/utils/math.d.ts +3 -0
  394. package/lib/dist/utils/math.d.ts.map +1 -0
  395. package/lib/dist/utils/math.js +11 -0
  396. package/lib/dist/utils/ref-map.d.ts +22 -0
  397. package/lib/dist/utils/ref-map.d.ts.map +1 -0
  398. package/lib/dist/utils/ref-map.js +48 -0
  399. package/lib/dist/vao/index.d.ts +0 -0
  400. package/lib/dist/vao/index.d.ts.map +0 -0
  401. package/lib/dist/vao/index.js +2 -0
  402. package/lib/dist/vao/vao.d.ts +7 -3
  403. package/lib/dist/vao/vao.d.ts.map +1 -1
  404. package/lib/dist/vao/vao.js +67 -0
  405. package/package.json +6 -5
  406. package/lib/dist/mesh/mesh.d.ts +0 -11
  407. package/lib/dist/mesh/mesh.d.ts.map +0 -1
  408. package/lib/dist/painter/isometric/isometric.frag.d.ts +0 -3
  409. package/lib/dist/painter/isometric/isometric.frag.d.ts.map +0 -1
  410. package/lib/dist/painter/isometric/isometric.vert.d.ts +0 -3
  411. package/lib/dist/painter/isometric/isometric.vert.d.ts.map +0 -1
  412. package/lib/dist/painter/primitive/primitive.frag.d.ts +0 -3
  413. package/lib/dist/painter/primitive/primitive.frag.d.ts.map +0 -1
  414. package/lib/dist/painter/primitive/primitive.vert.d.ts +0 -3
  415. package/lib/dist/painter/primitive/primitive.vert.d.ts.map +0 -1
  416. package/lib/dist/painter/sprites/sprites-painter.frag.d.ts +0 -3
  417. package/lib/dist/painter/sprites/sprites-painter.frag.d.ts.map +0 -1
  418. package/lib/dist/painter/sprites/sprites-painter.vert.d.ts +0 -3
  419. package/lib/dist/painter/sprites/sprites-painter.vert.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/resource/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGxC,qBAAa,kBAAmB,SAAQ,WAAW,CAC/C,iBAAiB,EACjB,UAAU,EACV,MAAM,CACT;aAC+B,EAAE,EAAE,sBAAsB;gBAA1B,EAAE,EAAE,sBAAsB;IAItD,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,UAAU;IAI5D,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAIjD,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM;CAG/D"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/resource/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGxC,qBAAa,kBAAmB,SAAQ,WAAW,CAC/C,iBAAiB,EACjB,UAAU,CACb;aAC+B,EAAE,EAAE,sBAAsB;gBAA1B,EAAE,EAAE,sBAAsB;IAItD,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,UAAU;IAI5D,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAIjD,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM;CAG/D"}
@@ -0,0 +1,20 @@
1
+ import { TgdResource } from "./resource.js";
2
+ import { TgdProgramImpl } from "./../program/index.js";
3
+ export class TgdResourceProgram extends TgdResource {
4
+ gl;
5
+ constructor(gl) {
6
+ super();
7
+ this.gl = gl;
8
+ }
9
+ actualCreate(input) {
10
+ return new TgdProgramImpl(this.gl, input);
11
+ }
12
+ actualDelete(program) {
13
+ if (program instanceof TgdProgramImpl)
14
+ program.delete();
15
+ }
16
+ makeKeyFromInput(input) {
17
+ return JSON.stringify(input);
18
+ }
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXNvdXJjZS9wcm9ncmFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUU3QyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsV0FHdkM7SUFDK0I7SUFBNUIsWUFBNEIsRUFBMEI7UUFDbEQsS0FBSyxFQUFFLENBQUE7UUFEaUIsT0FBRSxHQUFGLEVBQUUsQ0FBd0I7SUFFdEQsQ0FBQztJQUVTLFlBQVksQ0FBQyxLQUF3QjtRQUMzQyxPQUFPLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDN0MsQ0FBQztJQUVTLFlBQVksQ0FBQyxPQUFtQjtRQUN0QyxJQUFJLE9BQU8sWUFBWSxjQUFjO1lBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQzNELENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxLQUF3QjtRQUMvQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEMsQ0FBQztDQUNKIn0=
@@ -1,11 +1,17 @@
1
- export declare abstract class TgdResource<InputType, OutputType, KeyType = InputType> {
1
+ /**
2
+ * This class deals with WebGL resources.
3
+ *
4
+ * It prevents you from creatng multiple times the
5
+ * same resource by holding an internal ref counter.
6
+ */
7
+ export declare abstract class TgdResource<InputType, OutputType> {
2
8
  private readonly keys;
3
9
  private readonly objects;
4
10
  private readonly references;
5
- create(input: InputType): OutputType;
11
+ create(input: InputType, id?: string): OutputType;
6
12
  delete(object: OutputType): void;
7
- protected abstract actualCreate(input: InputType): OutputType;
13
+ protected abstract actualCreate(input: InputType, id: string): OutputType;
8
14
  protected abstract actualDelete(object: OutputType): void;
9
- protected abstract makeKeyFromInput(input: InputType): KeyType;
15
+ protected makeKeyFromInput(_input: InputType): string | null;
10
16
  }
11
17
  //# sourceMappingURL=resource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/resource/resource.ts"],"names":[],"mappings":"AAMA,8BAAsB,WAAW,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,GAAG,SAAS;IACxE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiC;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IACzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IAExD,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU;IAiBpC,MAAM,CAAC,MAAM,EAAE,UAAU;IAkBzB,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU;IAE7D,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAEzD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;CACjE"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/resource/resource.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,8BAAsB,WAAW,CAAC,SAAS,EAAE,UAAU;IACnD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgC;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IAEvD,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU;IAkBjD,MAAM,CAAC,MAAM,EAAE,UAAU;IAkBzB,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU;IAEzE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAEzD,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI;CAG/D"}
@@ -0,0 +1,48 @@
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
+ keys = new Map();
10
+ objects = new Map();
11
+ references = new Map();
12
+ create(input, id) {
13
+ const key = id ?? this.makeKeyFromInput(input) ?? `TgdResource:${counter++}`;
14
+ const refCount = this.references.get(key) ?? 0;
15
+ if (refCount < 1) {
16
+ const object = this.actualCreate(input, key);
17
+ this.keys.set(object, key);
18
+ this.objects.set(key, object);
19
+ this.references.set(key, 1);
20
+ return object;
21
+ }
22
+ const object = this.objects.get(key);
23
+ if (!object)
24
+ throw Error("[TgdResource.create] Panic!");
25
+ this.references.set(key, refCount + 1);
26
+ return object;
27
+ }
28
+ delete(object) {
29
+ const key = this.keys.get(object);
30
+ if (!key)
31
+ return;
32
+ const refCount = this.references.get(key) ?? 0;
33
+ if (refCount < 1)
34
+ return;
35
+ if (refCount > 1) {
36
+ this.references.set(key, refCount - 1);
37
+ return;
38
+ }
39
+ this.keys.delete(object);
40
+ this.objects.delete(key);
41
+ this.references.delete(key);
42
+ this.actualDelete(object);
43
+ }
44
+ makeKeyFromInput(_input) {
45
+ return null;
46
+ }
47
+ }
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVzb3VyY2UvcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFBO0FBRWY7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQWdCLFdBQVc7SUFDWixJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQXNCLENBQUE7SUFDcEMsT0FBTyxHQUFHLElBQUksR0FBRyxFQUFzQixDQUFBO0lBQ3ZDLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQTtJQUV2RCxNQUFNLENBQUMsS0FBZ0IsRUFBRSxFQUFXO1FBQ2hDLE1BQU0sR0FBRyxHQUNMLEVBQUUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksZUFBZSxPQUFPLEVBQUUsRUFBRSxDQUFBO1FBQ3BFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM5QyxJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNmLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1lBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUE7WUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQzNCLE9BQU8sTUFBTSxDQUFBO1FBQ2pCLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNwQyxJQUFJLENBQUMsTUFBTTtZQUFFLE1BQU0sS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUE7UUFFdkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUN0QyxPQUFPLE1BQU0sQ0FBQTtJQUNqQixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQWtCO1FBQ3JCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2pDLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTTtRQUVoQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDOUMsSUFBSSxRQUFRLEdBQUcsQ0FBQztZQUFFLE9BQU07UUFFeEIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFBO1lBQ3RDLE9BQU07UUFDVixDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM3QixDQUFDO0lBTVMsZ0JBQWdCLENBQUMsTUFBaUI7UUFDeEMsT0FBTyxJQUFJLENBQUE7SUFDZixDQUFDO0NBQ0oifQ==
@@ -1,11 +1,10 @@
1
- import { TgdResource } from "@/resource/resource";
2
- import { TdgTexture2D, TdgTexture2DOptions } from "@/types";
3
- export declare class TdgResourceTexture2D extends TgdResource<TdgTexture2DOptions, TdgTexture2D> {
4
- private readonly gl;
5
- private readonly refresh;
6
- constructor(gl: WebGL2RenderingContext, refresh: () => void);
7
- protected actualCreate(input: TdgTexture2DOptions): TdgTexture2D;
8
- protected actualDelete(object: TdgTexture2D): void;
9
- protected makeKeyFromInput(input: TdgTexture2DOptions): TdgTexture2DOptions;
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;
10
9
  }
11
10
  //# sourceMappingURL=texture2d.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"texture2d.d.ts","sourceRoot":"","sources":["../../src/resource/texture2d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE3D,qBAAa,oBAAqB,SAAQ,WAAW,CACjD,mBAAmB,EACnB,YAAY,CACf;IAEO,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,EAAE,EAAE,sBAAsB,EAC1B,OAAO,EAAE,MAAM,IAAI;IAKxC,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY;IAIhE,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAIlD,SAAS,CAAC,gBAAgB,CACtB,KAAK,EAAE,mBAAmB,GAC3B,mBAAmB;CAGzB"}
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"}
@@ -0,0 +1,20 @@
1
+ import { TgdResource } from "./resource.js";
2
+ import { TgdTexture2DImpl } from "./../texture/index.js";
3
+ export class TgdResourceTexture2D extends TgdResource {
4
+ context;
5
+ constructor(context) {
6
+ super();
7
+ this.context = context;
8
+ }
9
+ getDefaultEmpty() {
10
+ return this.create({ width: 1, height: 1 }, "@tgd/DefaultTexture2D");
11
+ }
12
+ actualCreate(input, id) {
13
+ return new TgdTexture2DImpl(this.context, id, input);
14
+ }
15
+ actualDelete(object) {
16
+ if (object instanceof TgdTexture2DImpl)
17
+ object.delete();
18
+ }
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZTJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jlc291cmNlL3RleHR1cmUyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBTy9DLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxXQUd6QztJQUNnQztJQUE3QixZQUE2QixPQUE0QjtRQUNyRCxLQUFLLEVBQUUsQ0FBQTtRQURrQixZQUFPLEdBQVAsT0FBTyxDQUFxQjtJQUV6RCxDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLHVCQUF1QixDQUFDLENBQUE7SUFDeEUsQ0FBQztJQUVTLFlBQVksQ0FDbEIsS0FBbUMsRUFDbkMsRUFBVTtRQUVWLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN4RCxDQUFDO0lBRVMsWUFBWSxDQUFDLE1BQW9CO1FBQ3ZDLElBQUksTUFBTSxZQUFZLGdCQUFnQjtZQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUMzRCxDQUFDO0NBQ0oifQ==
@@ -1,11 +1,9 @@
1
- import { TgdResource } from "@/resource/resource";
2
- import { TdgTextureCube, TdgTextureCubeOptions } from "@/types";
3
- export declare class TdgResourceTextureCube extends TgdResource<TdgTextureCubeOptions, TdgTextureCube> {
4
- private readonly gl;
5
- private readonly refresh;
6
- constructor(gl: WebGL2RenderingContext, refresh: () => void);
7
- protected actualCreate(input: TdgTextureCubeOptions): TdgTextureCube;
8
- protected actualDelete(object: TdgTextureCube): void;
9
- protected makeKeyFromInput(input: TdgTextureCubeOptions): TdgTextureCubeOptions;
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;
10
8
  }
11
9
  //# sourceMappingURL=textureCube.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"textureCube.d.ts","sourceRoot":"","sources":["../../src/resource/textureCube.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE/D,qBAAa,sBAAuB,SAAQ,WAAW,CACnD,qBAAqB,EACrB,cAAc,CACjB;IAEO,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,EAAE,EAAE,sBAAsB,EAC1B,OAAO,EAAE,MAAM,IAAI;IAKxC,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,qBAAqB,GAAG,cAAc;IAIpE,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAIpD,SAAS,CAAC,gBAAgB,CACtB,KAAK,EAAE,qBAAqB,GAC7B,qBAAqB;CAG3B"}
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"}
@@ -0,0 +1,17 @@
1
+ import { TgdResource } from "./resource.js";
2
+ import { TgdTextureCubeImpl } from "./../texture/index.js";
3
+ export class TgdResourceTextureCube extends TgdResource {
4
+ context;
5
+ constructor(context) {
6
+ super();
7
+ this.context = context;
8
+ }
9
+ actualCreate(input) {
10
+ return new TgdTextureCubeImpl(this.context, input);
11
+ }
12
+ actualDelete(object) {
13
+ if (object instanceof TgdTextureCubeImpl)
14
+ object.delete();
15
+ }
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZUN1YmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVzb3VyY2UvdGV4dHVyZUN1YmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQU9qRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsV0FHM0M7SUFDK0I7SUFBNUIsWUFBNEIsT0FBNEI7UUFDcEQsS0FBSyxFQUFFLENBQUE7UUFEaUIsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7SUFFeEQsQ0FBQztJQUVTLFlBQVksQ0FBQyxLQUE0QjtRQUMvQyxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN0RCxDQUFDO0lBRVMsWUFBWSxDQUFDLE1BQXNCO1FBQ3pDLElBQUksTUFBTSxZQUFZLGtCQUFrQjtZQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUM3RCxDQUFDO0NBQ0oifQ==
@@ -0,0 +1,12 @@
1
+ import { WebglAttributeType, WebglUniformType } from "..";
2
+ export interface Variables<Type extends WebglAttributeType | WebglUniformType> {
3
+ [name: string]: Type;
4
+ }
5
+ export interface Functions {
6
+ [name: string]: CodeBloc;
7
+ }
8
+ export type CodeBloc = string | null | CodeBloc[];
9
+ export declare function stringifyCode(code: CodeBloc, indent?: string): string;
10
+ export declare function vars<Type extends WebglAttributeType | WebglUniformType>(def: Variables<Type>, prefix: string, comment?: string): CodeBloc[];
11
+ export declare function funcs(def: Functions, comment?: string): CodeBloc[];
12
+ //# sourceMappingURL=code.d.ts.map
@@ -0,0 +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,SAAS,CAAC,IAAI,SAAS,kBAAkB,GAAG,gBAAgB;IACzE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAED,MAAM,WAAW,SAAS;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;CAC3B;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,EAAE,CAAA;AAEjD,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAK,GAAG,MAAM,CAWjE;AAED,wBAAgB,IAAI,CAAC,IAAI,SAAS,kBAAkB,GAAG,gBAAgB,EACnE,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,SAA6C,GACrD,QAAQ,EAAE,CAQZ;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,SAAmB,GAAG,QAAQ,EAAE,CAS5E"}
@@ -0,0 +1,32 @@
1
+ export function stringifyCode(code, indent = "") {
2
+ if (typeof code === "string")
3
+ return `${indent}${code}`;
4
+ if (!code)
5
+ return "";
6
+ const subIndent = `${indent} `;
7
+ return code
8
+ .filter(item => item !== null)
9
+ .filter(item => !Array.isArray(item) || item.length > 0)
10
+ .map(line => stringifyCode(line, subIndent))
11
+ .join("\n");
12
+ }
13
+ export function vars(def, prefix, comment = "----------------------------------------") {
14
+ const names = Object.keys(def);
15
+ if (names.length === 0)
16
+ return [];
17
+ return [
18
+ `// ${comment}`,
19
+ ...names.map(name => `${prefix} ${def[name]} ${name};`),
20
+ ];
21
+ }
22
+ export function funcs(def, comment = "Util functions") {
23
+ const names = Object.keys(def);
24
+ if (names.length === 0)
25
+ return [];
26
+ const result = [`// ${comment}`];
27
+ names.forEach(name => {
28
+ result.push(`${name} {`, def[name], "}", "");
29
+ });
30
+ return result;
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaGFkZXIvY29kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZQSxNQUFNLFVBQVUsYUFBYSxDQUFDLElBQWMsRUFBRSxNQUFNLEdBQUcsRUFBRTtJQUNyRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVE7UUFBRSxPQUFPLEdBQUcsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFBO0lBRXZELElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFFcEIsTUFBTSxTQUFTLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQTtJQUNqQyxPQUFPLElBQUk7U0FDTixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO1NBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUN2RCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUNuQixDQUFDO0FBRUQsTUFBTSxVQUFVLElBQUksQ0FDaEIsR0FBb0IsRUFDcEIsTUFBYyxFQUNkLE9BQU8sR0FBRywwQ0FBMEM7SUFFcEQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM5QixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUFFLE9BQU8sRUFBRSxDQUFBO0lBRWpDLE9BQU87UUFDSCxNQUFNLE9BQU8sRUFBRTtRQUNmLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQztLQUMxRCxDQUFBO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLLENBQUMsR0FBYyxFQUFFLE9BQU8sR0FBRyxnQkFBZ0I7SUFDNUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM5QixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUFFLE9BQU8sRUFBRSxDQUFBO0lBRWpDLE1BQU0sTUFBTSxHQUFlLENBQUMsTUFBTSxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBQzVDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDaEQsQ0FBQyxDQUFDLENBQUE7SUFDRixPQUFPLE1BQU0sQ0FBQTtBQUNqQixDQUFDIn0=
@@ -0,0 +1,23 @@
1
+ import { WebglAttributeType, WebglUniformType } from "..";
2
+ import { CodeBloc, Functions, Variables } from "./code";
3
+ /**
4
+ * @see https://registry.khronos.org/OpenGL/specs/es/3.0/GLSL_ES_Specification_3.00.pdf
5
+ */
6
+ export declare class TgdShaderFragment {
7
+ precision: "lowp" | "mediump" | "highp";
8
+ uniforms: Variables<WebglUniformType>;
9
+ varying: Variables<WebglAttributeType>;
10
+ outputs: Variables<WebglAttributeType>;
11
+ functions: Functions;
12
+ mainCode: CodeBloc;
13
+ constructor({ precision, uniforms, outputs, varying, functions, mainCode, }?: Partial<{
14
+ precision: "lowp" | "mediump" | "highp";
15
+ uniforms: Variables<WebglUniformType>;
16
+ outputs: Variables<WebglAttributeType>;
17
+ varying: Variables<WebglAttributeType>;
18
+ functions: Functions;
19
+ mainCode: CodeBloc;
20
+ }>);
21
+ get code(): string;
22
+ }
23
+ //# sourceMappingURL=fragment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fragment.d.ts","sourceRoot":"","sources":["../../src/shader/fragment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;AACzD,OAAO,EACH,QAAQ,EACR,SAAS,EACT,SAAS,EAIZ,MAAM,QAAQ,CAAA;AAEf;;GAEG;AACH,qBAAa,iBAAiB;IACnB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAY;IACnD,QAAQ,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAA;IACrC,OAAO,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAA;IACtC,OAAO,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAA;IACtC,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;gBAEb,EACR,SAAqB,EACrB,QAAa,EACb,OAEC,EACD,OAAY,EACZ,SAAc,EACd,QAAgD,GACnD,GAAE,OAAO,CAAC;QACP,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;QACvC,QAAQ,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAA;QACrC,OAAO,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAA;QACtC,OAAO,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAA;QACtC,SAAS,EAAE,SAAS,CAAA;QACpB,QAAQ,EAAE,QAAQ,CAAA;KACrB,CAAM;IASP,IAAI,IAAI,WAaP;CACJ"}
@@ -0,0 +1,37 @@
1
+ import { funcs, stringifyCode, vars, } from "./code.js";
2
+ /**
3
+ * @see https://registry.khronos.org/OpenGL/specs/es/3.0/GLSL_ES_Specification_3.00.pdf
4
+ */
5
+ export class TgdShaderFragment {
6
+ precision = "mediump";
7
+ uniforms;
8
+ varying;
9
+ outputs;
10
+ functions;
11
+ mainCode;
12
+ constructor({ precision = "mediump", uniforms = {}, outputs = {
13
+ FragColor: "vec4",
14
+ }, varying = {}, functions = {}, mainCode = ["FragColor = vec4(1, 0.667, 0, 1);"], } = {}) {
15
+ this.precision = precision;
16
+ this.uniforms = uniforms;
17
+ this.outputs = outputs;
18
+ this.varying = varying;
19
+ this.functions = functions;
20
+ this.mainCode = mainCode;
21
+ }
22
+ get code() {
23
+ return stringifyCode([
24
+ `#version 300 es`,
25
+ `precision ${this.precision} float;`,
26
+ ...vars(this.uniforms, "uniform"),
27
+ ...vars(this.varying, "in"),
28
+ ...vars(this.outputs, "out"),
29
+ ...funcs(this.functions),
30
+ "",
31
+ `void main() {`,
32
+ this.mainCode,
33
+ "}",
34
+ ]);
35
+ }
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2hhZGVyL2ZyYWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFJSCxLQUFLLEVBQ0wsYUFBYSxFQUNiLElBQUksR0FDUCxNQUFNLFFBQVEsQ0FBQTtBQUVmOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUNuQixTQUFTLEdBQWlDLFNBQVMsQ0FBQTtJQUNuRCxRQUFRLENBQTZCO0lBQ3JDLE9BQU8sQ0FBK0I7SUFDdEMsT0FBTyxDQUErQjtJQUN0QyxTQUFTLENBQVc7SUFDcEIsUUFBUSxDQUFVO0lBRXpCLFlBQVksRUFDUixTQUFTLEdBQUcsU0FBUyxFQUNyQixRQUFRLEdBQUcsRUFBRSxFQUNiLE9BQU8sR0FBRztRQUNOLFNBQVMsRUFBRSxNQUFNO0tBQ3BCLEVBQ0QsT0FBTyxHQUFHLEVBQUUsRUFDWixTQUFTLEdBQUcsRUFBRSxFQUNkLFFBQVEsR0FBRyxDQUFDLG1DQUFtQyxDQUFDLE1BUS9DLEVBQUU7UUFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQTtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQTtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtJQUM1QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxhQUFhLENBQUM7WUFDakIsaUJBQWlCO1lBQ2pCLGFBQWEsSUFBSSxDQUFDLFNBQVMsU0FBUztZQUNwQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQztZQUNqQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztZQUMzQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQztZQUM1QixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3hCLEVBQUU7WUFDRixlQUFlO1lBQ2YsSUFBSSxDQUFDLFFBQVE7WUFDYixHQUFHO1NBQ04sQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNKIn0=
@@ -0,0 +1,23 @@
1
+ import { WebglAttributeType, WebglUniformType } from "..";
2
+ import { CodeBloc, Functions, Variables } from "./code";
3
+ /**
4
+ * @see https://registry.khronos.org/OpenGL/specs/es/3.0/GLSL_ES_Specification_3.00.pdf
5
+ */
6
+ export declare class TgdShaderVertex {
7
+ precision: "lowp" | "mediump" | "highp";
8
+ uniforms: Variables<WebglUniformType>;
9
+ attributes: Variables<WebglAttributeType>;
10
+ varying: Variables<WebglAttributeType>;
11
+ functions: Functions;
12
+ mainCode: CodeBloc;
13
+ constructor({ precision, uniforms, attributes, varying, functions, mainCode, }?: Partial<{
14
+ precision: "lowp" | "mediump" | "highp";
15
+ uniforms: Variables<WebglUniformType>;
16
+ attributes: Variables<WebglAttributeType>;
17
+ varying: Variables<WebglAttributeType>;
18
+ functions: Functions;
19
+ mainCode: CodeBloc;
20
+ }>);
21
+ get code(): string;
22
+ }
23
+ //# sourceMappingURL=vertex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vertex.d.ts","sourceRoot":"","sources":["../../src/shader/vertex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;AACzD,OAAO,EACH,QAAQ,EACR,SAAS,EACT,SAAS,EAIZ,MAAM,QAAQ,CAAA;AAEf;;GAEG;AACH,qBAAa,eAAe;IACjB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAY;IACnD,QAAQ,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAA;IACrC,UAAU,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAA;IACzC,OAAO,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAA;IACtC,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;gBAEb,EACR,SAAqB,EACrB,QAAa,EACb,UAAe,EACf,OAAY,EACZ,SAAc,EACd,QAAa,GAChB,GAAE,OAAO,CAAC;QACP,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;QACvC,QAAQ,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAA;QACrC,UAAU,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAA;QACzC,OAAO,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAA;QACtC,SAAS,EAAE,SAAS,CAAA;QACpB,QAAQ,EAAE,QAAQ,CAAA;KACrB,CAAM;IASP,IAAI,IAAI,WAaP;CACJ"}
@@ -0,0 +1,35 @@
1
+ import { funcs, stringifyCode, vars, } from "./code.js";
2
+ /**
3
+ * @see https://registry.khronos.org/OpenGL/specs/es/3.0/GLSL_ES_Specification_3.00.pdf
4
+ */
5
+ export class TgdShaderVertex {
6
+ precision = "mediump";
7
+ uniforms;
8
+ attributes;
9
+ varying;
10
+ functions;
11
+ mainCode;
12
+ constructor({ precision = "mediump", uniforms = {}, attributes = {}, varying = {}, functions = {}, mainCode = [], } = {}) {
13
+ this.precision = precision;
14
+ this.uniforms = uniforms;
15
+ this.attributes = attributes;
16
+ this.varying = varying;
17
+ this.functions = functions;
18
+ this.mainCode = mainCode;
19
+ }
20
+ get code() {
21
+ return stringifyCode([
22
+ `#version 300 es`,
23
+ `precision ${this.precision} float;`,
24
+ ...vars(this.uniforms, "uniform"),
25
+ ...vars(this.attributes, "in"),
26
+ ...vars(this.varying, "out"),
27
+ ...funcs(this.functions),
28
+ "",
29
+ `void main() {`,
30
+ this.mainCode,
31
+ "}",
32
+ ]);
33
+ }
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYWRlci92ZXJ0ZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUlILEtBQUssRUFDTCxhQUFhLEVBQ2IsSUFBSSxHQUNQLE1BQU0sUUFBUSxDQUFBO0FBRWY7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQUNqQixTQUFTLEdBQWlDLFNBQVMsQ0FBQTtJQUNuRCxRQUFRLENBQTZCO0lBQ3JDLFVBQVUsQ0FBK0I7SUFDekMsT0FBTyxDQUErQjtJQUN0QyxTQUFTLENBQVc7SUFDcEIsUUFBUSxDQUFVO0lBRXpCLFlBQVksRUFDUixTQUFTLEdBQUcsU0FBUyxFQUNyQixRQUFRLEdBQUcsRUFBRSxFQUNiLFVBQVUsR0FBRyxFQUFFLEVBQ2YsT0FBTyxHQUFHLEVBQUUsRUFDWixTQUFTLEdBQUcsRUFBRSxFQUNkLFFBQVEsR0FBRyxFQUFFLE1BUVosRUFBRTtRQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFBO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO0lBQzVCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLGFBQWEsQ0FBQztZQUNqQixpQkFBaUI7WUFDakIsYUFBYSxJQUFJLENBQUMsU0FBUyxTQUFTO1lBQ3BDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDO1lBQ2pDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO1lBQzlCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDO1lBQzVCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDeEIsRUFBRTtZQUNGLGVBQWU7WUFDZixJQUFJLENBQUMsUUFBUTtZQUNiLEdBQUc7U0FDTixDQUFDLENBQUE7SUFDTixDQUFDO0NBQ0oifQ==
File without changes
File without changes
@@ -0,0 +1,3 @@
1
+ export * from "./texture2d.js";
2
+ export * from "./textureCube.js";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGV4dHVyZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQTtBQUMzQixjQUFjLGVBQWUsQ0FBQSJ9
@@ -1,17 +1,22 @@
1
- import { TgdEvent } from "@/event/event";
2
- import { TgdProgram, TdgTexture2D, TdgTexture2DOptions } from "@/types";
3
- export declare class TdgTexture2DImpl implements TdgTexture2D {
4
- readonly gl: WebGL2RenderingContext;
5
- private readonly refresh;
6
- readonly texture: WebGLTexture;
7
- readonly eventImageUpdate: TgdEvent<TdgTexture2D>;
1
+ import { TgdEvent } from "../event/event";
2
+ import { TgdProgram, TgdTexture2D, TgdTexture2DOptions, TgdContextInterface, WebglImage, WebglTexParameter } from "../types";
3
+ export declare class TgdTexture2DImpl implements TgdTexture2D {
4
+ readonly context: TgdContextInterface;
5
+ readonly id: string;
6
+ readonly glTexture: WebGLTexture;
7
+ readonly eventImageUpdate: TgdEvent<TgdTexture2D>;
8
8
  private readonly options;
9
9
  private _width;
10
10
  private _height;
11
11
  private _image;
12
- constructor(gl: WebGL2RenderingContext, refresh: () => void, options?: Partial<TdgTexture2DOptions>);
12
+ constructor(context: TgdContextInterface, id: string, options?: Partial<TgdTexture2DOptions>);
13
+ getParameter(param: WebglTexParameter): number | boolean | null;
14
+ makePalette(colors: string[], colums?: number): void;
15
+ fillHorizontalGradient(size: number, ...colors: string[]): void;
16
+ fillverticalGradient(size: number, ...colors: string[]): void;
17
+ private fillGradient;
13
18
  delete(): void;
14
- get image(): HTMLCanvasElement | ImageData | HTMLImageElement | HTMLVideoElement | ImageBitmap | null;
19
+ get image(): WebglImage | null;
15
20
  get width(): number;
16
21
  get height(): number;
17
22
  bind(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"texture2d.d.ts","sourceRoot":"","sources":["../../src/texture/texture2d.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAIvE,qBAAa,gBAAiB,YAAW,YAAY;aAgB7B,EAAE,EAAE,sBAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAhB5B,SAAgB,OAAO,EAAE,YAAY,CAAA;IACrC,SAAgB,gBAAgB,yBAA+B;IAE/D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,MAAM,CAMU;gBAGJ,EAAE,EAAE,sBAAsB,EACzB,OAAO,EAAE,MAAM,IAAI,EACpC,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAM;IAqC9C,MAAM;IAIN,IAAI,KAAK,6FAER;IAED,IAAI,KAAK,WAER;IAED,IAAI,MAAM,WAET;IAED,IAAI;IAKJ,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,SAAI;IAO3D,SAAS,CACL,KAAK,EACC,MAAM,GACN,SAAS,GACT,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,WAAW;CAoCxB"}
1
+ {"version":3,"file":"texture2d.d.ts","sourceRoot":"","sources":["../../src/texture/texture2d.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EACH,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACpB,MAAM,YAAY,CAAA;AAGnB,qBAAa,gBAAiB,YAAW,YAAY;aAU7B,OAAO,EAAE,mBAAmB;aAC5B,EAAE,EAAE,MAAM;IAV9B,SAAgB,SAAS,EAAE,YAAY,CAAA;IACvC,SAAgB,gBAAgB,yBAA+B;IAE/D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,MAAM,CAA0B;gBAGpB,OAAO,EAAE,mBAAmB,EAC5B,EAAE,EAAE,MAAM,EAC1B,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAM;IAoD9C,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;IAW/D,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,SAAI;IAcxC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAI/D,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAI7D,OAAO,CAAC,YAAY;IAwBpB,MAAM;IAIN,IAAI,KAAK,sBAER;IAED,IAAI,KAAK,WAER;IAED,IAAI,MAAM,WAET;IAED,IAAI;IAKJ,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,SAAI;IAQ3D,SAAS,CACL,KAAK,EACC,MAAM,GACN,SAAS,GACT,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,WAAW;CAoCxB"}
@@ -0,0 +1,132 @@
1
+ import { TgdLoaderImage } from "./../loader/index.js";
2
+ import { TgdEvent } from "./../event/event.js";
3
+ import { tgdCanvasCreateWithContext2D } from "./../utils/index.js";
4
+ export class TgdTexture2DImpl {
5
+ context;
6
+ id;
7
+ glTexture;
8
+ eventImageUpdate = new TgdEvent();
9
+ options;
10
+ _width = 0;
11
+ _height = 0;
12
+ _image = null;
13
+ constructor(context, id, options = {}) {
14
+ this.context = context;
15
+ this.id = id;
16
+ const { gl } = context;
17
+ this.options = {
18
+ wrapS: "REPEAT",
19
+ wrapT: "REPEAT",
20
+ wrapR: "REPEAT",
21
+ minFilter: "NEAREST_MIPMAP_LINEAR",
22
+ magFilter: "LINEAR",
23
+ width: 1,
24
+ height: 1,
25
+ internalFormat: "RGBA",
26
+ ...options,
27
+ };
28
+ const texture = gl.createTexture();
29
+ if (!texture)
30
+ throw Error("Unable to create a WebGLTexture!");
31
+ this.glTexture = texture;
32
+ const { wrapS = "CLAMP_TO_EDGE", wrapT = "CLAMP_TO_EDGE", wrapR = "CLAMP_TO_EDGE", minFilter = "LINEAR", magFilter = "LINEAR", generateMipMap = false, width = 1, height = 1, internalFormat = "RGBA", data, } = this.options;
33
+ const format = this.options.format ?? internalFormat;
34
+ gl.bindTexture(gl.TEXTURE_2D, texture);
35
+ gl.texImage2D(gl.TEXTURE_2D, 0, gl[internalFormat], width, height, 0, gl[format], gl.UNSIGNED_BYTE, data ?? null);
36
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl[wrapS]);
37
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl[wrapT]);
38
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_R, gl[wrapR]);
39
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl[minFilter]);
40
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl[magFilter]);
41
+ if (options.image)
42
+ this.loadImage(options.image);
43
+ else if (generateMipMap)
44
+ gl.generateMipmap(gl.TEXTURE_2D);
45
+ }
46
+ getParameter(param) {
47
+ const { context, glTexture } = this;
48
+ const { gl } = context;
49
+ gl.bindTexture(gl.TEXTURE_2D, glTexture);
50
+ const value = gl.getTexParameter(gl.TEXTURE_2D, gl[param]);
51
+ return value;
52
+ }
53
+ makePalette(colors, colums = 0) {
54
+ const width = colums > 0 ? colums : colors.length;
55
+ const height = Math.ceil(colors.length / width);
56
+ const { canvas, ctx } = tgdCanvasCreateWithContext2D(width, height);
57
+ let i = 0;
58
+ for (let y = 0; y < height; y++) {
59
+ for (let x = 0; x < width; x++) {
60
+ ctx.fillStyle = colors[i++];
61
+ ctx.fillRect(x, y, 1, 1);
62
+ }
63
+ }
64
+ this.loadImage(canvas);
65
+ }
66
+ fillHorizontalGradient(size, ...colors) {
67
+ this.fillGradient(size, 1, 1, 0, ...colors);
68
+ }
69
+ fillverticalGradient(size, ...colors) {
70
+ this.fillGradient(1, size, 0, 1, ...colors);
71
+ }
72
+ fillGradient(width, height, dirX, dirY, ...colors) {
73
+ const { canvas, ctx } = tgdCanvasCreateWithContext2D(width, height);
74
+ const gradient = ctx.createLinearGradient(0, 0, width * dirX, height * dirY);
75
+ for (let i = 0; i < colors.length; i++) {
76
+ gradient.addColorStop(i / (colors.length - 1), colors[i]);
77
+ }
78
+ ctx.fillStyle = gradient;
79
+ ctx.fillRect(0, 0, width, height);
80
+ this.loadImage(canvas);
81
+ canvas.style.position = "fixed";
82
+ }
83
+ delete() {
84
+ this.context.gl.deleteTexture(this.glTexture);
85
+ }
86
+ get image() {
87
+ return this._image;
88
+ }
89
+ get width() {
90
+ return this._width;
91
+ }
92
+ get height() {
93
+ return this._height;
94
+ }
95
+ bind() {
96
+ const { gl } = this.context;
97
+ gl.bindTexture(gl.TEXTURE_2D, this.glTexture);
98
+ }
99
+ activate(program, uniformName, slot = 0) {
100
+ const { context, glTexture } = this;
101
+ const { gl } = context;
102
+ gl.activeTexture(gl.TEXTURE0 + slot);
103
+ gl.bindTexture(gl.TEXTURE_2D, glTexture);
104
+ program.uniform1i(uniformName, slot);
105
+ }
106
+ loadImage(image) {
107
+ if (typeof image === "string") {
108
+ TgdLoaderImage.image(image)
109
+ .then(img => {
110
+ if (img) {
111
+ this.loadImage(img);
112
+ this.context.paint();
113
+ }
114
+ else {
115
+ console.error("[TgdTexture2D] Unable to load image:", image);
116
+ }
117
+ })
118
+ .catch(console.error);
119
+ return;
120
+ }
121
+ const { context, glTexture: texture } = this;
122
+ const { gl } = context;
123
+ gl.bindTexture(gl.TEXTURE_2D, texture);
124
+ gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
125
+ gl.generateMipmap(gl.TEXTURE_2D);
126
+ this._width = image.width;
127
+ this._height = image.height;
128
+ this._image = image;
129
+ this.eventImageUpdate.dispatch(this);
130
+ }
131
+ }
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZTJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RleHR1cmUvdGV4dHVyZTJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDNUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBUzNDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUV6RCxNQUFNLE9BQU8sZ0JBQWdCO0lBVUw7SUFDQTtJQVZKLFNBQVMsQ0FBYztJQUN2QixnQkFBZ0IsR0FBRyxJQUFJLFFBQVEsRUFBZ0IsQ0FBQTtJQUU5QyxPQUFPLENBQXFCO0lBQ3JDLE1BQU0sR0FBRyxDQUFDLENBQUE7SUFDVixPQUFPLEdBQUcsQ0FBQyxDQUFBO0lBQ1gsTUFBTSxHQUFzQixJQUFJLENBQUE7SUFFeEMsWUFDb0IsT0FBNEIsRUFDNUIsRUFBVSxFQUMxQixVQUF3QyxFQUFFO1FBRjFCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQzVCLE9BQUUsR0FBRixFQUFFLENBQVE7UUFHMUIsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ1gsS0FBSyxFQUFFLFFBQVE7WUFDZixLQUFLLEVBQUUsUUFBUTtZQUNmLEtBQUssRUFBRSxRQUFRO1lBQ2YsU0FBUyxFQUFFLHVCQUF1QjtZQUNsQyxTQUFTLEVBQUUsUUFBUTtZQUNuQixLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sRUFBRSxDQUFDO1lBQ1QsY0FBYyxFQUFFLE1BQU07WUFDdEIsR0FBRyxPQUFPO1NBQ2IsQ0FBQTtRQUNELE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUNsQyxJQUFJLENBQUMsT0FBTztZQUFFLE1BQU0sS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUE7UUFFN0QsSUFBSSxDQUFD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
@@ -1,12 +1,11 @@
1
- import { TgdProgram, TdgTextureCube, TdgTextureCubeOptions } from "@/types";
2
- export declare class TdgTextureCubeImpl implements TdgTextureCube {
3
- readonly gl: WebGL2RenderingContext;
4
- private readonly refresh;
1
+ import { TgdProgram, TgdTextureCube, TgdTextureCubeOptions, TgdContextInterface } from "../types";
2
+ export declare class TgdTextureCubeImpl implements TgdTextureCube {
3
+ readonly context: TgdContextInterface;
5
4
  readonly texture: WebGLTexture;
6
5
  private _width;
7
6
  private _height;
8
7
  private numberOfImagesToLoad;
9
- constructor(gl: WebGL2RenderingContext, refresh: () => void, options: TdgTextureCubeOptions);
8
+ constructor(context: TgdContextInterface, options: TgdTextureCubeOptions);
10
9
  delete(): void;
11
10
  get ready(): boolean;
12
11
  get width(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"textureCube.d.ts","sourceRoot":"","sources":["../../src/texture/textureCube.ts"],"names":[],"mappings":"AACA,OAAO,EACH,UAAU,EACV,cAAc,EACd,qBAAqB,EAExB,MAAM,SAAS,CAAA;AAEhB,qBAAa,kBAAmB,YAAW,cAAc;aAQjC,EAAE,EAAE,sBAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAR5B,SAAgB,OAAO,EAAE,YAAY,CAAA;IAErC,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,oBAAoB,CAAI;gBAGZ,EAAE,EAAE,sBAAsB,EACzB,OAAO,EAAE,MAAM,IAAI,EACpC,OAAO,EAAE,qBAAqB;IAclC,MAAM;IAIN,IAAI,KAAK,YAER;IAED,IAAI,KAAK,WAER;IAED,IAAI,MAAM,WAET;IAED,IAAI;IAKJ,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,SAAI;IAS3D,OAAO,CAAC,SAAS;CAoDpB"}
1
+ {"version":3,"file":"textureCube.d.ts","sourceRoot":"","sources":["../../src/texture/textureCube.ts"],"names":[],"mappings":"AACA,OAAO,EACH,UAAU,EACV,cAAc,EACd,qBAAqB,EAErB,mBAAmB,EACtB,MAAM,YAAY,CAAA;AAEnB,qBAAa,kBAAmB,YAAW,cAAc;aAQjC,OAAO,EAAE,mBAAmB;IAPhD,SAAgB,OAAO,EAAE,YAAY,CAAA;IAErC,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,oBAAoB,CAAI;gBAGZ,OAAO,EAAE,mBAAmB,EAC5C,OAAO,EAAE,qBAAqB;IAelC,MAAM;IAIN,IAAI,KAAK,YAER;IAED,IAAI,KAAK,WAER;IAED,IAAI,MAAM,WAET;IAED,IAAI;IAKJ,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,SAAI;IAU3D,OAAO,CAAC,SAAS;CAoDpB"}