@tolokoban/tgd 2.0.18 → 2.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/lib/dist/buffer/buffer.d.ts +5 -2
  2. package/lib/dist/buffer/buffer.d.ts.map +1 -1
  3. package/lib/dist/buffer/buffer.js +14 -14
  4. package/lib/dist/camera/camera-node.d.ts +2 -2
  5. package/lib/dist/camera/camera-node.d.ts.map +1 -1
  6. package/lib/dist/camera/camera-node.js +4 -5
  7. package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
  8. package/lib/dist/camera/camera-orthographic.js +14 -12
  9. package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
  10. package/lib/dist/camera/camera-perspective.js +20 -38
  11. package/lib/dist/camera/camera.d.ts +9 -56
  12. package/lib/dist/camera/camera.d.ts.map +1 -1
  13. package/lib/dist/camera/camera.js +50 -279
  14. package/lib/dist/camera/index.d.ts +0 -1
  15. package/lib/dist/camera/index.d.ts.map +1 -1
  16. package/lib/dist/camera/index.js +1 -2
  17. package/lib/dist/canvas/gizmo/gizmo.d.ts.map +1 -1
  18. package/lib/dist/canvas/gizmo/gizmo.js +72 -78
  19. package/lib/dist/canvas/gizmo/painter/tips.d.ts +0 -1
  20. package/lib/dist/canvas/gizmo/painter/tips.d.ts.map +1 -1
  21. package/lib/dist/canvas/gizmo/painter/tips.js +38 -36
  22. package/lib/dist/canvas/landscape/landscape.js +4 -11
  23. package/lib/dist/code/color.d.ts +12 -0
  24. package/lib/dist/code/color.d.ts.map +1 -0
  25. package/lib/dist/code/color.js +26 -0
  26. package/lib/dist/code/consts.d.ts +16 -0
  27. package/lib/dist/code/consts.d.ts.map +1 -0
  28. package/lib/dist/code/consts.js +20 -0
  29. package/lib/dist/code/coords.d.ts +46 -0
  30. package/lib/dist/code/coords.d.ts.map +1 -0
  31. package/lib/dist/code/coords.js +95 -0
  32. package/lib/dist/code/index.d.ts +6 -0
  33. package/lib/dist/code/index.d.ts.map +1 -0
  34. package/lib/dist/code/index.js +6 -0
  35. package/lib/dist/code/random.d.ts +8 -0
  36. package/lib/dist/code/random.d.ts.map +1 -0
  37. package/lib/dist/code/random.js +13 -0
  38. package/lib/dist/code/transfo.d.ts +8 -0
  39. package/lib/dist/code/transfo.d.ts.map +1 -0
  40. package/lib/dist/code/transfo.js +19 -0
  41. package/lib/dist/color/color.js +24 -24
  42. package/lib/dist/context/animation/animation-manager.js +9 -6
  43. package/lib/dist/context/context.d.ts +11 -18
  44. package/lib/dist/context/context.d.ts.map +1 -1
  45. package/lib/dist/context/context.js +71 -96
  46. package/lib/dist/controller/camera/orbit.d.ts +33 -4
  47. package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
  48. package/lib/dist/controller/camera/orbit.js +163 -117
  49. package/lib/dist/dataset/dataset.d.ts +1 -1
  50. package/lib/dist/dataset/dataset.d.ts.map +1 -1
  51. package/lib/dist/dataset/dataset.js +72 -72
  52. package/lib/dist/debug/debug.d.ts +1 -1
  53. package/lib/dist/debug/debug.d.ts.map +1 -1
  54. package/lib/dist/debug/debug.js +8 -7
  55. package/lib/dist/debug/tools.js +3 -3
  56. package/lib/dist/event/event.js +6 -3
  57. package/lib/dist/filter/blur.d.ts.map +1 -1
  58. package/lib/dist/filter/blur.js +9 -8
  59. package/lib/dist/filter/chromatic-aberration.js +10 -10
  60. package/lib/dist/filter/filter.d.ts +2 -1
  61. package/lib/dist/filter/filter.d.ts.map +1 -1
  62. package/lib/dist/filter/filter.js +22 -22
  63. package/lib/dist/filter/hue-rotation.d.ts +1 -1
  64. package/lib/dist/filter/hue-rotation.d.ts.map +1 -1
  65. package/lib/dist/filter/hue-rotation.js +5 -5
  66. package/lib/dist/filter/index.d.ts +1 -0
  67. package/lib/dist/filter/index.d.ts.map +1 -1
  68. package/lib/dist/filter/index.js +2 -1
  69. package/lib/dist/filter/verbatim.d.ts +8 -0
  70. package/lib/dist/filter/verbatim.d.ts.map +1 -0
  71. package/lib/dist/filter/verbatim.js +20 -0
  72. package/lib/dist/filter/zoom.d.ts +3 -1
  73. package/lib/dist/filter/zoom.d.ts.map +1 -1
  74. package/lib/dist/filter/zoom.js +10 -6
  75. package/lib/dist/geometry/box.d.ts +2 -1
  76. package/lib/dist/geometry/box.d.ts.map +1 -1
  77. package/lib/dist/geometry/box.js +103 -115
  78. package/lib/dist/geometry/geometry.d.ts.map +1 -1
  79. package/lib/dist/geometry/geometry.js +38 -48
  80. package/lib/dist/geometry/index.d.ts +1 -0
  81. package/lib/dist/geometry/index.d.ts.map +1 -1
  82. package/lib/dist/geometry/index.js +2 -1
  83. package/lib/dist/geometry/plane.d.ts +12 -0
  84. package/lib/dist/geometry/plane.d.ts.map +1 -0
  85. package/lib/dist/geometry/plane.js +51 -0
  86. package/lib/dist/index.d.ts +6 -1
  87. package/lib/dist/index.d.ts.map +1 -1
  88. package/lib/dist/index.js +7 -2
  89. package/lib/dist/input/inputs.js +3 -4
  90. package/lib/dist/input/keyboard.js +14 -14
  91. package/lib/dist/input/pointer.d.ts.map +1 -1
  92. package/lib/dist/input/pointer.js +85 -112
  93. package/lib/dist/interface/transformable.d.ts +3 -1
  94. package/lib/dist/interface/transformable.d.ts.map +1 -1
  95. package/lib/dist/light/light.js +5 -8
  96. package/lib/dist/loader/asset.js +15 -12
  97. package/lib/dist/loader/binary.js +29 -24
  98. package/lib/dist/loader/image.js +31 -24
  99. package/lib/dist/loader/index.d.ts +1 -0
  100. package/lib/dist/loader/index.d.ts.map +1 -1
  101. package/lib/dist/loader/index.js +2 -1
  102. package/lib/dist/loader/video.d.ts +6 -0
  103. package/lib/dist/loader/video.d.ts.map +1 -0
  104. package/lib/dist/loader/video.js +23 -0
  105. package/lib/dist/log.d.ts +1 -1
  106. package/lib/dist/log.d.ts.map +1 -1
  107. package/lib/dist/log.js +19 -16
  108. package/lib/dist/material/diffuse.d.ts +3 -1
  109. package/lib/dist/material/diffuse.d.ts.map +1 -1
  110. package/lib/dist/material/diffuse.js +17 -20
  111. package/lib/dist/material/ghost.d.ts +2 -1
  112. package/lib/dist/material/ghost.d.ts.map +1 -1
  113. package/lib/dist/material/ghost.js +1 -4
  114. package/lib/dist/material/hull.d.ts +2 -1
  115. package/lib/dist/material/hull.d.ts.map +1 -1
  116. package/lib/dist/material/hull.js +10 -13
  117. package/lib/dist/material/material.d.ts +2 -1
  118. package/lib/dist/material/material.d.ts.map +1 -1
  119. package/lib/dist/material/material.js +14 -20
  120. package/lib/dist/material/normals.d.ts +2 -1
  121. package/lib/dist/material/normals.d.ts.map +1 -1
  122. package/lib/dist/material/normals.js +1 -4
  123. package/lib/dist/material/solid.d.ts +2 -1
  124. package/lib/dist/material/solid.d.ts.map +1 -1
  125. package/lib/dist/material/solid.js +6 -9
  126. package/lib/dist/math/common.test.d.ts +2 -0
  127. package/lib/dist/math/common.test.d.ts.map +1 -0
  128. package/lib/dist/math/common.test.js +22 -0
  129. package/lib/dist/math/index.d.ts +0 -1
  130. package/lib/dist/math/index.d.ts.map +1 -1
  131. package/lib/dist/math/index.js +1 -2
  132. package/lib/dist/math/mat3.d.ts +44 -16
  133. package/lib/dist/math/mat3.d.ts.map +1 -1
  134. package/lib/dist/math/mat3.js +140 -74
  135. package/lib/dist/math/mat3.test.d.ts +2 -0
  136. package/lib/dist/math/mat3.test.d.ts.map +1 -0
  137. package/lib/dist/math/mat3.test.js +32 -0
  138. package/lib/dist/math/mat4.d.ts +54 -121
  139. package/lib/dist/math/mat4.d.ts.map +1 -1
  140. package/lib/dist/math/mat4.js +167 -288
  141. package/lib/dist/math/quat.d.ts +9 -4
  142. package/lib/dist/math/quat.d.ts.map +1 -1
  143. package/lib/dist/math/quat.js +57 -70
  144. package/lib/dist/math/quat.test.d.ts +1 -0
  145. package/lib/dist/math/quat.test.d.ts.map +1 -1
  146. package/lib/dist/math/quat.test.js +81 -27
  147. package/lib/dist/math/transfo.d.ts +32 -5
  148. package/lib/dist/math/transfo.d.ts.map +1 -1
  149. package/lib/dist/math/transfo.js +135 -46
  150. package/lib/dist/math/vec2.js +6 -6
  151. package/lib/dist/math/vec3.d.ts +11 -3
  152. package/lib/dist/math/vec3.d.ts.map +1 -1
  153. package/lib/dist/math/vec3.js +30 -17
  154. package/lib/dist/math/vec3.test.js +20 -1
  155. package/lib/dist/math/vec4.d.ts +12 -3
  156. package/lib/dist/math/vec4.d.ts.map +1 -1
  157. package/lib/dist/math/vec4.js +36 -18
  158. package/lib/dist/painter/{axis/axis.d.ts → axes/axes.d.ts} +4 -4
  159. package/lib/dist/painter/{axis/axis.d.ts.map → axes/axes.d.ts.map} +1 -1
  160. package/lib/dist/painter/{axis/axis.frag → axes/axes.frag} +0 -0
  161. package/lib/dist/painter/axes/axes.js +82 -0
  162. package/lib/dist/painter/{axis/axis.vert → axes/axes.vert} +0 -0
  163. package/lib/dist/painter/axes/index.d.ts +2 -0
  164. package/lib/dist/painter/axes/index.d.ts.map +1 -0
  165. package/lib/dist/painter/axes/index.js +2 -0
  166. package/lib/dist/painter/background/background.d.ts +4 -3
  167. package/lib/dist/painter/background/background.d.ts.map +1 -1
  168. package/lib/dist/painter/background/background.js +15 -17
  169. package/lib/dist/painter/clear.d.ts +4 -3
  170. package/lib/dist/painter/clear.d.ts.map +1 -1
  171. package/lib/dist/painter/clear.js +18 -22
  172. package/lib/dist/painter/debug/index.d.ts +2 -0
  173. package/lib/dist/painter/debug/index.d.ts.map +1 -0
  174. package/lib/dist/painter/debug/index.js +2 -0
  175. package/lib/dist/painter/debug/stencil/index.d.ts +2 -0
  176. package/lib/dist/painter/debug/stencil/index.d.ts.map +1 -0
  177. package/lib/dist/painter/debug/stencil/index.js +2 -0
  178. package/lib/dist/painter/debug/stencil/stencil.d.ts +11 -0
  179. package/lib/dist/painter/debug/stencil/stencil.d.ts.map +1 -0
  180. package/lib/dist/painter/debug/stencil/stencil.frag +10 -0
  181. package/lib/dist/painter/debug/stencil/stencil.js +53 -0
  182. package/lib/dist/painter/debug/stencil/stencil.vert +7 -0
  183. package/lib/dist/painter/depth.d.ts +7 -5
  184. package/lib/dist/painter/depth.d.ts.map +1 -1
  185. package/lib/dist/painter/depth.js +5 -11
  186. package/lib/dist/painter/filter/filter.d.ts +3 -3
  187. package/lib/dist/painter/filter/filter.d.ts.map +1 -1
  188. package/lib/dist/painter/filter/filter.js +44 -46
  189. package/lib/dist/painter/framebuffer.d.ts +25 -4
  190. package/lib/dist/painter/framebuffer.d.ts.map +1 -1
  191. package/lib/dist/painter/framebuffer.js +76 -43
  192. package/lib/dist/painter/group.js +11 -12
  193. package/lib/dist/painter/index.d.ts +2 -1
  194. package/lib/dist/painter/index.d.ts.map +1 -1
  195. package/lib/dist/painter/index.js +3 -2
  196. package/lib/dist/painter/logic.js +3 -3
  197. package/lib/dist/painter/mesh/gltf/gltf.d.ts +1 -1
  198. package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
  199. package/lib/dist/painter/mesh/gltf/gltf.js +9 -10
  200. package/lib/dist/painter/mesh/mesh/mesh.d.ts +2 -2
  201. package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
  202. package/lib/dist/painter/mesh/mesh/mesh.js +45 -43
  203. package/lib/dist/painter/mesh/normals/normals.d.ts.map +1 -1
  204. package/lib/dist/painter/mesh/normals/normals.js +19 -22
  205. package/lib/dist/painter/node/node.d.ts +12 -12
  206. package/lib/dist/painter/node/node.d.ts.map +1 -1
  207. package/lib/dist/painter/node/node.js +32 -43
  208. package/lib/dist/painter/painter.js +11 -9
  209. package/lib/dist/painter/segments/segments.d.ts +11 -3
  210. package/lib/dist/painter/segments/segments.d.ts.map +1 -1
  211. package/lib/dist/painter/segments/segments.js +38 -38
  212. package/lib/dist/painter/skybox/skybox.d.ts.map +1 -1
  213. package/lib/dist/painter/skybox/skybox.js +13 -14
  214. package/lib/dist/painter/state/state.d.ts +4 -6
  215. package/lib/dist/painter/state/state.d.ts.map +1 -1
  216. package/lib/dist/painter/state/state.js +83 -65
  217. package/lib/dist/parser/for-each-line.d.ts.map +1 -1
  218. package/lib/dist/parser/for-each-line.js +5 -5
  219. package/lib/dist/parser/gltf/gltf.d.ts +5 -2
  220. package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
  221. package/lib/dist/parser/gltf/gltf.js +114 -83
  222. package/lib/dist/parser/gltf/parser.js +10 -11
  223. package/lib/dist/parser/mesh/wavefront.d.ts.map +1 -1
  224. package/lib/dist/parser/mesh/wavefront.js +106 -111
  225. package/lib/dist/program/program.d.ts +2 -2
  226. package/lib/dist/program/program.d.ts.map +1 -1
  227. package/lib/dist/program/program.js +27 -33
  228. package/lib/dist/{ref-map.d.ts → reference-map.d.ts} +4 -4
  229. package/lib/dist/reference-map.d.ts.map +1 -0
  230. package/lib/dist/reference-map.js +52 -0
  231. package/lib/dist/shader/code.d.ts +2 -2
  232. package/lib/dist/shader/code.d.ts.map +1 -1
  233. package/lib/dist/shader/code.js +12 -12
  234. package/lib/dist/shader/fragment.js +7 -19
  235. package/lib/dist/shader/vertex.js +7 -12
  236. package/lib/dist/table/index.d.ts +2 -0
  237. package/lib/dist/table/index.d.ts.map +1 -0
  238. package/lib/dist/table/index.js +2 -0
  239. package/lib/dist/table/table.d.ts +41 -0
  240. package/lib/dist/table/table.d.ts.map +1 -0
  241. package/lib/dist/table/table.js +104 -0
  242. package/lib/dist/texture/index.d.ts +1 -1
  243. package/lib/dist/texture/index.d.ts.map +1 -1
  244. package/lib/dist/texture/index.js +2 -2
  245. package/lib/dist/texture/texture-cube.d.ts +24 -0
  246. package/lib/dist/texture/texture-cube.d.ts.map +1 -0
  247. package/lib/dist/texture/texture-cube.js +69 -0
  248. package/lib/dist/texture/texture2d.d.ts +47 -21
  249. package/lib/dist/texture/texture2d.d.ts.map +1 -1
  250. package/lib/dist/texture/texture2d.js +178 -133
  251. package/lib/dist/types/elements.js +2 -2
  252. package/lib/dist/types/gltf.js +3 -9
  253. package/lib/dist/types/guards.d.ts.map +1 -1
  254. package/lib/dist/types/guards.js +36 -37
  255. package/lib/dist/types/index.d.ts +1 -3
  256. package/lib/dist/types/index.d.ts.map +1 -1
  257. package/lib/dist/types/index.js +2 -4
  258. package/lib/dist/types/program.d.ts +0 -37
  259. package/lib/dist/types/program.d.ts.map +1 -1
  260. package/lib/dist/types/{textureCube.d.ts → texture-cube.d.ts} +7 -16
  261. package/lib/dist/types/texture-cube.d.ts.map +1 -0
  262. package/lib/dist/types/texture-cube.js +2 -0
  263. package/lib/dist/types/webgl.d.ts +15 -5
  264. package/lib/dist/types/webgl.d.ts.map +1 -1
  265. package/lib/dist/types/webgl.js +37 -30
  266. package/lib/dist/utils/action/camera.d.ts.map +1 -1
  267. package/lib/dist/utils/action/camera.js +15 -25
  268. package/lib/dist/utils/action/transfo.d.ts +3 -0
  269. package/lib/dist/utils/action/transfo.d.ts.map +1 -0
  270. package/lib/dist/utils/action/transfo.js +18 -0
  271. package/lib/dist/utils/action/vector.d.ts.map +1 -1
  272. package/lib/dist/utils/action/vector.js +11 -11
  273. package/lib/dist/utils/assert.d.ts.map +1 -1
  274. package/lib/dist/utils/assert.js +2 -2
  275. package/lib/dist/utils/bbox.js +3 -3
  276. package/lib/dist/utils/bbox.test.js +18 -19
  277. package/lib/dist/utils/canvas.d.ts +28 -0
  278. package/lib/dist/utils/canvas.d.ts.map +1 -1
  279. package/lib/dist/utils/canvas.js +59 -5
  280. package/lib/dist/utils/{ease-func/ease-func.d.ts → easing-function/easing-function.d.ts} +1 -1
  281. package/lib/dist/utils/easing-function/easing-function.d.ts.map +1 -0
  282. package/lib/dist/utils/easing-function/easing-function.js +142 -0
  283. package/lib/dist/utils/easing-function/index.d.ts +2 -0
  284. package/lib/dist/utils/easing-function/index.d.ts.map +1 -0
  285. package/lib/dist/utils/easing-function/index.js +2 -0
  286. package/lib/dist/utils/framebuffer.d.ts +2 -0
  287. package/lib/dist/utils/framebuffer.d.ts.map +1 -0
  288. package/lib/dist/utils/framebuffer.js +7 -0
  289. package/lib/dist/utils/fullscreen.d.ts +1 -1
  290. package/lib/dist/utils/fullscreen.d.ts.map +1 -1
  291. package/lib/dist/utils/fullscreen.js +44 -37
  292. package/lib/dist/utils/index.d.ts +4 -1
  293. package/lib/dist/utils/index.d.ts.map +1 -1
  294. package/lib/dist/utils/index.js +5 -2
  295. package/lib/dist/utils/math.d.ts +4 -2
  296. package/lib/dist/utils/math.d.ts.map +1 -1
  297. package/lib/dist/utils/math.js +12 -4
  298. package/lib/dist/utils/pbo.d.ts +9 -0
  299. package/lib/dist/utils/pbo.d.ts.map +1 -0
  300. package/lib/dist/utils/pbo.js +32 -0
  301. package/lib/dist/utils/{ref-map.d.ts → reference-map.d.ts} +4 -4
  302. package/lib/dist/utils/reference-map.d.ts.map +1 -0
  303. package/lib/dist/utils/reference-map.js +52 -0
  304. package/lib/dist/utils/state/blend.d.ts +5 -5
  305. package/lib/dist/utils/state/blend.d.ts.map +1 -1
  306. package/lib/dist/utils/state/blend.js +10 -10
  307. package/lib/dist/utils/state/depth.d.ts +2 -2
  308. package/lib/dist/utils/state/depth.d.ts.map +1 -1
  309. package/lib/dist/utils/state/depth.js +5 -5
  310. package/lib/dist/utils/state/stencil.d.ts +55 -1
  311. package/lib/dist/utils/state/stencil.d.ts.map +1 -1
  312. package/lib/dist/utils/state/stencil.js +28 -46
  313. package/lib/dist/utils/template.js +3 -3
  314. package/lib/dist/utils/webgl.d.ts +1 -1
  315. package/lib/dist/utils/webgl.d.ts.map +1 -1
  316. package/lib/dist/utils/webgl.js +5 -5
  317. package/lib/dist/vao/vao.d.ts +2 -1
  318. package/lib/dist/vao/vao.d.ts.map +1 -1
  319. package/lib/dist/vao/vao.js +19 -19
  320. package/lib/dist/webgl/index.d.ts +2 -0
  321. package/lib/dist/webgl/index.d.ts.map +1 -0
  322. package/lib/dist/webgl/index.js +2 -0
  323. package/lib/dist/webgl/texture/index.d.ts +3 -0
  324. package/lib/dist/webgl/texture/index.d.ts.map +1 -0
  325. package/lib/dist/webgl/texture/index.js +3 -0
  326. package/lib/dist/webgl/texture/texture2d.d.ts +38 -0
  327. package/lib/dist/webgl/texture/texture2d.d.ts.map +1 -0
  328. package/lib/dist/webgl/texture/texture2d.js +35 -0
  329. package/lib/dist/webgl/texture/types.d.ts +4 -0
  330. package/lib/dist/webgl/texture/types.d.ts.map +1 -0
  331. package/lib/dist/webgl/texture/types.js +2 -0
  332. package/package.json +1 -1
  333. package/lib/dist/math/math.d.ts +0 -9
  334. package/lib/dist/math/math.d.ts.map +0 -1
  335. package/lib/dist/math/math.js +0 -13
  336. package/lib/dist/painter/axis/axis.js +0 -84
  337. package/lib/dist/painter/axis/index.d.ts +0 -2
  338. package/lib/dist/painter/axis/index.d.ts.map +0 -1
  339. package/lib/dist/painter/axis/index.js +0 -2
  340. package/lib/dist/painter/framebuffer-old.d.ts +0 -38
  341. package/lib/dist/painter/framebuffer-old.d.ts.map +0 -1
  342. package/lib/dist/painter/framebuffer-old.js +0 -102
  343. package/lib/dist/painter/framebuffer.backup.d.ts +0 -39
  344. package/lib/dist/painter/framebuffer.backup.d.ts.map +0 -1
  345. package/lib/dist/painter/framebuffer.backup.js +0 -125
  346. package/lib/dist/painter/mesh/hull/hull.d.ts +0 -12
  347. package/lib/dist/painter/mesh/hull/hull.d.ts.map +0 -1
  348. package/lib/dist/painter/mesh/hull/hull.js +0 -11
  349. package/lib/dist/painter/node.d.ts +0 -32
  350. package/lib/dist/painter/node.d.ts.map +0 -1
  351. package/lib/dist/painter/node.js +0 -73
  352. package/lib/dist/ref-map.d.ts.map +0 -1
  353. package/lib/dist/ref-map.js +0 -48
  354. package/lib/dist/resource/index.d.ts +0 -5
  355. package/lib/dist/resource/index.d.ts.map +0 -1
  356. package/lib/dist/resource/index.js +0 -5
  357. package/lib/dist/resource/program.d.ts +0 -10
  358. package/lib/dist/resource/program.d.ts.map +0 -1
  359. package/lib/dist/resource/program.js +0 -20
  360. package/lib/dist/resource/resource.d.ts +0 -17
  361. package/lib/dist/resource/resource.d.ts.map +0 -1
  362. package/lib/dist/resource/resource.js +0 -48
  363. package/lib/dist/resource/texture2d.d.ts +0 -10
  364. package/lib/dist/resource/texture2d.d.ts.map +0 -1
  365. package/lib/dist/resource/texture2d.js +0 -20
  366. package/lib/dist/resource/textureCube.d.ts +0 -9
  367. package/lib/dist/resource/textureCube.d.ts.map +0 -1
  368. package/lib/dist/resource/textureCube.js +0 -17
  369. package/lib/dist/scene/scene-node.d.ts +0 -8
  370. package/lib/dist/scene/scene-node.d.ts.map +0 -1
  371. package/lib/dist/scene/scene-node.js +0 -13
  372. package/lib/dist/texture/textureCube.d.ts +0 -17
  373. package/lib/dist/texture/textureCube.d.ts.map +0 -1
  374. package/lib/dist/texture/textureCube.js +0 -87
  375. package/lib/dist/types/context.d.ts +0 -27
  376. package/lib/dist/types/context.d.ts.map +0 -1
  377. package/lib/dist/types/context.js +0 -2
  378. package/lib/dist/types/texture2d.d.ts +0 -36
  379. package/lib/dist/types/texture2d.d.ts.map +0 -1
  380. package/lib/dist/types/texture2d.js +0 -2
  381. package/lib/dist/types/textureCube.d.ts.map +0 -1
  382. package/lib/dist/types/textureCube.js +0 -2
  383. package/lib/dist/utils/ease-func/ease-func.d.ts.map +0 -1
  384. package/lib/dist/utils/ease-func/ease-func.js +0 -142
  385. package/lib/dist/utils/ease-func/index.d.ts +0 -2
  386. package/lib/dist/utils/ease-func/index.d.ts.map +0 -1
  387. package/lib/dist/utils/ease-func/index.js +0 -2
  388. package/lib/dist/utils/fetch/fetch.d.ts +0 -2
  389. package/lib/dist/utils/fetch/fetch.d.ts.map +0 -1
  390. package/lib/dist/utils/fetch/fetch.js +0 -5
  391. package/lib/dist/utils/fetch/index.d.ts +0 -2
  392. package/lib/dist/utils/fetch/index.d.ts.map +0 -1
  393. package/lib/dist/utils/fetch/index.js +0 -2
  394. package/lib/dist/utils/ref-map.d.ts.map +0 -1
  395. package/lib/dist/utils/ref-map.js +0 -48
@@ -1,13 +0,0 @@
1
- export class TgdMath {
2
- static TAU = Math.PI * 2;
3
- static INVERSE_TAU = 0.5 / Math.PI;
4
- static INVERSE_PI = 1 / Math.PI;
5
- static INVERSE_180 = 1 / 180;
6
- static radiansToDegrees(radians) {
7
- return radians * 180 * TgdMath.INVERSE_PI;
8
- }
9
- static degreesToRadians(degrees) {
10
- return degrees * Math.PI * TgdMath.INVERSE_180;
11
- }
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRoL21hdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLE9BQU87SUFDaEIsTUFBTSxDQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUVqQyxNQUFNLENBQVUsV0FBVyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFBO0lBRTNDLE1BQU0sQ0FBVSxVQUFVLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUE7SUFFeEMsTUFBTSxDQUFVLFdBQVcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFBO0lBRXJDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFlO1FBQ25DLE9BQU8sT0FBTyxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFBO0lBQzdDLENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBZTtRQUNuQyxPQUFPLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUE7SUFDbEQsQ0FBQyJ9
@@ -1,84 +0,0 @@
1
- import { TgdPainter } from "./../painter.js";
2
- import { TgdDataset } from "./../../dataset/index.js";
3
- import { TgdVec4 } from "./../../math/index.js";
4
- import VERT from "./axis.vert";
5
- import FRAG from "./axis.frag";
6
- export class TgdPainterAxis extends TgdPainter {
7
- context;
8
- vao;
9
- prg;
10
- translateAndScale;
11
- constructor(context, { x = 0, y = 0, z = 0, scale = 1 } = {}) {
12
- super();
13
- this.context = context;
14
- const prg = context.programs.create({
15
- vert: VERT,
16
- frag: FRAG,
17
- });
18
- this.prg = prg;
19
- const dataset = new TgdDataset({
20
- attPos: "vec3",
21
- attColor: "vec4",
22
- });
23
- // prettier-ignore
24
- dataset.set("attPos", new Float32Array([
25
- 0, 0, 0, +1, +0, +0,
26
- 0, 0, 0, +0, +1, +0,
27
- 0, 0, 0, +0, +0, +1,
28
- 0, 0, 0, -1, -0, -0,
29
- 0, 0, 0, -0, -1, -0,
30
- 0, 0, 0, -0, -0, -1,
31
- ]));
32
- const a = 1;
33
- const b = 0.25;
34
- // prettier-ignore
35
- dataset.set("attColor", new Float32Array([
36
- a, 0, 0, 1, a, 0, 0, 1,
37
- 0, a, 0, 1, 0, a, 0, 1,
38
- 0, 0, a, 1, 0, 0, a, 1,
39
- b, 0, 0, 1, b, 0, 0, 1,
40
- 0, b, 0, 1, 0, b, 0, 1,
41
- 0, 0, b, 1, 0, 0, b, 1,
42
- ]));
43
- this.vao = context.createVAO(prg, [dataset]);
44
- this.translateAndScale = new TgdVec4(x, y, z, scale);
45
- }
46
- get x() {
47
- return this.translateAndScale.x;
48
- }
49
- set x(v) {
50
- this.translateAndScale.x = v;
51
- }
52
- get y() {
53
- return this.translateAndScale.y;
54
- }
55
- set y(v) {
56
- this.translateAndScale.y = v;
57
- }
58
- get z() {
59
- return this.translateAndScale.z;
60
- }
61
- set z(v) {
62
- this.translateAndScale.z = v;
63
- }
64
- get scale() {
65
- return this.translateAndScale.w;
66
- }
67
- set scale(v) {
68
- this.translateAndScale.w = v;
69
- }
70
- delete() {
71
- this.vao.delete();
72
- }
73
- paint() {
74
- const { context, prg, vao, translateAndScale } = this;
75
- const { gl, camera } = context;
76
- prg.use();
77
- prg.uniform4fv("uniTS", translateAndScale);
78
- prg.uniformMatrix4fv("uniModelViewMatrix", camera.matrixModelView);
79
- prg.uniformMatrix4fv("uniProjectionMatrix", camera.matrixProjection);
80
- vao.bind();
81
- gl.drawArrays(gl.LINES, 0, 12);
82
- }
83
- }
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWludGVyL2F4aXMvYXhpcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRW5DLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUM5QixPQUFPLElBQUksTUFBTSxhQUFhLENBQUE7QUFTOUIsTUFBTSxPQUFPLGNBQWUsU0FBUSxVQUFVO0lBTXRCO0lBTEgsR0FBRyxDQUFnQjtJQUNuQixHQUFHLENBQVk7SUFDZixpQkFBaUIsQ0FBUztJQUUzQyxZQUNvQixPQUFtQixFQUNuQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEtBQXFDLEVBQUU7UUFFdkUsS0FBSyxFQUFFLENBQUE7UUFIUyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBSW5DLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ2hDLElBQUksRUFBRSxJQUFJO1lBQ1YsSUFBSSxFQUFFLElBQUk7U0FDYixDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQTtRQUNkLE1BQU0sT0FBTyxHQUFHLElBQUksVUFBVSxDQUFDO1lBQzNCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsUUFBUSxFQUFFLE1BQU07U0FDbkIsQ0FBQyxDQUFBO1FBQ0Ysa0JBQWtCO1FBQ2xCLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksWUFBWSxDQUFDO1lBQ25DLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENB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
@@ -1,2 +0,0 @@
1
- export * from "./axis";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/painter/axis/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from "./axis.js";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFpbnRlci9heGlzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsUUFBUSxDQUFBIn0=
@@ -1,38 +0,0 @@
1
- import { TgdContext } from "../context";
2
- import { TgdTexture2D, TgdTexture2DOptions } from "../types";
3
- import { TgdPainterGroup } from "./group";
4
- export interface TgdPainterFramebufferOldOptions extends TgdTexture2DOptions {
5
- /**
6
- * Do we need a depth buffer?
7
- */
8
- depthBuffer: boolean;
9
- /**
10
- * If defined, the framebuffer will automatically match the
11
- * current viewport size multiplied by `viewportMatchingScale`.
12
- *
13
- * for instance, if `viewportMatchingScale === 0.5` and the viewport
14
- * id (640, 480), then the framebuffer will have a size of
15
- * (320, 240).
16
- */
17
- viewportMatchingScale?: number;
18
- }
19
- export declare class TgdPainterFramebufferOld extends TgdPainterGroup {
20
- private readonly context;
21
- private readonly options;
22
- private dirty;
23
- private _width;
24
- private _height;
25
- private _texture;
26
- private _framebuffer;
27
- private _depthBuffer;
28
- constructor(context: TgdContext, options: Partial<TgdPainterFramebufferOldOptions>);
29
- get texture(): TgdTexture2D;
30
- get width(): number;
31
- set width(v: number);
32
- get height(): number;
33
- set height(v: number);
34
- private createFramebufferIfNeeded;
35
- paint(time: number, delay: number): void;
36
- delete(): void;
37
- }
38
- //# sourceMappingURL=framebuffer-old.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"framebuffer-old.d.ts","sourceRoot":"","sources":["../../src/painter/framebuffer-old.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,MAAM,WAAW,+BAAgC,SAAQ,mBAAmB;IACxE;;OAEG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,qBAAa,wBAAyB,SAAQ,eAAe;IASrD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT5B,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,YAAY,CAAiC;gBAGhC,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,OAAO,CAAC,+BAA+B,CAAC;IAOtE,IAAI,OAAO,IAAI,YAAY,CAK1B;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAKlB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,EAKnB;IAED,OAAO,CAAC,yBAAyB;IA+CjC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAcxC,MAAM;CAgBT"}
@@ -1,102 +0,0 @@
1
- import { TgdPainterGroup } from "./group.js";
2
- export class TgdPainterFramebufferOld extends TgdPainterGroup {
3
- context;
4
- options;
5
- dirty = true;
6
- _width = 0;
7
- _height = 0;
8
- _texture = null;
9
- _framebuffer = null;
10
- _depthBuffer = null;
11
- constructor(context, options) {
12
- super();
13
- this.context = context;
14
- this.options = options;
15
- this._width = options.width ?? 0;
16
- this._height = options.height ?? 0;
17
- }
18
- get texture() {
19
- if (!this._texture) {
20
- this._texture = this.context.textures2D.getDefaultEmpty();
21
- }
22
- return this._texture;
23
- }
24
- get width() {
25
- return this._width;
26
- }
27
- set width(v) {
28
- if (this._width === v)
29
- return;
30
- this._width = v;
31
- this.dirty = true;
32
- }
33
- get height() {
34
- return this._height;
35
- }
36
- set height(v) {
37
- if (this._height === v)
38
- return;
39
- this._height = v;
40
- this.dirty = true;
41
- }
42
- createFramebufferIfNeeded() {
43
- if (!this.dirty)
44
- return;
45
- const { context, width, height } = this;
46
- const { gl } = context;
47
- this.delete();
48
- this._texture = context.textures2D.create({
49
- width: Math.max(width, 1),
50
- height: Math.max(height, 1),
51
- internalFormat: "RGB",
52
- generateMipMap: true,
53
- });
54
- this._framebuffer = context.createFramebuffer();
55
- gl.bindFramebuffer(gl.FRAMEBUFFER, this._framebuffer);
56
- gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, this._texture.glTexture, 0);
57
- if (this.options.depthBuffer === true) {
58
- // Create a Depth Buffer, because the default
59
- // framebuffer has none.
60
- const depthBuffer = gl.createRenderbuffer();
61
- if (!depthBuffer)
62
- throw Error("Unable to create WebGLRenderBuffer!");
63
- this._depthBuffer = depthBuffer;
64
- gl.bindRenderbuffer(gl.RENDERBUFFER, depthBuffer);
65
- gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_COMPONENT16, width, height);
66
- gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, depthBuffer);
67
- }
68
- // const status = gl.checkFramebufferStatus(gl.FRAMEBUFFER)
69
- // console.log("Framebuffer status:", context.lookupWebglConstant(status))
70
- this.dirty = false;
71
- }
72
- paint(time, delay) {
73
- const { context, options } = this;
74
- const { gl } = context;
75
- const { viewportMatchingScale } = options;
76
- if (typeof viewportMatchingScale === "number") {
77
- this.width = Math.round(context.width * viewportMatchingScale);
78
- this.height = Math.round(context.height * viewportMatchingScale);
79
- }
80
- this.createFramebufferIfNeeded();
81
- gl.bindFramebuffer(gl.FRAMEBUFFER, this._framebuffer);
82
- super.paint(time, delay);
83
- gl.bindFramebuffer(gl.FRAMEBUFFER, null);
84
- }
85
- delete() {
86
- const { context, _texture, _framebuffer, _depthBuffer } = this;
87
- const { gl } = context;
88
- if (_texture) {
89
- gl.deleteTexture(_texture.glTexture);
90
- this._texture = null;
91
- }
92
- if (_framebuffer) {
93
- gl.deleteFramebuffer(_framebuffer);
94
- this._framebuffer = null;
95
- }
96
- if (_depthBuffer) {
97
- gl.deleteRenderbuffer(_depthBuffer);
98
- this._depthBuffer = null;
99
- }
100
- }
101
- }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVidWZmZXItb2xkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhaW50ZXIvZnJhbWVidWZmZXItb2xkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFrQnpDLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxlQUFlO0lBU3BDO0lBQ0E7SUFUYixLQUFLLEdBQUcsSUFBSSxDQUFBO0lBQ1osTUFBTSxHQUFHLENBQUMsQ0FBQTtJQUNWLE9BQU8sR0FBRyxDQUFDLENBQUE7SUFDWCxRQUFRLEdBQXdCLElBQUksQ0FBQTtJQUNwQyxZQUFZLEdBQTRCLElBQUksQ0FBQTtJQUM1QyxZQUFZLEdBQTZCLElBQUksQ0FBQTtJQUVyRCxZQUNxQixPQUFtQixFQUNuQixPQUFpRDtRQUVsRSxLQUFLLEVBQUUsQ0FBQTtRQUhVLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBMEM7UUFHbEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQTtRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDN0QsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQTtJQUN4QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFBO0lBQ3RCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxDQUFTO1FBQ2YsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFN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
@@ -1,39 +0,0 @@
1
- import { TgdContext } from "../context";
2
- import { TgdTexture2D, TgdTexture2DOptions } from "../types";
3
- import { TgdPainterGroup } from "./group";
4
- export interface TgdPainterFramebufferOptions extends TgdTexture2DOptions {
5
- /**
6
- * Do we need a depth buffer?
7
- */
8
- depthBuffer: boolean;
9
- /**
10
- * If defined, the framebuffer will automatically match the
11
- * current viewport size multiplied by `viewportMatchingScale`.
12
- *
13
- * for instance, if `viewportMatchingScale === 0.5` and the viewport
14
- * id (640, 480), then the framebuffer will have a size of
15
- * (320, 240).
16
- */
17
- viewportMatchingScale?: number;
18
- name: string;
19
- }
20
- export declare class TgdPainterFramebuffer extends TgdPainterGroup {
21
- private readonly context;
22
- private readonly options;
23
- readonly texture: TgdTexture2D;
24
- readonly textureDepth: TgdTexture2D;
25
- private framebuffer;
26
- private depthbuffer;
27
- private dirty;
28
- private _width;
29
- private _height;
30
- constructor(context: TgdContext, options: Partial<TgdPainterFramebufferOptions>);
31
- get width(): number;
32
- set width(v: number);
33
- get height(): number;
34
- set height(v: number);
35
- paint(time: number, delay: number): void;
36
- delete(): void;
37
- private createFramebufferIfNeeded;
38
- }
39
- //# sourceMappingURL=framebuffer.backup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"framebuffer.backup.d.ts","sourceRoot":"","sources":["../../src/painter/framebuffer.backup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACrE;;OAEG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,IAAI,EAAE,MAAM,CAAA;CACf;AAID,qBAAa,qBAAsB,SAAQ,eAAe;IAUlD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV5B,SAAgB,OAAO,EAAE,YAAY,CAAA;IACrC,SAAgB,YAAY,EAAE,YAAY,CAAA;IAC1C,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAI;gBAGE,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC;IAuBnE,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAKlB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,EAKnB;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAuCxC,MAAM;IAUN,OAAO,CAAC,yBAAyB;CAqBpC"}
@@ -1,125 +0,0 @@
1
- import { TgdPainterGroup } from "./group.js";
2
- const DEFAULT_TEXTURE_SIZE = 256;
3
- export class TgdPainterFramebuffer extends TgdPainterGroup {
4
- context;
5
- options;
6
- texture;
7
- textureDepth;
8
- framebuffer = null;
9
- depthbuffer = null;
10
- dirty = false;
11
- _width = 0;
12
- _height = 0;
13
- constructor(context, options) {
14
- super();
15
- this.context = context;
16
- this.options = options;
17
- this._width = options.width ?? DEFAULT_TEXTURE_SIZE;
18
- this._height = options.height ?? DEFAULT_TEXTURE_SIZE;
19
- this.name = options.name ?? `Framebuffer/${this.name}`;
20
- this.texture = context.textures2D.create({
21
- width: Math.max(this.width, 1),
22
- height: Math.max(this.height, 1),
23
- internalFormat: "RGB",
24
- generateMipMap: true,
25
- });
26
- this.textureDepth = context.textures2D.create({
27
- width: options.depthBuffer ? this._width : 1,
28
- height: options.depthBuffer ? this._height : 1,
29
- generateMipMap: false,
30
- internalFormat: "DEPTH_COMPONENT24",
31
- format: "DEPTH_COMPONENT",
32
- type: "UNSIGNED_INT",
33
- });
34
- this.dirty = true;
35
- }
36
- get width() {
37
- return this._width;
38
- }
39
- set width(v) {
40
- if (this._width === v)
41
- return;
42
- this._width = v;
43
- this.dirty = true;
44
- }
45
- get height() {
46
- return this._height;
47
- }
48
- set height(v) {
49
- if (this._height === v)
50
- return;
51
- this._height = v;
52
- this.dirty = true;
53
- }
54
- paint(time, delay) {
55
- const { context, texture, options } = this;
56
- const { gl } = context;
57
- const { viewportMatchingScale } = options;
58
- if (typeof viewportMatchingScale === "number") {
59
- this.width = Math.max(1, Math.round(context.width * viewportMatchingScale));
60
- this.height = Math.max(1, Math.round(context.height * viewportMatchingScale));
61
- }
62
- const currentFramebuffer = gl.getParameter(gl.FRAMEBUFFER_BINDING);
63
- const [x, y, w, h] = gl.getParameter(gl.VIEWPORT);
64
- this.createFramebufferIfNeeded();
65
- gl.bindFramebuffer(gl.FRAMEBUFFER, this.framebuffer);
66
- gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture.glTexture, 0);
67
- gl.viewport(0, 0, this.width, this.height);
68
- console.log("🚀 [framebuffer] w, h = ", w, h); // @FIXME: Remove this line written on 2024-08-20 at 16:42
69
- console.log("🚀 [framebuffer] this.width, this.height = ", this.width, this.height); // @FIXME: Remove this line written on 2024-08-20 at 16:42
70
- super.paint(time, delay);
71
- gl.bindFramebuffer(gl.FRAMEBUFFER, currentFramebuffer);
72
- gl.viewport(x, y, w, h);
73
- }
74
- delete() {
75
- const { context, texture, textureDepth, framebuffer, depthbuffer } = this;
76
- const { gl } = context;
77
- context.textures2D.delete(texture);
78
- context.textures2D.delete(textureDepth);
79
- if (framebuffer)
80
- gl.deleteFramebuffer(framebuffer);
81
- if (depthbuffer)
82
- gl.deleteRenderbuffer(depthbuffer);
83
- }
84
- createFramebufferIfNeeded() {
85
- if (!this.dirty)
86
- return;
87
- const { context, width, height } = this;
88
- if (this.framebuffer) {
89
- console.log("Delete framebuffer!");
90
- context.gl.deleteFramebuffer(this.framebuffer);
91
- }
92
- console.log("Create framebuffer!");
93
- this.framebuffer = context.createFramebuffer();
94
- this.texture.resize(width, height);
95
- // @TODO: Generate depth buffer.
96
- // if (this.options.depthBuffer === true) {
97
- // // Create a Depth Buffer, because the default
98
- // // framebuffer has none.
99
- // const { gl } = context
100
- // this.depthbuffer = createDepthTexture(gl, this.width, this.height)
101
- // this.textureDepth.resize(width, height)
102
- // }
103
- this.dirty = false;
104
- }
105
- }
106
- function createDepthTexture(gl, width, height) {
107
- const depthTexture = gl.createTexture();
108
- gl.bindTexture(gl.TEXTURE_2D, depthTexture);
109
- const level = 0;
110
- const internalFormat = gl.DEPTH_COMPONENT24;
111
- const border = 0;
112
- const format = gl.DEPTH_COMPONENT;
113
- const type = gl.UNSIGNED_INT;
114
- const data = null;
115
- gl.texImage2D(gl.TEXTURE_2D, level, internalFormat, width, height, border, format, type, data);
116
- // set the filtering so we don't need mips
117
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
118
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
119
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
120
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
121
- // attach the depth texture to the framebuffer
122
- gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.TEXTURE_2D, depthTexture, level);
123
- return depthTexture;
124
- }
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVidWZmZXIuYmFja3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhaW50ZXIvZnJhbWVidWZmZXIuYmFja3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFtQnpDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFBO0FBRWhDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxlQUFlO0lBVWpDO0lBQ0E7SUFWTCxPQUFPLENBQWM7SUFDckIsWUFBWSxDQUFjO0lBQ2xDLFdBQVcsR0FBNEIsSUFBSSxDQUFBO0lBQzNDLFdBQVcsR0FBNkIsSUFBSSxDQUFBO0lBQzVDLEtBQUssR0FBRyxLQUFLLENBQUE7SUFDYixNQUFNLEdBQUcsQ0FBQyxDQUFBO0lBQ1YsT0FBTyxHQUFHLENBQUMsQ0FBQTtJQUVuQixZQUNxQixPQUFtQixFQUNuQixPQUE4QztRQUUvRCxLQUFLLEVBQUUsQ0FBQTtRQUhVLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBdUM7UUFHL0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLG9CQUFvQixDQUFBO1FBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxvQkFBb0IsQ0FBQTtRQUNyRCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksZUFBZSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDdEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUNyQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUM5QixNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZ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
@@ -1,12 +0,0 @@
1
- import { TgdGeometry } from "./../../../geometry/geometry";
2
- import { TgdContext } from "../../../context";
3
- import { TgdPainterMesh } from "../mesh";
4
- import { ArrayNumber4 } from "../../../types";
5
- export interface TgdPainterMeshHullOptions {
6
- geometry: TgdGeometry;
7
- color?: ArrayNumber4;
8
- }
9
- export declare class TgdPainterMeshHull extends TgdPainterMesh {
10
- constructor(context: TgdContext, options: TgdPainterMeshHullOptions);
11
- }
12
- //# sourceMappingURL=hull.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hull.d.ts","sourceRoot":"","sources":["../../../../src/painter/mesh/hull/hull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGzC,MAAM,WAAW,yBAAyB;IACtC,QAAQ,EAAE,WAAW,CAAA;IACrB,KAAK,CAAC,EAAE,YAAY,CAAA;CACvB;AAED,qBAAa,kBAAmB,SAAQ,cAAc;gBACtC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,yBAAyB;CAMtE"}
@@ -1,11 +0,0 @@
1
- import { TgdPainterMesh } from "../mesh/index.js";
2
- import { TgdMaterialSolid } from "./../../../material/index.js";
3
- export class TgdPainterMeshHull extends TgdPainterMesh {
4
- constructor(context, options) {
5
- super(context, {
6
- geometry: options.geometry,
7
- material: new TgdMaterialSolid({ color: options.color }),
8
- });
9
- }
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWludGVyL21lc2gvaHVsbC9odWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFFeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBT2hELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxjQUFjO0lBQ2xELFlBQVksT0FBbUIsRUFBRSxPQUFrQztRQUMvRCxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ1gsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1lBQzFCLFFBQVEsRUFBRSxJQUFJLGdCQUFnQixDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUMzRCxDQUFDLENBQUE7SUFDTixDQUFDO0NBQ0oifQ==
@@ -1,32 +0,0 @@
1
- import { TgdMat4 } from "../math";
2
- import { TgdPainter } from "./painter";
3
- import { TgdTransfo } from "../math/transfo";
4
- export interface TgdPainterNodeChild {
5
- paint(time: number, delay: number): void;
6
- delete(): void;
7
- matrixTransfo: TgdMat4;
8
- }
9
- export interface TgdPainterNodeOptions {
10
- children: Array<TgdPainterNode | TgdPainterNodeChild>;
11
- }
12
- /**
13
- * A Node can hold others Nodes or any object providing the
14
- * TgdPainterNodeChild interface.
15
- *
16
- * Each Node is a local space for its children.
17
- */
18
- export declare class TgdPainterNode extends TgdPainter {
19
- parentTransfo: TgdTransfo;
20
- readonly transfo: TgdTransfo;
21
- private readonly matrixTransfo;
22
- private parentUpdateCount;
23
- private updateCount;
24
- private readonly childrenNodes;
25
- private readonly children;
26
- constructor(options?: Partial<TgdPainterNodeOptions>);
27
- delete(): void;
28
- add(...children: Array<TgdPainterNode | TgdPainterNodeChild>): void;
29
- remove(...children: Array<TgdPainterNode | TgdPainterNodeChild>): void;
30
- paint(time: number, delay: number): void;
31
- }
32
- //# sourceMappingURL=node.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/painter/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,WAAW,mBAAmB;IAChC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,MAAM,IAAI,IAAI,CAAA;IACd,aAAa,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,KAAK,CAAC,cAAc,GAAG,mBAAmB,CAAC,CAAA;CACxD;AAED;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,UAAU;IACnC,aAAa,EAAE,UAAU,CAAmB;IACnD,SAAgB,OAAO,aAAmB;IAE1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,iBAAiB,CAAI;IAC7B,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;gBAEzC,OAAO,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAMxD,MAAM,IAAI,IAAI;IASd,GAAG,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,cAAc,GAAG,mBAAmB,CAAC;IAU5D,MAAM,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,cAAc,GAAG,mBAAmB,CAAC;IAY/D,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CA2B3C"}
@@ -1,73 +0,0 @@
1
- import { TgdMat4 } from "./../math/index.js";
2
- import { TgdPainter } from "./painter.js";
3
- import { TgdTransfo } from "../math/transfo.js";
4
- /**
5
- * A Node can hold others Nodes or any object providing the
6
- * TgdPainterNodeChild interface.
7
- *
8
- * Each Node is a local space for its children.
9
- */
10
- export class TgdPainterNode extends TgdPainter {
11
- parentTransfo = new TgdTransfo();
12
- transfo = new TgdTransfo();
13
- matrixTransfo = new TgdMat4();
14
- parentUpdateCount = 0;
15
- updateCount = 0;
16
- childrenNodes = [];
17
- children = [];
18
- constructor(options = {}) {
19
- super();
20
- const { children = [] } = options;
21
- children.forEach(child => this.add(child));
22
- }
23
- delete() {
24
- for (const child of this.children) {
25
- child.delete();
26
- }
27
- for (const child of this.childrenNodes) {
28
- child.delete();
29
- }
30
- }
31
- add(...children) {
32
- for (const child of children) {
33
- if (child instanceof TgdPainterNode) {
34
- this.childrenNodes.push(child);
35
- }
36
- else {
37
- this.children.push(child);
38
- }
39
- }
40
- }
41
- remove(...children) {
42
- for (const child of children) {
43
- if (child instanceof TgdPainterNode) {
44
- const idxNode = this.childrenNodes.indexOf(child);
45
- if (idxNode > -1)
46
- this.childrenNodes.splice(idxNode, 1);
47
- }
48
- else {
49
- const idx = this.children.indexOf(child);
50
- if (idx > -1)
51
- this.children.splice(idx, 1);
52
- }
53
- }
54
- }
55
- paint(time, delay) {
56
- const { transfo, parentTransfo, matrixTransfo, parentUpdateCount, updateCount, children, childrenNodes, } = this;
57
- if (transfo.updateCount > updateCount ||
58
- parentTransfo.updateCount > parentUpdateCount) {
59
- this.updateCount = transfo.updateCount;
60
- this.parentUpdateCount = parentTransfo.updateCount;
61
- matrixTransfo.from(parentTransfo.matrix).multiply(transfo.matrix);
62
- }
63
- for (const child of children) {
64
- child.matrixTransfo = matrixTransfo;
65
- child.paint(time, delay);
66
- }
67
- for (const child of childrenNodes) {
68
- child.parentTransfo.matrix = matrixTransfo;
69
- child.paint(time, delay);
70
- }
71
- }
72
- }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYWludGVyL25vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQVk1Qzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsVUFBVTtJQUNuQyxhQUFhLEdBQWUsSUFBSSxVQUFVLEVBQUUsQ0FBQTtJQUNuQyxPQUFPLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQTtJQUV6QixhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtJQUN0QyxpQkFBaUIsR0FBRyxDQUFDLENBQUE7SUFDckIsV0FBVyxHQUFHLENBQUMsQ0FBQTtJQUNOLGFBQWEsR0FBcUIsRUFBRSxDQUFBO0lBQ3BDLFFBQVEsR0FBMEIsRUFBRSxDQUFBO0lBRXJELFlBQVksVUFBMEMsRUFBRTtRQUNwRCxLQUFLLEVBQUUsQ0FBQTtRQUNQLE1BQU0sRUFBRSxRQUFRLEdBQUcsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFBO1FBQ2pDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDOUMsQ0FBQztJQUVELE1BQU07UUFDRixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDbEIsQ0FBQztRQUNELEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUNsQixDQUFDO0lBQ0wsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFHLFFBQXFEO1FBQ3hELEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFLENBQUM7WUFDM0IsSUFBSSxLQUFLLFlBQVksY0FBYyxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ2xDLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUM3QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRyxRQUFxRDtRQUMzRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzNCLElBQUksS0FBSyxZQUFZLGNBQWMsRUFBRSxDQUFDO2dCQUNsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDakQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO29CQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUMzRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQ3hDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztvQkFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDOUMsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQVksRUFBRSxLQUFhO1FBQzdCLE1BQU0sRUFDRixPQUFPLEVBQ1AsYUFBYSxFQUNiLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLFFBQVEsRUFDUixhQUFhLEdBQ2hCLEdBQUcsSUFBSSxDQUFBO1FBQ1IsSUFDSSxPQUFPLENBQUMsV0FBVyxHQUFHLFdBQVc7WUFDakMsYUFBYSxDQUFDLFdBQVcsR0FBRyxpQkFBaUIsRUFDL0MsQ0FBQztZQUNDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQTtZQUN0QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQTtZQUNsRCxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3JFLENBQUM7UUFDRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzNCLEtBQUssQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFBO1lBQ25DLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQzVCLENBQUM7UUFDRCxLQUFLLE1BQU0sS0FBSyxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2hDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQTtZQUMxQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUM1QixDQUFDO0lBQ0wsQ0FBQztDQUNKIn0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"ref-map.d.ts","sourceRoot":"","sources":["../src/ref-map.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO;IACxC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA8B;IAClD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IAEnD;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,GAAG,OAAO;IAelD;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;CAe5C"}
@@ -1,48 +0,0 @@
1
- /**
2
- * A Reference Map counts how many time you want to insert the same key.
3
- * And it tells you when you delete it as many times.
4
- */
5
- export default class RefMap {
6
- map = new Map();
7
- count = new Map();
8
- /**
9
- * If `key` is already stored in the map,
10
- * we add a reference to the mapped value and return it.
11
- * If not, we create the mapped value by calling `factory()`.
12
- */
13
- add(key, factory) {
14
- const { map, count } = this;
15
- if (count.has(key)) {
16
- count.set(key, 1 + (count.get(key) ?? 0));
17
- const curVal = map.get(key);
18
- if (!curVal)
19
- throw Error("[CountMap] Map should not be empty!");
20
- return curVal;
21
- }
22
- const newVal = factory();
23
- map.set(key, newVal);
24
- count.set(key, 1);
25
- return newVal;
26
- }
27
- /**
28
- * Delete a reference to `key`.
29
- * If the last reference has been removed,
30
- * then return the mapped value, otherwise
31
- * return `undefined`.
32
- */
33
- delete(key) {
34
- const { map, count } = this;
35
- if (!map.has(key))
36
- return;
37
- const newCount = (count.get(key) ?? 0) - 1;
38
- if (newCount > 0) {
39
- count.set(key, newCount);
40
- return;
41
- }
42
- const value = map.get(key);
43
- map.delete(key);
44
- count.delete(key);
45
- return value;
46
- }
47
- }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmLW1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZWYtbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sTUFBTTtJQUNOLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBb0IsQ0FBQTtJQUNqQyxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUE7SUFFbkQ7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxHQUFZLEVBQUUsT0FBc0I7UUFDcEMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDM0IsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDakIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3pDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDM0IsSUFBSSxDQUFDLE1BQU07Z0JBQUUsTUFBTSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQTtZQUMvRCxPQUFPLE1BQU0sQ0FBQTtRQUNqQixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsT0FBTyxFQUFFLENBQUE7UUFDeEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDcEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDakIsT0FBTyxNQUFNLENBQUE7SUFDakIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLEdBQVk7UUFDZixNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQTtRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFBRSxPQUFNO1FBRXpCLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDMUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQTtZQUN4QixPQUFNO1FBQ1YsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDMUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNmLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDakIsT0FBTyxLQUFLLENBQUE7SUFDaEIsQ0FBQztDQUNKIn0=