@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
@@ -0,0 +1,42 @@
1
+ import { TgdVec2 } from "../math/index.js";
2
+ import { TgdFilter } from "./filter.js";
3
+ const DEFAULT_DIRECTION = new TgdVec2(1, 0);
4
+ export class TgdFilterBlur extends TgdFilter {
5
+ constructor(options = {}) {
6
+ const { size = 4, direction = DEFAULT_DIRECTION } = options;
7
+ const len = direction.size;
8
+ const invLen = len > 0 ? 1 / len : 1;
9
+ const sx = direction.x * invLen;
10
+ const sy = direction.y * invLen;
11
+ const lines = ["vec2 s;", "float f;"];
12
+ let total = 0;
13
+ for (let s = 0; s < size - 1; s += 2) {
14
+ const weight = size - s;
15
+ total += weight;
16
+ lines.push(`s = ${s + 1.4} * dir;`, `f = ${weight.toFixed(1)};`, `color += f * texture(texSource, varUV + s);`, `color += f * texture(texSource, varUV - s);`);
17
+ }
18
+ if (size & 1) {
19
+ // Size is odd (not even).
20
+ lines.push(`s = ${size} * dir;`, `color += texture(texSource, varUV + s);`, `color += texture(texSource, varUV - s);`);
21
+ total++;
22
+ }
23
+ total = total + total + size + 1;
24
+ super({
25
+ fragmentShaderCode: [
26
+ "vec2 dir = vec2(",
27
+ [
28
+ `uniInverseWidth * ${sx.toFixed(9)},`,
29
+ `uniInverseHeight * ${sy.toFixed(9)}`,
30
+ ],
31
+ ");",
32
+ `vec4 color = ${(size + 1).toFixed(1)} * texture(texSource, varUV);`,
33
+ ...lines,
34
+ `FragColor = color * ${(1 / total).toFixed(9)};`,
35
+ ],
36
+ uniforms: {
37
+ uniHueShift: "float",
38
+ },
39
+ });
40
+ }
41
+ }
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmx1ci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWx0ZXIvYmx1ci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ2pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFPcEMsTUFBTSxpQkFBaUIsR0FBc0IsSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBRTlELE1BQU0sT0FBTyxhQUFjLFNBQVEsU0FBUztJQUN4QyxZQUFZLFVBQXlDLEVBQUU7UUFDbkQsTUFBTSxFQUFFLElBQUksR0FBRyxDQUFDLEVBQUUsU0FBUyxHQUFHLGlCQUFpQixFQUFFLEdBQUcsT0FBTyxDQUFBO1FBQzNELE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUE7UUFDMUIsTUFBTSxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3BDLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFBO1FBQy9CLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFBO1FBQy9CLE1BQU0sS0FBSyxHQUFhLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQy9DLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQTtRQUNiLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFBO1lBQ3ZCLEtBQUssSUFBSSxNQUFNLENBQUE7WUFDZixLQUFLLENBQUMsSUFBSSxDQUNOLE9BQU8sQ0FBQyxHQUFHLEdBQUcsU0FBUyxFQUN2QixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFDM0IsNkNBQTZDLEVBQzdDLDZDQUE2QyxDQUNoRCxDQUFBO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ1gsMEJBQTBCO1lBQzFCLEtBQUssQ0FBQyxJQUFJLENBQ04sT0FBTyxJQUFJLFNBQVMsRUFDcEIseUNBQXlDLEVBQ3pDLHlDQUF5QyxDQUM1QyxDQUFBO1lBQ0QsS0FBSyxFQUFFLENBQUE7UUFDWCxDQUFDO1FBQ0QsS0FBSyxHQUFHLEtBQUssR0FBRyxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQTtRQUNoQyxLQUFLLENBQUM7WUFDRixrQkFBa0IsRUFBRTtnQkFDaEIsa0JBQWtCO2dCQUNsQjtvQkFDSSxxQkFBcUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRztvQkFDckMsc0JBQXNCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7aUJBQ3hDO2dCQUNELElBQUk7Z0JBQ0osZ0JBQWdCLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDOUIsQ0FBQyxDQUNKLCtCQUErQjtnQkFDaEMsR0FBRyxLQUFLO2dCQUNSLHVCQUF1QixDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUc7YUFDbkQ7WUFDRCxRQUFRLEVBQUU7Z0JBQ04sV0FBVyxFQUFFLE9BQU87YUFDdkI7U0FDSixDQUFDLENBQUE7SUFDTixDQUFDO0NBQ0oifQ==
@@ -0,0 +1,39 @@
1
+ import { CodeBloc } from "../shader/code";
2
+ import { TgdProgram, WebglUniformType } from "../types";
3
+ /**
4
+ * Define the shader to be used in a filter.
5
+ *
6
+ * A filter is mostly a fragment shader working on a texture.
7
+ *
8
+ * Always available varyings:
9
+ * * `vec2 varUV`
10
+ *
11
+ * Always available uniforms:
12
+ * * `sampler2D texSource`: input texture.
13
+ * * `float uniWidth`: width of the texture in pixels.
14
+ * * `float uniHeight`: height of the texture in pixels.
15
+ */
16
+ export declare class TgdFilter {
17
+ /**
18
+ * If you need more uniforms, define them here.
19
+ * And set the values in the `setUniforms()` method.
20
+ */
21
+ readonly uniforms: {
22
+ [name: string]: WebglUniformType;
23
+ };
24
+ /**
25
+ * The code of a `vec4 applyColor()` function.
26
+ * Must return a `vec4` color.
27
+ */
28
+ readonly fragmentShaderCode: CodeBloc;
29
+ readonly setUniforms: (program: TgdProgram, time: number) => void;
30
+ constructor(options?: Partial<TgdFilterOptions>);
31
+ }
32
+ export interface TgdFilterOptions {
33
+ uniforms: {
34
+ [name: string]: WebglUniformType;
35
+ };
36
+ fragmentShaderCode: CodeBloc;
37
+ setUniforms(program: TgdProgram, time: number): void;
38
+ }
39
+ //# sourceMappingURL=filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/filter/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAEzD;;;;;;;;;;;;GAYG;AACH,qBAAa,SAAS;IAClB;;;OAGG;IACH,SAAgB,QAAQ,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAK;IAEnE;;;OAGG;IACH,SAAgB,kBAAkB,EAAE,QAAQ,CAG3C;IAED,SAAgB,WAAW,YAEd,UAAU,QAEb,MAAM,KACb,IAAI,CAAM;gBAED,OAAO,GAAE,OAAO,CAAC,gBAAgB,CAAM;CAMtD;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAA;IAC9C,kBAAkB,EAAE,QAAQ,CAAA;IAC5B,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACvD"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Define the shader to be used in a filter.
3
+ *
4
+ * A filter is mostly a fragment shader working on a texture.
5
+ *
6
+ * Always available varyings:
7
+ * * `vec2 varUV`
8
+ *
9
+ * Always available uniforms:
10
+ * * `sampler2D texSource`: input texture.
11
+ * * `float uniWidth`: width of the texture in pixels.
12
+ * * `float uniHeight`: height of the texture in pixels.
13
+ */
14
+ export class TgdFilter {
15
+ /**
16
+ * If you need more uniforms, define them here.
17
+ * And set the values in the `setUniforms()` method.
18
+ */
19
+ uniforms = {};
20
+ /**
21
+ * The code of a `vec4 applyColor()` function.
22
+ * Must return a `vec4` color.
23
+ */
24
+ fragmentShaderCode = [
25
+ "vec4 color = texture(texSource, varUV);",
26
+ "return color;",
27
+ ];
28
+ setUniforms = (
29
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
30
+ program,
31
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
32
+ time) => { };
33
+ constructor(options = {}) {
34
+ const { uniforms, fragmentShaderCode, setUniforms } = options;
35
+ if (uniforms)
36
+ this.uniforms = uniforms;
37
+ if (fragmentShaderCode)
38
+ this.fragmentShaderCode = fragmentShaderCode;
39
+ if (setUniforms)
40
+ this.setUniforms = setUniforms;
41
+ }
42
+ }
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpbHRlci9maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxPQUFPLFNBQVM7SUFDbEI7OztPQUdHO0lBQ2EsUUFBUSxHQUF5QyxFQUFFLENBQUE7SUFFbkU7OztPQUdHO0lBQ2Esa0JBQWtCLEdBQWE7UUFDM0MseUNBQXlDO1FBQ3pDLGVBQWU7S0FDbEIsQ0FBQTtJQUVlLFdBQVcsR0FBRztJQUMxQiw2REFBNkQ7SUFDN0QsT0FBbUI7SUFDbkIsNkRBQTZEO0lBQzdELElBQVksRUFDUixFQUFFLEdBQUUsQ0FBQyxDQUFBO0lBRWIsWUFBWSxVQUFxQyxFQUFFO1FBQy9DLE1BQU0sRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFBO1FBQzdELElBQUksUUFBUTtZQUFFLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQ3RDLElBQUksa0JBQWtCO1lBQUUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFBO1FBQ3BFLElBQUksV0FBVztZQUFFLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO0lBQ25ELENBQUM7Q0FDSiJ9
@@ -0,0 +1,12 @@
1
+ import { TgdProgram } from "..";
2
+ import { TgdFilter } from "./filter";
3
+ export declare class TgdFilterHueRotation extends TgdFilter {
4
+ private hueShift;
5
+ constructor();
6
+ get hueShiftInRadians(): number;
7
+ set hueShiftInRadians(v: number);
8
+ get hueShiftInDegrees(): number;
9
+ set hueShiftInDegrees(v: number);
10
+ readonly setUniforms: (program: TgdProgram, _time: number) => void;
11
+ }
12
+ //# sourceMappingURL=hue-rotation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hue-rotation.d.ts","sourceRoot":"","sources":["../../src/filter/hue-rotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,qBAAa,oBAAqB,SAAQ,SAAS;IAC/C,OAAO,CAAC,QAAQ,CAAI;;IAwBpB,IAAI,iBAAiB,IAGI,MAAM,CAD9B;IACD,IAAI,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAE9B;IAED,IAAI,iBAAiB,IAGI,MAAM,CAD9B;IACD,IAAI,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAE9B;IAED,SAAgB,WAAW,YACd,UAAU,SACZ,MAAM,KACd,IAAI,CAEN;CACJ"}
@@ -0,0 +1,41 @@
1
+ import { TgdFilter } from "./filter.js";
2
+ export class TgdFilterHueRotation extends TgdFilter {
3
+ hueShift = 0;
4
+ constructor() {
5
+ super({
6
+ fragmentShaderCode: [
7
+ "vec4 color = texture(texSource, varUV);",
8
+ "vec3 rgb = color.rgb;",
9
+ "const vec3 k = vec3(0.5773502691896258);",
10
+ "float cosAngle = cos(uniHueShift);",
11
+ "FragColor = vec4(",
12
+ [
13
+ "rgb * cosAngle ",
14
+ "+ cross(k, rgb) * sin(uniHueShift) ",
15
+ "+ k * dot(k, rgb) * (1.0 - cosAngle),",
16
+ "color.a",
17
+ ],
18
+ ");",
19
+ ],
20
+ uniforms: {
21
+ uniHueShift: "float",
22
+ },
23
+ });
24
+ }
25
+ get hueShiftInRadians() {
26
+ return this.hueShift;
27
+ }
28
+ set hueShiftInRadians(v) {
29
+ this.hueShift = v;
30
+ }
31
+ get hueShiftInDegrees() {
32
+ return (this.hueShift * 180) / Math.PI;
33
+ }
34
+ set hueShiftInDegrees(v) {
35
+ this.hueShift = (v * Math.PI) / 180;
36
+ }
37
+ setUniforms = (program, _time) => {
38
+ program.uniform1f("uniHueShift", this.hueShift);
39
+ };
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVlLXJvdGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpbHRlci9odWUtcm90YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUVwQyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsU0FBUztJQUN2QyxRQUFRLEdBQUcsQ0FBQyxDQUFBO0lBRXBCO1FBQ0ksS0FBSyxDQUFDO1lBQ0Ysa0JBQWtCLEVBQUU7Z0JBQ2hCLHlDQUF5QztnQkFDekMsdUJBQXVCO2dCQUN2QiwwQ0FBMEM7Z0JBQzFDLG9DQUFvQztnQkFDcEMsbUJBQW1CO2dCQUNuQjtvQkFDSSxpQkFBaUI7b0JBQ2pCLHFDQUFxQztvQkFDckMsdUNBQXVDO29CQUN2QyxTQUFTO2lCQUNaO2dCQUNELElBQUk7YUFDUDtZQUNELFFBQVEsRUFBRTtnQkFDTixXQUFXLEVBQUUsT0FBTzthQUN2QjtTQUNKLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDeEIsQ0FBQztJQUNELElBQUksaUJBQWlCLENBQUMsQ0FBUztRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQTtJQUNyQixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQTtJQUMxQyxDQUFDO0lBQ0QsSUFBSSxpQkFBaUIsQ0FBQyxDQUFTO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQTtJQUN2QyxDQUFDO0lBRWUsV0FBVyxHQUFHLENBQzFCLE9BQW1CLEVBQ25CLEtBQWEsRUFDVCxFQUFFO1FBQ04sT0FBTyxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ25ELENBQUMsQ0FBQTtDQUNKIn0=
@@ -0,0 +1,4 @@
1
+ export * from "./blur";
2
+ export * from "./filter";
3
+ export * from "./hue-rotation";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filter/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from "./blur.js";
2
+ export * from "./filter.js";
3
+ export * from "./hue-rotation.js";
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmlsdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsUUFBUSxDQUFBO0FBQ3RCLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsZ0JBQWdCLENBQUEifQ==
@@ -0,0 +1,10 @@
1
+ import { TgdGeometry } from "./geometry";
2
+ export interface TgdGeometryBoxOptions {
3
+ sizeX?: number;
4
+ sizeY?: number;
5
+ sizeZ?: number;
6
+ }
7
+ export declare class TgdGeometryBox extends TgdGeometry {
8
+ constructor({ sizeX, sizeY, sizeZ, }?: TgdGeometryBoxOptions);
9
+ }
10
+ //# sourceMappingURL=box.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../../src/geometry/box.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,WAAW,qBAAqB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,cAAe,SAAQ,WAAW;gBAC/B,EACR,KAAS,EACT,KAAS,EACT,KAAS,GACZ,GAAE,qBAA0B;CAmIhC"}
@@ -0,0 +1,136 @@
1
+ import { TgdDataset } from "./../dataset/index.js";
2
+ import { TgdGeometry } from "./geometry.js";
3
+ export class TgdGeometryBox extends TgdGeometry {
4
+ constructor({ sizeX = 1, sizeY = 1, sizeZ = 1, } = {}) {
5
+ const x = sizeX * 0.5;
6
+ const y = sizeY * 0.5;
7
+ const z = sizeZ * 0.5;
8
+ const dataset = new TgdDataset({
9
+ POSITION: "vec3",
10
+ NORMAL: "vec3",
11
+ TEXCOORD_0: "vec2",
12
+ });
13
+ // prettier-ignore
14
+ dataset.set("POSITION", new Float32Array([
15
+ -x, +y, -z,
16
+ +x, +y, +z,
17
+ +x, +y, -z,
18
+ +x, +y, +z,
19
+ -x, -y, +z,
20
+ +x, -y, +z,
21
+ -x, +y, +z,
22
+ -x, -y, -z,
23
+ -x, -y, +z,
24
+ +x, -y, -z,
25
+ -x, -y, +z,
26
+ -x, -y, -z,
27
+ +x, +y, -z,
28
+ +x, -y, +z,
29
+ +x, -y, -z,
30
+ -x, +y, -z,
31
+ +x, -y, -z,
32
+ -x, -y, -z,
33
+ -x, +y, -z,
34
+ -x, +y, +z,
35
+ +x, +y, +z,
36
+ +x, +y, +z,
37
+ -x, +y, +z,
38
+ -x, -y, +z,
39
+ -x, +y, +z,
40
+ -x, +y, -z,
41
+ -x, -y, -z,
42
+ +x, -y, -z,
43
+ +x, -y, +z,
44
+ -x, -y, +z,
45
+ +x, +y, -z,
46
+ +x, +y, +z,
47
+ +x, -y, +z,
48
+ -x, +y, -z,
49
+ +x, +y, -z,
50
+ +x, -y, -z,
51
+ ]));
52
+ // prettier-ignore
53
+ dataset.set("TEXCOORD_0", new Float32Array([
54
+ 0.875, 0.5,
55
+ 0.625, 0.75,
56
+ 0.625, 0.5,
57
+ 0.625, 0.75,
58
+ 0.375, 1,
59
+ 0.375, 0.75,
60
+ 0.625, 0,
61
+ 0.375, 0.25,
62
+ 0.375, 0,
63
+ 0.375, 0.5,
64
+ 0.125, 0.75,
65
+ 0.125, 0.5,
66
+ 0.625, 0.5,
67
+ 0.375, 0.75,
68
+ 0.375, 0.5,
69
+ 0.625, 0.25,
70
+ 0.375, 0.5,
71
+ 0.375, 0.25,
72
+ 0.875, 0.5,
73
+ 0.875, 0.75,
74
+ 0.625, 0.75,
75
+ 0.625, 0.75,
76
+ 0.625, 1,
77
+ 0.375, 1,
78
+ 0.625, 0,
79
+ 0.625, 0.25,
80
+ 0.375, 0.25,
81
+ 0.375, 0.5,
82
+ 0.375, 0.75,
83
+ 0.125, 0.75,
84
+ 0.625, 0.5,
85
+ 0.625, 0.75,
86
+ 0.375, 0.75,
87
+ 0.625, 0.25,
88
+ 0.625, 0.5,
89
+ 0.375, 0.5,
90
+ ]));
91
+ // prettier-ignore
92
+ dataset.set("NORMAL", new Float32Array([
93
+ 0, 1, 0,
94
+ 0, 1, 0,
95
+ 0, 1, 0,
96
+ 0, 0, 1,
97
+ 0, 0, 1,
98
+ 0, 0, 1,
99
+ -1, 0, 0,
100
+ -1, 0, 0,
101
+ -1, 0, 0,
102
+ 0, -1, 0,
103
+ 0, -1, 0,
104
+ 0, -1, 0,
105
+ 1, 0, 0,
106
+ 1, 0, 0,
107
+ 1, 0, 0,
108
+ 0, 0, -1,
109
+ 0, 0, -1,
110
+ 0, 0, -1,
111
+ 0, 1, 0,
112
+ 0, 1, 0,
113
+ 0, 1, 0,
114
+ 0, 0, 1,
115
+ 0, 0, 1,
116
+ 0, 0, 1,
117
+ -1, 0, 0,
118
+ -1, 0, 0,
119
+ -1, 0, 0,
120
+ 0, -1, 0,
121
+ 0, -1, 0,
122
+ 0, -1, 0,
123
+ 1, 0, 0,
124
+ 1, 0, 0,
125
+ 1, 0, 0,
126
+ 0, 0, -1,
127
+ 0, 0, -1,
128
+ 0, 0, -1,
129
+ ]));
130
+ super({
131
+ dataset,
132
+ drawMode: "TRIANGLES",
133
+ });
134
+ }
135
+ }
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dlb21ldHJ5L2JveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFReEMsTUFBTSxPQUFPLGNBQWUsU0FBUSxXQUFXO0lBQzNDLFlBQVksRUFDUixLQUFLLEdBQUcsQ0FBQyxFQUNULEtBQUssR0FBRyxDQUFDLEVBQ1QsS0FBSyxHQUFHLENBQUMsTUFDYyxFQUFFO1FBQ3pCLE1BQU0sQ0FBQyxHQUFHLEtBQUssR0FBRyxHQUFHLENBQUE7UUFDckIsTUFBTSxDQUFDLEdBQUcsS0FBSyxHQUFHLEdBQUcsQ0FBQTtRQUNyQixNQUFNLENBQUMsR0FBRyxLQUFLLEdBQUcsR0FBRyxDQUFBO1FBQ3JCLE1BQU0sT0FBTyxHQUFHLElBQUksVUFBVSxDQUFDO1lBQzNCLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsVUFBVSxFQUFFLE1BQU07U0FDckIsQ0FBQyxDQUFBO1FBQ0Ysa0JBQWtCO1FBQ2xCLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksWUFBWSxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FB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RUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ1IsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDUixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNSLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNQLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNQLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNQLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNQLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNQLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNQLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ1IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDUixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNSLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUixDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNSLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNQLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNQLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNQLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ1IsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDUixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNYLENBQUMsQ0FBQyxDQUFBO1FBQ0gsS0FBSyxDQUFDO1lBQ0YsT0FBTztZQUNQLFFBQVEsRUFBRSxXQUFXO1NBQ3hCLENBQUMsQ0FBQTtJQUNOLENBQUM7Q0FDSiJ9
@@ -0,0 +1,47 @@
1
+ import { TgdDataset } from "../dataset";
2
+ import { WebglDrawMode } from "../types";
3
+ export interface TgdGeometryOptions {
4
+ dataset: TgdDataset;
5
+ drawMode: WebglDrawMode | number;
6
+ elements?: {
7
+ buff: BufferSource;
8
+ type: number;
9
+ } | Uint8Array | Uint16Array | Uint32Array;
10
+ attPosition?: string;
11
+ attNormal?: string;
12
+ attUV?: string;
13
+ /**
14
+ * Compute normals with a smooth shading if
15
+ * none has been provided.
16
+ */
17
+ computeNormalsIfMissing?: boolean;
18
+ }
19
+ /**
20
+ * Geometry is used to define a mesh.
21
+ * It must hold at least one vec3 attributes
22
+ * for the vertices.
23
+ */
24
+ export declare class TgdGeometry {
25
+ readonly attPosition: string;
26
+ readonly attNormal: string;
27
+ readonly attUV: string;
28
+ readonly count: number;
29
+ protected _dataset: TgdDataset;
30
+ protected _drawMode: WebglDrawMode | number;
31
+ protected _elementsBuff?: BufferSource;
32
+ protected _elementsType: number;
33
+ private readonly _elementsView;
34
+ constructor(options: TgdGeometryOptions);
35
+ get dataset(): Readonly<TgdDataset>;
36
+ get drawMode(): number | WebglDrawMode;
37
+ get elementsBuff(): BufferSource | undefined;
38
+ get elementsType(): number;
39
+ readonly getElement: (index: number) => number;
40
+ computeNormals(): void;
41
+ private computeNormalsForTrianglesDrawMode;
42
+ private readonly getElementFrom8;
43
+ private readonly getElementFrom16;
44
+ private readonly getElementFrom32;
45
+ private readonly getElementFromNothing;
46
+ }
47
+ //# sourceMappingURL=geometry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../src/geometry/geometry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAG1C,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,UAAU,CAAA;IACnB,QAAQ,EAAE,aAAa,GAAG,MAAM,CAAA;IAChC,QAAQ,CAAC,EACH;QACI,IAAI,EAAE,YAAY,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;KACf,GACD,UAAU,GACV,WAAW,GACX,WAAW,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;CACpC;AAED;;;;GAIG;AACH,qBAAa,WAAW;IACpB,SAAgB,WAAW,EAAE,MAAM,CAAA;IACnC,SAAgB,SAAS,EAAE,MAAM,CAAA;IACjC,SAAgB,KAAK,EAAE,MAAM,CAAA;IAC7B,SAAgB,KAAK,EAAE,MAAM,CAAA;IAE7B,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAA;IAC9B,SAAS,CAAC,SAAS,EAAE,aAAa,GAAG,MAAM,CAAA;IAC3C,SAAS,CAAC,aAAa,CAAC,EAAE,YAAY,CAAA;IACtC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAA;IAE/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;gBAE5B,OAAO,EAAE,kBAAkB;IA0CvC,IAAI,OAAO,IAAI,QAAQ,CAAC,UAAU,CAAC,CAElC;IAED,IAAI,QAAQ,2BAEX;IAED,IAAI,YAAY,6BAEf;IAED,IAAI,YAAY,WAEf;IAED,SAAgB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IAE9C,cAAc;IA0BrB,OAAO,CAAC,kCAAkC;IAkD1C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAE/B;IAED,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAEhC;IAED,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAEhC;IAED,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAErC;CACJ"}
@@ -0,0 +1,190 @@
1
+ import { TgdVec3 } from "./../math/index.js";
2
+ /**
3
+ * Geometry is used to define a mesh.
4
+ * It must hold at least one vec3 attributes
5
+ * for the vertices.
6
+ */
7
+ export class TgdGeometry {
8
+ attPosition;
9
+ attNormal;
10
+ attUV;
11
+ count;
12
+ _dataset;
13
+ _drawMode;
14
+ _elementsBuff;
15
+ _elementsType;
16
+ _elementsView;
17
+ constructor(options) {
18
+ const { dataset, drawMode, attPosition = "POSITION", attNormal = "NORMAL", attUV = "TEXCOORD_0", } = options;
19
+ this._dataset = dataset;
20
+ this._drawMode = drawMode;
21
+ const elements = convertElements(options.elements);
22
+ this._elementsBuff = elements?.buff ?? undefined;
23
+ this._elementsType = elements?.type ?? 0;
24
+ this.attPosition = attPosition;
25
+ this.attNormal = attNormal;
26
+ this.attUV = attUV;
27
+ this.count = elements?.count ?? dataset.count;
28
+ if (!this._elementsBuff) {
29
+ this._elementsView = new DataView(new ArrayBuffer(16));
30
+ }
31
+ else if (this._elementsBuff instanceof DataView) {
32
+ this._elementsView = this._elementsBuff;
33
+ }
34
+ else if (this._elementsBuff instanceof ArrayBuffer) {
35
+ this._elementsView = new DataView(this._elementsBuff);
36
+ }
37
+ else {
38
+ this._elementsView = new DataView(this._elementsBuff.buffer);
39
+ }
40
+ if (this._elementsType === WebGL2RenderingContext.UNSIGNED_BYTE) {
41
+ this.getElement = this.getElementFrom8;
42
+ }
43
+ else if (this._elementsType === WebGL2RenderingContext.UNSIGNED_SHORT) {
44
+ this.getElement = this.getElementFrom16;
45
+ }
46
+ else if (this._elementsType === WebGL2RenderingContext.UNSIGNED_INT) {
47
+ this.getElement = this.getElementFrom32;
48
+ }
49
+ else {
50
+ this.getElement = this.getElementFromNothing;
51
+ }
52
+ if (options.computeNormalsIfMissing) {
53
+ this.computeNormals();
54
+ }
55
+ }
56
+ get dataset() {
57
+ return this._dataset;
58
+ }
59
+ get drawMode() {
60
+ return this._drawMode;
61
+ }
62
+ get elementsBuff() {
63
+ return this._elementsBuff;
64
+ }
65
+ get elementsType() {
66
+ return this._elementsType;
67
+ }
68
+ getElement;
69
+ computeNormals() {
70
+ let normals = [];
71
+ if (this.drawMode === WebGL2RenderingContext.TRIANGLES ||
72
+ this.drawMode === "TRIANGLES") {
73
+ normals = this.computeNormalsForTrianglesDrawMode();
74
+ }
75
+ else {
76
+ console.error("We don't know how to compute normals for this draw mode:", this.drawMode);
77
+ return;
78
+ }
79
+ this.dataset.addAttributes({
80
+ NORMAL: "vec3",
81
+ });
82
+ const values = [];
83
+ for (let idx = 0; idx < normals.length; idx++) {
84
+ const [nx, ny, nz] = normals[idx];
85
+ values.push(nx, ny, nz);
86
+ }
87
+ this.dataset.set("NORMAL", new Float32Array(values));
88
+ }
89
+ // eslint-disable-next-line max-statements
90
+ computeNormalsForTrianglesDrawMode() {
91
+ const ds = this.dataset;
92
+ const normalsAccumulator = new Map();
93
+ const addNormal = (idx, A, B, C) => {
94
+ const norm = computeNormal(A, B, C);
95
+ const item = normalsAccumulator.get(idx);
96
+ if (item) {
97
+ item.add(norm);
98
+ }
99
+ else {
100
+ normalsAccumulator.set(idx, new TgdVec3(norm.x, norm.y, norm.z));
101
+ }
102
+ };
103
+ const { get } = ds.getAttribAccessor(this.attPosition);
104
+ const indexes = new Set();
105
+ let idxMax = 0;
106
+ for (let elem = 0; elem < this.count; elem += 3) {
107
+ const idx0 = this.getElement(elem + 0);
108
+ indexes.add(idx0);
109
+ idxMax = Math.max(idxMax, idx0);
110
+ const idx1 = this.getElement(elem + 1);
111
+ indexes.add(idx1);
112
+ idxMax = Math.max(idxMax, idx1);
113
+ const idx2 = this.getElement(elem + 2);
114
+ indexes.add(idx2);
115
+ idxMax = Math.max(idxMax, idx2);
116
+ const A = new TgdVec3(get(idx0, 0), get(idx0, 1), get(idx0, 2));
117
+ const B = new TgdVec3(get(idx1, 0), get(idx1, 1), get(idx1, 2));
118
+ const C = new TgdVec3(get(idx2, 0), get(idx2, 1), get(idx2, 2));
119
+ addNormal(idx0, A, B, C);
120
+ addNormal(idx1, B, C, A);
121
+ addNormal(idx2, C, A, B);
122
+ if (elem < 100)
123
+ console.log(idx0, idx1, idx2);
124
+ }
125
+ console.log("indexes:", Array.from(indexes).sort((a, b) => a - b));
126
+ const normals = [];
127
+ for (let idx = 0; idx <= idxMax; idx++) {
128
+ const item = normalsAccumulator.get(idx);
129
+ if (!item) {
130
+ normals.push(new TgdVec3());
131
+ }
132
+ else {
133
+ item.normalize();
134
+ normals.push(item);
135
+ }
136
+ }
137
+ return normals;
138
+ }
139
+ getElementFrom8 = (index) => {
140
+ return this._elementsView.getUint8(index);
141
+ };
142
+ getElementFrom16 = (index) => {
143
+ return this._elementsView.getUint16(index << 1, true);
144
+ };
145
+ getElementFrom32 = (index) => {
146
+ return this._elementsView.getUint32(index << 2, true);
147
+ };
148
+ getElementFromNothing = () => {
149
+ return 0;
150
+ };
151
+ }
152
+ function convertElements(elements) {
153
+ if (!elements)
154
+ return elements;
155
+ if (elements instanceof Uint16Array)
156
+ return {
157
+ buff: new DataView(elements.buffer),
158
+ type: WebGL2RenderingContext.UNSIGNED_SHORT,
159
+ count: elements.length,
160
+ };
161
+ if (elements instanceof Uint8Array)
162
+ return {
163
+ buff: new DataView(elements.buffer),
164
+ type: WebGL2RenderingContext.UNSIGNED_BYTE,
165
+ count: elements.length,
166
+ };
167
+ if (elements instanceof Uint32Array)
168
+ return {
169
+ buff: new DataView(elements.buffer),
170
+ type: WebGL2RenderingContext.UNSIGNED_INT,
171
+ count: elements.length,
172
+ };
173
+ let count = elements.buff.byteLength;
174
+ if (elements.type === WebGL2RenderingContext.UNSIGNED_SHORT) {
175
+ count >>= 1;
176
+ }
177
+ else if (elements.type === WebGL2RenderingContext.UNSIGNED_INT) {
178
+ count >>= 2;
179
+ }
180
+ return {
181
+ ...elements,
182
+ count,
183
+ };
184
+ }
185
+ function computeNormal(A, B, C) {
186
+ const AB = new TgdVec3(B).subtract(A);
187
+ const AC = new TgdVec3(C).subtract(A);
188
+ return AB.cross(AC).normalize();
189
+ }
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VvbWV0cnkvZ2VvbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQXVCbkM7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBQ0osV0FBVyxDQUFRO0lBQ25CLFNBQVMsQ0FBUTtJQUNqQixLQUFLLENBQVE7SUFDYixLQUFLLENBQVE7SUFFbkIsUUFBUSxDQUFZO0lBQ3BCLFNBQVMsQ0FBd0I7SUFDakMsYUFBYSxDQUFlO0lBQzVCLGFBQWEsQ0FBUTtJQUVkLGFBQWEsQ0FBVTtJQUV4QyxZQUFZLE9BQTJCO1FBQ25DLE1BQU0sRUFDRixPQUFPLEVBQ1AsUUFBUSxFQUNSLFdBQVcsR0FBRyxVQUFVLEVBQ3hCLFNBQVMsR0FBRyxRQUFRLEVBQ3BCLEtBQUssR0FBRyxZQUFZLEdBQ3ZCLEdBQUcsT0FBTyxDQUFBO1FBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUE7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUE7UUFDekIsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNsRCxJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsRUFBRSxJQUFJLElBQUksU0FBUyxDQUFBO1FBQ2hELElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLENBQUE7UUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUE7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLEVBQUUsS0FBSyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUE7UUFDN0MsSUFBSSxDQUFDLElBQUks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QUFJLEdBQUcsQ0FBQyxDQUFDLENBQUE7WUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQixNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUE7WUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQixNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUE7WUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQixNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDL0IsTUFBTSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUMvRCxNQUFNLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQy9ELE1BQU0sQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7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
@@ -0,0 +1,3 @@
1
+ export * from "./box";
2
+ export * from "./geometry";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/geometry/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,YAAY,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from "./box.js";
2
+ export * from "./geometry.js";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VvbWV0cnkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxPQUFPLENBQUE7QUFDckIsY0FBYyxZQUFZLENBQUEifQ==