@tolokoban/tgd 2.0.118 → 2.0.121

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 (224) hide show
  1. package/lib/dist/bounding-box.js +2 -2
  2. package/lib/dist/buffer/buffer.js +7 -9
  3. package/lib/dist/camera/camera-orthographic.d.ts +1 -0
  4. package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
  5. package/lib/dist/camera/camera-orthographic.js +13 -3
  6. package/lib/dist/camera/camera-perspective.d.ts +1 -0
  7. package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
  8. package/lib/dist/camera/camera-perspective.js +13 -3
  9. package/lib/dist/camera/camera.d.ts +1 -0
  10. package/lib/dist/camera/camera.d.ts.map +1 -1
  11. package/lib/dist/camera/camera.js +7 -8
  12. package/lib/dist/canvas/gizmo/gizmo.js +16 -15
  13. package/lib/dist/canvas/landscape/landscape.js +8 -2
  14. package/lib/dist/code/math.js +6 -3
  15. package/lib/dist/code/noise.js +18 -6
  16. package/lib/dist/color/color.d.ts +1 -1
  17. package/lib/dist/color/color.d.ts.map +1 -1
  18. package/lib/dist/color/color.js +16 -2
  19. package/lib/dist/context/animation/animation-manager.d.ts +3 -0
  20. package/lib/dist/context/animation/animation-manager.d.ts.map +1 -1
  21. package/lib/dist/context/animation/animation-manager.js +10 -11
  22. package/lib/dist/context/console.d.ts +12 -0
  23. package/lib/dist/context/console.d.ts.map +1 -0
  24. package/lib/dist/context/console.js +31 -0
  25. package/lib/dist/context/context.d.ts +23 -1
  26. package/lib/dist/context/context.d.ts.map +1 -1
  27. package/lib/dist/context/context.js +65 -26
  28. package/lib/dist/context/webgl-params.d.ts +9 -3
  29. package/lib/dist/context/webgl-params.d.ts.map +1 -1
  30. package/lib/dist/context/webgl-params.js +39 -12
  31. package/lib/dist/controller/camera/orbit.js +26 -6
  32. package/lib/dist/dataset/dataset.d.ts.map +1 -1
  33. package/lib/dist/dataset/dataset.js +26 -35
  34. package/lib/dist/debug/console.js +6 -4
  35. package/lib/dist/debug/debug.js +5 -6
  36. package/lib/dist/factory/mesh-glb.d.ts +4 -6
  37. package/lib/dist/factory/mesh-glb.d.ts.map +1 -1
  38. package/lib/dist/factory/mesh-glb.js +6 -6
  39. package/lib/dist/filter/blur.js +14 -8
  40. package/lib/dist/filter/filter.js +2 -3
  41. package/lib/dist/filter/hue-rotation.js +2 -2
  42. package/lib/dist/geometry/geometry.js +7 -10
  43. package/lib/dist/geometry/grid.js +3 -3
  44. package/lib/dist/geometry/tools/marching-cubes/marching-cubes.d.ts +1 -1
  45. package/lib/dist/geometry/tools/marching-cubes/marching-cubes.d.ts.map +1 -1
  46. package/lib/dist/geometry/tools/marching-cubes/marching-cubes.js +2 -10
  47. package/lib/dist/input/gamepad.js +9 -17
  48. package/lib/dist/input/pointer.d.ts.map +1 -1
  49. package/lib/dist/input/pointer.js +53 -22
  50. package/lib/dist/light/light.js +2 -3
  51. package/lib/dist/loader/asset.js +11 -14
  52. package/lib/dist/loader/binary.js +44 -51
  53. package/lib/dist/loader/font.d.ts +13 -0
  54. package/lib/dist/loader/font.d.ts.map +1 -0
  55. package/lib/dist/loader/font.js +28 -0
  56. package/lib/dist/loader/image.js +13 -16
  57. package/lib/dist/loader/index.d.ts +1 -0
  58. package/lib/dist/loader/index.d.ts.map +1 -1
  59. package/lib/dist/loader/index.js +2 -1
  60. package/lib/dist/loader/video.js +13 -16
  61. package/lib/dist/log.js +2 -3
  62. package/lib/dist/material/camera-light.d.ts +1 -0
  63. package/lib/dist/material/camera-light.d.ts.map +1 -1
  64. package/lib/dist/material/camera-light.js +7 -3
  65. package/lib/dist/material/diffuse.js +2 -3
  66. package/lib/dist/material/flat.js +2 -3
  67. package/lib/dist/material/glass.js +6 -8
  68. package/lib/dist/material/global.js +6 -8
  69. package/lib/dist/material/gltf.d.ts +29 -0
  70. package/lib/dist/material/gltf.d.ts.map +1 -0
  71. package/lib/dist/material/gltf.js +186 -0
  72. package/lib/dist/material/hull.js +4 -5
  73. package/lib/dist/material/index.d.ts +2 -0
  74. package/lib/dist/material/index.d.ts.map +1 -1
  75. package/lib/dist/material/index.js +3 -1
  76. package/lib/dist/material/material.js +5 -2
  77. package/lib/dist/material/mirror.d.ts +18 -0
  78. package/lib/dist/material/mirror.d.ts.map +1 -0
  79. package/lib/dist/material/mirror.js +56 -0
  80. package/lib/dist/material/solid.js +2 -3
  81. package/lib/dist/material/toon.js +7 -7
  82. package/lib/dist/math/mat2.d.ts +1 -1
  83. package/lib/dist/math/mat2.d.ts.map +1 -1
  84. package/lib/dist/math/mat2.js +5 -5
  85. package/lib/dist/math/mat3.d.ts.map +1 -1
  86. package/lib/dist/math/mat3.js +4 -4
  87. package/lib/dist/math/mat4.js +3 -4
  88. package/lib/dist/math/transfo.js +11 -14
  89. package/lib/dist/math/vec4.d.ts +1 -0
  90. package/lib/dist/math/vec4.d.ts.map +1 -1
  91. package/lib/dist/math/vec4.js +18 -14
  92. package/lib/dist/painter/background/background.js +2 -2
  93. package/lib/dist/painter/clear.js +5 -6
  94. package/lib/dist/painter/filter/filter.js +9 -7
  95. package/lib/dist/painter/fragment-shader/fragment-shader.js +3 -5
  96. package/lib/dist/painter/framebuffer-msaa.js +5 -2
  97. package/lib/dist/painter/framebuffer.d.ts +1 -1
  98. package/lib/dist/painter/framebuffer.d.ts.map +1 -1
  99. package/lib/dist/painter/framebuffer.js +8 -11
  100. package/lib/dist/painter/gizmo/gizmo.d.ts.map +1 -1
  101. package/lib/dist/painter/gizmo/gizmo.js +5 -5
  102. package/lib/dist/painter/gizmo/painters/normal.js +4 -7
  103. package/lib/dist/painter/gizmo/painters/tips.d.ts.map +1 -1
  104. package/lib/dist/painter/gizmo/painters/tips.js +11 -13
  105. package/lib/dist/painter/group-camera.js +2 -3
  106. package/lib/dist/painter/group.js +6 -8
  107. package/lib/dist/painter/icon/icon.js +10 -8
  108. package/lib/dist/painter/icon/sprite.js +2 -3
  109. package/lib/dist/painter/lod/lod.js +26 -30
  110. package/lib/dist/painter/logic.js +2 -3
  111. package/lib/dist/painter/mesh/gltf/gltf.d.ts +28 -6
  112. package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
  113. package/lib/dist/painter/mesh/gltf/gltf.js +99 -53
  114. package/lib/dist/painter/mesh/mesh/mesh.js +24 -17
  115. package/lib/dist/painter/mix/mix.js +6 -7
  116. package/lib/dist/painter/node/node.js +11 -17
  117. package/lib/dist/painter/overlay/overlay.js +14 -19
  118. package/lib/dist/painter/painter.js +2 -2
  119. package/lib/dist/painter/points-cloud/points-cloud-morphing.js +12 -14
  120. package/lib/dist/painter/points-cloud/points-cloud.d.ts +2 -2
  121. package/lib/dist/painter/points-cloud/points-cloud.d.ts.map +1 -1
  122. package/lib/dist/painter/points-cloud/points-cloud.js +20 -21
  123. package/lib/dist/painter/program.js +24 -11
  124. package/lib/dist/painter/segments/segments-morphing.js +30 -14
  125. package/lib/dist/painter/segments/segments.d.ts +1 -1
  126. package/lib/dist/painter/segments/segments.d.ts.map +1 -1
  127. package/lib/dist/painter/segments/segments.js +34 -21
  128. package/lib/dist/painter/skybox/skybox.d.ts +18 -8
  129. package/lib/dist/painter/skybox/skybox.d.ts.map +1 -1
  130. package/lib/dist/painter/skybox/skybox.js +89 -44
  131. package/lib/dist/painter/sprites/accessor.js +2 -2
  132. package/lib/dist/painter/sprites/sprites-hue.js +18 -8
  133. package/lib/dist/painter/sprites/sprites.d.ts.map +1 -1
  134. package/lib/dist/painter/sprites/sprites.js +53 -21
  135. package/lib/dist/painter/state/state.d.ts +1 -1
  136. package/lib/dist/painter/state/state.d.ts.map +1 -1
  137. package/lib/dist/painter/state/state.js +6 -11
  138. package/lib/dist/painter/tubes/geometry.js +3 -4
  139. package/lib/dist/painter/tubes/tubes.js +3 -4
  140. package/lib/dist/painter/x-ray/background.js +2 -2
  141. package/lib/dist/painter/x-ray/x-ray.js +8 -5
  142. package/lib/dist/parser/gltf/gltf.d.ts +13 -5
  143. package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
  144. package/lib/dist/parser/gltf/gltf.js +113 -114
  145. package/lib/dist/parser/gltf/parser.d.ts.map +1 -1
  146. package/lib/dist/parser/gltf/parser.js +12 -1
  147. package/lib/dist/parser/mesh/wavefront.js +3 -5
  148. package/lib/dist/program/program.d.ts.map +1 -1
  149. package/lib/dist/program/program.js +6 -7
  150. package/lib/dist/reference-map.js +3 -5
  151. package/lib/dist/shader/code.js +2 -2
  152. package/lib/dist/texture/texture-cube.d.ts +20 -8
  153. package/lib/dist/texture/texture-cube.d.ts.map +1 -1
  154. package/lib/dist/texture/texture-cube.js +54 -2
  155. package/lib/dist/texture/texture2d.d.ts +10 -3
  156. package/lib/dist/texture/texture2d.d.ts.map +1 -1
  157. package/lib/dist/texture/texture2d.js +54 -52
  158. package/lib/dist/time/interval/interval.js +2 -3
  159. package/lib/dist/types/gltf.d.ts +2 -1
  160. package/lib/dist/types/gltf.d.ts.map +1 -1
  161. package/lib/dist/types/gltf.js +10 -4
  162. package/lib/dist/types/guards.js +2 -3
  163. package/lib/dist/types/input-pointer.d.ts +5 -0
  164. package/lib/dist/types/input-pointer.d.ts.map +1 -1
  165. package/lib/dist/types/texture-cube.d.ts +1 -0
  166. package/lib/dist/types/texture-cube.d.ts.map +1 -1
  167. package/lib/dist/uniform/ubo-camera.d.ts +2 -1
  168. package/lib/dist/uniform/ubo-camera.d.ts.map +1 -1
  169. package/lib/dist/uniform/ubo-camera.js +9 -2
  170. package/lib/dist/uniform/uniform-buffer-object.js +2 -2
  171. package/lib/dist/utils/action/camera.js +3 -4
  172. package/lib/dist/utils/animation/chain-transfo-interpolations.js +6 -2
  173. package/lib/dist/utils/animation/chain.js +12 -12
  174. package/lib/dist/utils/bbox.js +3 -3
  175. package/lib/dist/utils/canvas.js +3 -3
  176. package/lib/dist/utils/ensure.d.ts +2 -0
  177. package/lib/dist/utils/ensure.d.ts.map +1 -1
  178. package/lib/dist/utils/ensure.js +21 -5
  179. package/lib/dist/utils/fullscreen.js +31 -38
  180. package/lib/dist/utils/reference-map.js +3 -5
  181. package/lib/dist/utils/state/blend.d.ts +1 -1
  182. package/lib/dist/utils/state/blend.d.ts.map +1 -1
  183. package/lib/dist/utils/state/blend.js +28 -1
  184. package/lib/dist/utils/state/stencil.js +2 -2
  185. package/lib/dist/vao/vao.js +8 -9
  186. package/lib/dist/version.d.ts +1 -1
  187. package/lib/dist/version.js +1 -1
  188. package/lib/dist/wasm/function.js +2 -3
  189. package/lib/dist/wasm/index.js +16 -19
  190. package/lib/dist/wasm/wast.js +3 -4
  191. package/lib/dist/webgl/texture/texture2d.js +2 -3
  192. package/package.json +1 -1
  193. package/lib/dist/math/common.test.d.ts +0 -2
  194. package/lib/dist/math/common.test.d.ts.map +0 -1
  195. package/lib/dist/math/common.test.js +0 -22
  196. package/lib/dist/math/mat3.test.d.ts +0 -2
  197. package/lib/dist/math/mat3.test.d.ts.map +0 -1
  198. package/lib/dist/math/mat3.test.js +0 -32
  199. package/lib/dist/math/mat4.test.d.ts +0 -2
  200. package/lib/dist/math/mat4.test.d.ts.map +0 -1
  201. package/lib/dist/math/mat4.test.js +0 -57
  202. package/lib/dist/math/math.test.d.ts +0 -2
  203. package/lib/dist/math/math.test.d.ts.map +0 -1
  204. package/lib/dist/math/math.test.js +0 -23
  205. package/lib/dist/math/quat.test.d.ts +0 -3
  206. package/lib/dist/math/quat.test.d.ts.map +0 -1
  207. package/lib/dist/math/quat.test.js +0 -99
  208. package/lib/dist/math/vec3.test.d.ts +0 -2
  209. package/lib/dist/math/vec3.test.d.ts.map +0 -1
  210. package/lib/dist/math/vec3.test.js +0 -36
  211. package/lib/dist/math/vec4.test.d.ts +0 -2
  212. package/lib/dist/math/vec4.test.d.ts.map +0 -1
  213. package/lib/dist/math/vec4.test.js +0 -15
  214. package/lib/dist/painter/gizmo/painters/axes.1.d.ts +0 -14
  215. package/lib/dist/painter/gizmo/painters/axes.1.d.ts.map +0 -1
  216. package/lib/dist/painter/gizmo/painters/axes.1.js +0 -50
  217. package/lib/dist/painter/skybox/skybox.frag +0 -15
  218. package/lib/dist/painter/skybox/skybox.vert +0 -13
  219. package/lib/dist/utils/bbox.test.d.ts +0 -2
  220. package/lib/dist/utils/bbox.test.d.ts.map +0 -1
  221. package/lib/dist/utils/bbox.test.js +0 -45
  222. package/lib/dist/utils/template.test.d.ts +0 -2
  223. package/lib/dist/utils/template.test.d.ts.map +0 -1
  224. package/lib/dist/utils/template.test.js +0 -17
@@ -20,9 +20,8 @@ export function webglTextureParametersSet(gl, { wrapS, wrapT, wrapR, minFilter,
20
20
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl[magFilter]);
21
21
  }
22
22
  export function webglTextureCreate2DFromArray(gl, data, options) {
23
- var _a;
24
23
  const texture = webglTextureCreate(gl);
25
- gl.activeTexture(gl.TEXTURE0 + ((_a = options.unit) !== null && _a !== void 0 ? _a : 0));
24
+ gl.activeTexture(gl.TEXTURE0 + (options.unit ?? 0));
26
25
  gl.bindTexture(gl.TEXTURE_2D, texture);
27
26
  webglTextureParametersSet(gl, options);
28
27
  const { level = 0, internalFormat = "RGBA8", width, height, format = "RGBA", type = "UNSIGNED_BYTE", offset = 0, } = options;
@@ -32,4 +31,4 @@ export function webglTextureCreate2DFromArray(gl, data, options) {
32
31
  return texture;
33
32
  }
34
33
  // @TODO: webglTextureCreateFromImage and webglTextureCreateFomBuffer
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZTJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dlYmdsL3RleHR1cmUvdGV4dHVyZTJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtDQSxNQUFNLFVBQVUsa0JBQWtCLENBQUMsRUFBMEI7SUFDekQsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQzlCLElBQUksQ0FBQyxHQUFHO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFBO0lBRTlELE9BQU8sR0FBRyxDQUFBO0FBQ2QsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUNyQyxFQUEwQixFQUMxQixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQTBCO0lBRXJFLElBQUksS0FBSztRQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQ3hFLElBQUksS0FBSztRQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQ3hFLElBQUksS0FBSztRQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQ3hFLElBQUksU0FBUztRQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFDcEYsSUFBSSxTQUFTO1FBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtBQUN4RixDQUFDO0FBRUQsTUFBTSxVQUFVLDZCQUE2QixDQUN6QyxFQUEwQixFQUMxQixJQVFrQixFQUNsQixPQUE2Qzs7SUFFN0MsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDdEMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsUUFBUSxHQUFHLENBQUMsTUFBQSxPQUFPLENBQUMsSUFBSSxtQ0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ25ELEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUN0Qyx5QkFBeUIsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDdEMsTUFBTSxFQUNGLEtBQUssR0FBRyxDQUFDLEVBQ1QsY0FBYyxHQUFHLE9BQU8sRUFDeEIsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEdBQUcsTUFBTSxFQUNmLElBQUksR0FBRyxlQUFlLEVBQ3RCLE1BQU0sR0FBRyxDQUFDLEdBQ2IsR0FBRyxPQUFPLENBQUE7SUFDWCxJQUFJLE9BQU8sQ0FBQyxLQUFLO1FBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3hFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQzdHLE9BQU8sT0FBTyxDQUFBO0FBQ2xCLENBQUM7QUFFRCxxRUFBcUUifQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZTJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dlYmdsL3RleHR1cmUvdGV4dHVyZTJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtDQSxNQUFNLFVBQVUsa0JBQWtCLENBQUMsRUFBMEI7SUFDekQsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQzlCLElBQUksQ0FBQyxHQUFHO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFBO0lBRTlELE9BQU8sR0FBRyxDQUFBO0FBQ2QsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUNyQyxFQUEwQixFQUMxQixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQTBCO0lBRXJFLElBQUksS0FBSztRQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQ3hFLElBQUksS0FBSztRQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQ3hFLElBQUksS0FBSztRQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQ3hFLElBQUksU0FBUztRQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFDcEYsSUFBSSxTQUFTO1FBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtBQUN4RixDQUFDO0FBRUQsTUFBTSxVQUFVLDZCQUE2QixDQUN6QyxFQUEwQixFQUMxQixJQVFrQixFQUNsQixPQUE2QztJQUU3QyxNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUN0QyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDbkQsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ3RDLHlCQUF5QixDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUN0QyxNQUFNLEVBQ0YsS0FBSyxHQUFHLENBQUMsRUFDVCxjQUFjLEdBQUcsT0FBTyxFQUN4QixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FBRyxNQUFNLEVBQ2YsSUFBSSxHQUFHLGVBQWUsRUFDdEIsTUFBTSxHQUFHLENBQUMsR0FDYixHQUFHLE9BQU8sQ0FBQTtJQUNYLElBQUksT0FBTyxDQUFDLEtBQUs7UUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDeEUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDN0csT0FBTyxPQUFPLENBQUE7QUFDbEIsQ0FBQztBQUVELHFFQUFxRSJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tolokoban/tgd",
3
- "version": "2.0.118",
3
+ "version": "2.0.121",
4
4
  "description": "ToloGameDev library for WebGL2",
5
5
  "homepage": "https://tolokoban.github.io/tgd2",
6
6
  "main": "./lib/dist/index.js",
@@ -1,2 +0,0 @@
1
- export declare function expectVectorsToBeClose(v1: ArrayLike<number>, v2: ArrayLike<number>, precision?: number): void;
2
- //# sourceMappingURL=common.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.test.d.ts","sourceRoot":"","sources":["../../src/math/common.test.ts"],"names":[],"mappings":"AAAA,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,SAAI,QAYjG"}
@@ -1,22 +0,0 @@
1
- export function expectVectorsToBeClose(v1, v2, precision = 5) {
2
- try {
3
- if (v1.length !== v2.length)
4
- throw new Error("Different sizes!");
5
- // eslint-disable-next-line unicorn/no-for-loop
6
- for (let index = 0; index < v1.length; index++) {
7
- const d = Math.abs(v1[index] - v2[index]);
8
- if (d > Math.pow(10, -precision))
9
- throw new Error(`${v1[index]} is not close to ${v2[index]}!`);
10
- }
11
- }
12
- catch (error) {
13
- const message = error instanceof Error ? error.message : `${error}`;
14
- throw new Error(`[${v1}] is not close to [${v2}]: ${message}`);
15
- }
16
- }
17
- describe(`expectVectorsToBeClose()`, () => {
18
- it(`should be defined`, () => {
19
- expect(expectVectorsToBeClose).toBeDefined();
20
- });
21
- });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWF0aC9jb21tb24udGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsc0JBQXNCLENBQUMsRUFBcUIsRUFBRSxFQUFxQixFQUFFLFNBQVMsR0FBRyxDQUFDO0lBQzlGLElBQUksQ0FBQztRQUNELElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsTUFBTTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUNoRSwrQ0FBK0M7UUFDL0MsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM3QyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtZQUN6QyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQztnQkFBRSxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNuRyxDQUFDO0lBQ0wsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixNQUFNLE9BQU8sR0FBRyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFBO1FBQ25FLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUNsRSxDQUFDO0FBQ0wsQ0FBQztBQUVELFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLEVBQUU7SUFDdEMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtRQUN6QixNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUNoRCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQyxDQUFBIn0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=mat3.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mat3.test.d.ts","sourceRoot":"","sources":["../../src/math/mat3.test.ts"],"names":[],"mappings":""}
@@ -1,32 +0,0 @@
1
- import { expectVectorsToBeClose } from "./common.test.js";
2
- import { TgdMat3 } from "./mat3.js";
3
- import { TgdVec3 } from "./vec3.js";
4
- describe(`TgdMat3`, () => {
5
- describe(`multiply()`, () => {
6
- it(`should multiply two mat3`, () => {
7
- const a = new TgdMat3(1, 2, 3, 4, 5, 6, 7, 8, 9);
8
- const b = new TgdMat3(19, 18, 17, 16, 15, 14, 13, 12, 11);
9
- a.multiply(b);
10
- expectVectorsToBeClose(a, [210, 264, 318, 174, 219, 264, 138, 174, 210]);
11
- });
12
- });
13
- describe(`toAxes[X,Y,Z](0)`, () => {
14
- const m = new TgdMat3(1, 2, 3, 4, 5, 6, 7, 8, 9);
15
- it(`should extract axis X`, () => {
16
- const v = new TgdVec3();
17
- m.toAxisX(v);
18
- expectVectorsToBeClose(v, [1, 4, 7]);
19
- });
20
- it(`should extract axis Y`, () => {
21
- const v = new TgdVec3();
22
- m.toAxisY(v);
23
- expectVectorsToBeClose(v, [2, 5, 8]);
24
- });
25
- it(`should extract axis Z`, () => {
26
- const v = new TgdVec3();
27
- m.toAxisZ(v);
28
- expectVectorsToBeClose(v, [3, 6, 9]);
29
- });
30
- });
31
- });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0My50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hdGgvbWF0My50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFFaEMsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUU7SUFDckIsUUFBUSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7UUFDeEIsRUFBRSxDQUFDLDBCQUEwQixFQUFFLEdBQUcsRUFBRTtZQUNoQyxNQUFNLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQ2hELE1BQU0sQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFDekQsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNiLHNCQUFzQixDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUM1RSxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBQyxDQUFBO0lBQ0YsUUFBUSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsRUFBRTtRQUM5QixNQUFNLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ2hELEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUU7WUFDN0IsTUFBTSxDQUFDLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtZQUN2QixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ1osc0JBQXNCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3hDLENBQUMsQ0FBQyxDQUFBO1FBQ0YsRUFBRSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtZQUM3QixNQUFNLENBQUMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO1lBQ3ZCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDWixzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDeEMsQ0FBQyxDQUFDLENBQUE7UUFDRixFQUFFLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFO1lBQzdCLE1BQU0sQ0FBQyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUE7WUFDdkIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNaLHNCQUFzQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN4QyxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFDLENBQUEifQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=mat4.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mat4.test.d.ts","sourceRoot":"","sources":["../../src/math/mat4.test.ts"],"names":[],"mappings":""}
@@ -1,57 +0,0 @@
1
- import { TgdMat4 } from "./mat4.js";
2
- describe("math/mat4.ts", () => {
3
- describe("Mat4.multiply()", () => {
4
- // prettier-ignore
5
- const cases = [
6
- [
7
- [
8
- 1, 5, 9, 13,
9
- 2, 6, 10, 14,
10
- 3, 7, 11, 15,
11
- 4, 8, 12, 16
12
- ], [
13
- 4, 15, -5, 16,
14
- 3, -55, -59, 88,
15
- 1, 15, -23, 12,
16
- 9, 3, -9, 9
17
- ], [
18
- 83, 203, 323, 443,
19
- 68, -24, -116, -208,
20
- 10, 30, 50, 70,
21
- 24, 72, 120, 168
22
- ]
23
- ]
24
- ];
25
- for (const [a, b, ab] of cases) {
26
- it("should multiply", () => {
27
- const got = [...new TgdMat4(...a).multiply(new TgdMat4(...b))];
28
- const exp = ab;
29
- expect(got).toEqual(exp);
30
- });
31
- }
32
- });
33
- describe("Mat4.invert()", () => {
34
- it("should invert", () => {
35
- // prettier-ignore
36
- const mat = new TgdMat4(1, 0, 0, -1, -5, 1, 1, -2, -2, 74, 1, -3, 1, -5, 0, 1);
37
- mat.invert();
38
- expect(mat[0]).toBeCloseTo(17 / 39, 6);
39
- expect(mat[1]).toBeCloseTo(-5 / 156, 6);
40
- expect(mat[2]).toBeCloseTo(5 / 156, 6);
41
- expect(mat[3]).toBeCloseTo(73 / 156, 6);
42
- expect(mat[4]).toBeCloseTo(-1 / 39, 6);
43
- expect(mat[5]).toBeCloseTo(-1 / 78, 6);
44
- expect(mat[6]).toBeCloseTo(1 / 78, 6);
45
- expect(mat[7]).toBeCloseTo(-1 / 78, 6);
46
- expect(mat[8]).toBeCloseTo(14 / 13, 6);
47
- expect(mat[9]).toBeCloseTo(41 / 52, 6);
48
- expect(mat[10]).toBeCloseTo(11 / 52, 6);
49
- expect(mat[11]).toBeCloseTo(171 / 52, 6);
50
- expect(mat[12]).toBeCloseTo(-22 / 39, 6);
51
- expect(mat[13]).toBeCloseTo(-5 / 156, 6);
52
- expect(mat[14]).toBeCloseTo(5 / 156, 6);
53
- expect(mat[15]).toBeCloseTo(73 / 156, 6);
54
- });
55
- });
56
- });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0NC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hdGgvbWF0NC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFxQmhDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFO0lBQzFCLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7UUFDN0Isa0JBQWtCO1FBQ2xCLE1BQU0sS0FBSyxHQUF5QztZQUNoRDtnQkFDSTtvQkFDSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUNYLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUU7b0JBQ1osQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRTtvQkFDWixDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFO2lCQUNmLEVBQUM7b0JBQ0UsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNiLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFO29CQUNmLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtvQkFDZCxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7aUJBQ2QsRUFBQztvQkFDRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBQyxHQUFHO29CQUNoQixFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHO29CQUNuQixFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO29CQUNkLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUc7aUJBQ25CO2FBQ0o7U0FDSixDQUFBO1FBQ0QsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUM3QixFQUFFLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO2dCQUN2QixNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQzlELE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQTtnQkFDZCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQzVCLENBQUMsQ0FBQyxDQUFBO1FBQ04sQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ0YsUUFBUSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7UUFDM0IsRUFBRSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7WUFDckIsa0JBQWtCO1lBQ2xCLE1BQU0sR0FBRyxHQUFHLElBQUksT0FBTyxDQUNuQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDWCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUNaLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQ2IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQ2QsQ0FBQTtZQUNELEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtZQUNaLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUN0QyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUN2QyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDdEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQ3ZDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQ3RDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQ3RDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUNyQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUN0QyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDdEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQ3RDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUN2QyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDeEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDeEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDeEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQ3ZDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUM1QyxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFDLENBQUEifQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=math.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"math.test.d.ts","sourceRoot":"","sources":["../../src/math/math.test.ts"],"names":[],"mappings":""}
@@ -1,23 +0,0 @@
1
- import { tgdCalcModulo } from "./math.js";
2
- import { tgdCalcRandom } from "./random.js";
3
- describe(`tgdCalc*()`, () => {
4
- describe(`tgdCalcModulo()`, () => {
5
- const cases = [
6
- [-3, 10, 20, 17],
7
- [3, 10, 20, 13],
8
- [13, 10, 20, 13],
9
- [13, 20, 10, 13],
10
- [23, 10, 20, 13],
11
- [3.14, 1, 1.5, 1.14],
12
- [3.64, 1, 1.5, 1.14],
13
- [tgdCalcRandom(-100, 100), 1.618, 1.618, 1.618],
14
- [7, 20, 10, 17],
15
- ];
16
- for (const [value, min, max, expected] of cases) {
17
- it(`should have (${value}, ${min}, ${max}) === ${expected}`, () => {
18
- expect(tgdCalcModulo(value, min, max)).toBeCloseTo(expected, 6);
19
- });
20
- }
21
- });
22
- });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hdGgvbWF0aC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDdEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUV4QyxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN4QixRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO1FBQzdCLE1BQU0sS0FBSyxHQUF1RTtZQUM5RSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ2YsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDaEIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDaEIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDaEIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUM7WUFDcEIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUM7WUFDcEIsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7WUFDL0MsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7U0FDbEIsQ0FBQTtRQUNELEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQzlDLEVBQUUsQ0FBQyxnQkFBZ0IsS0FBSyxLQUFLLEdBQUcsS0FBSyxHQUFHLFNBQVMsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFO2dCQUM5RCxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQ25FLENBQUMsQ0FBQyxDQUFBO1FBQ04sQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFDLENBQUEifQ==
@@ -1,3 +0,0 @@
1
- /** @see https://tools.glowbuzzer.com/rotationconverter */
2
- export {};
3
- //# sourceMappingURL=quat.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quat.test.d.ts","sourceRoot":"","sources":["../../src/math/quat.test.ts"],"names":[],"mappings":"AAAA,0DAA0D"}
@@ -1,99 +0,0 @@
1
- /** @see https://tools.glowbuzzer.com/rotationconverter */
2
- import { TgdQuat, TgdVec3 } from ".//index.js";
3
- function expectVector(actual, expected, precision = 5) {
4
- expect(actual.length).toBe(expected.length);
5
- for (const [index, x] of actual.entries())
6
- expect(x).toBeCloseTo(expected[index], precision);
7
- }
8
- describe("math/quat.ts", () => {
9
- const cases = [
10
- [
11
- [-1, 0, 0],
12
- [0, 1, 0],
13
- [0, 0, -1],
14
- [0, 1, 0, 0],
15
- ],
16
- [
17
- [0.8, 0.4, -0.447214],
18
- [0.4, 0.2, 0.894427],
19
- [0.447214, -0.894427, 0],
20
- [-0.632456, -0.316228, 0, 0.707107],
21
- ],
22
- [
23
- [0.857143, -0.285714, -0.428571],
24
- [0.171429, 0.942857, -0.285714],
25
- [0.485714, 0.171429, 0.857143],
26
- [0.119523, -0.239046, 0.119523, 0.956183],
27
- ],
28
- [
29
- [1, 0, 0],
30
- [0, 1, 0],
31
- [0, 0, 1],
32
- [0, 0, 0, 1],
33
- ],
34
- [
35
- [0.965926, 0, -0.258819],
36
- [0, 1, 0],
37
- [0.258819, 0, 0.965926],
38
- [0, -0.130526, 0, 0.991445],
39
- ],
40
- ];
41
- describe("TgdQuat.fromAxes()", () => {
42
- const quat = new TgdQuat(0, 0, 0, 0);
43
- for (const [X, Y, Z, Q] of cases) {
44
- it(`should get ${string_(Q)} from ${string_(X)}, ${string_(Y)} and ${string_(Z)}`, () => {
45
- const axisX = new TgdVec3(...X);
46
- const axisY = new TgdVec3(...Y);
47
- const axisZ = new TgdVec3(...Z);
48
- quat.fromAxes(axisX, axisY, axisZ);
49
- const got = [quat.x, quat.y, quat.z, quat.w];
50
- const exp = [...Q];
51
- expect(got[0]).toBeCloseTo(exp[0], 5);
52
- expect(got[1]).toBeCloseTo(exp[1], 5);
53
- expect(got[2]).toBeCloseTo(exp[2], 5);
54
- expect(got[3]).toBeCloseTo(exp[3], 5);
55
- });
56
- }
57
- });
58
- describe("TgdQuat.toAxisX()", () => {
59
- const quat = new TgdQuat(0, 0, 0, 0);
60
- for (const [X, _Y, _Z, Q] of cases) {
61
- it(`should get ${string_(X)} from ${string_(Q)}`, () => {
62
- quat.from(Q);
63
- const axisX = new TgdVec3();
64
- quat.toAxisX(axisX);
65
- const gotX = [axisX.x, axisX.y, axisX.z];
66
- expectVector(gotX, X, 5);
67
- });
68
- }
69
- });
70
- describe("TgdQuat.toAxisY()", () => {
71
- const quat = new TgdQuat(0, 0, 0, 0);
72
- for (const [_X, Y, _Z, Q] of cases) {
73
- it(`should get ${string_(Y)} from ${string_(Q)}`, () => {
74
- quat.from(Q);
75
- const axisY = new TgdVec3();
76
- quat.toAxisY(axisY);
77
- const gotY = [axisY.x, axisY.y, axisY.z];
78
- expectVector(gotY, Y, 5);
79
- });
80
- }
81
- });
82
- describe("TgdQuat.toAxisZ()", () => {
83
- const quat = new TgdQuat(0, 0, 0, 0);
84
- for (const [_X, _Y, Z, Q] of cases) {
85
- it(`should get ${string_(Z)} from ${string_(Q)}`, () => {
86
- quat.from(Q);
87
- const axisZ = new TgdVec3();
88
- quat.toAxisZ(axisZ);
89
- const gotZ = [axisZ.x, axisZ.y, axisZ.z];
90
- expectVector(gotZ, Z, 5);
91
- });
92
- }
93
- });
94
- });
95
- function string_(input) {
96
- const array = [...input];
97
- return `[${array.map((n) => `${n}`).join(", ")}]`;
98
- }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhdC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hdGgvcXVhdC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBEQUEwRDtBQUUxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUU1QyxTQUFTLFlBQVksQ0FBQyxNQUFnQixFQUFFLFFBQWtCLEVBQUUsU0FBUyxHQUFHLENBQUM7SUFDckUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzNDLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUE7QUFDaEcsQ0FBQztBQUNELFFBQVEsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFO0lBQzFCLE1BQU0sS0FBSyxHQU9QO1FBQ0E7WUFDSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDVixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ1QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ1YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDZjtRQUNEO1lBQ0ksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDO1lBQ3JCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUM7WUFDcEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxF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
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=vec3.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vec3.test.d.ts","sourceRoot":"","sources":["../../src/math/vec3.test.ts"],"names":[],"mappings":""}
@@ -1,36 +0,0 @@
1
- import { TgdVec3 } from "./vec3.js";
2
- import { expectVectorsToBeClose } from "./common.test.js";
3
- describe("tgd/math/vec3.ts", () => {
4
- describe("TgdVec3.distanceToLineSquared()", () => {
5
- const cases = [
6
- [[4, 3, 0], [17, 0, 0], [1, 0, 0], 3 * 3],
7
- [[4, 3, 0], [0, -23, 0], [0, 1, 0], 4 * 4],
8
- [[4, 3, 0], [-4, 0, 0], [-1, 0, 0], 3 * 3],
9
- [[4, 3, 0], [0, -9, 0], [0, -1, 0], 4 * 4],
10
- [[4, 3, 0], [0, 0, 0], [0, 0, 1], 4 * 4 + 3 * 3],
11
- ];
12
- for (const [[mx, my, mz], [ox, oy, oz], [dx, dy, dz], exp] of cases) {
13
- it(`distance between (${mx}, ${my}, ${mz}) and line (${ox}, ${oy}, ${oz})->(${dx}, ${dy}, ${dz}) should be ${exp}`, () => {
14
- const M = new TgdVec3(mx, my, mz);
15
- const O = new TgdVec3(ox, oy, oz);
16
- const D = new TgdVec3(dx, dy, dz);
17
- const got = M.distanceToLineSquared(O, D);
18
- expect(got).toBeCloseTo(exp, 6);
19
- });
20
- }
21
- });
22
- describe(`TgdVec3.rotateAround()`, () => {
23
- const cases = [
24
- [[1, 0, 0], [0, 1, 0], Math.PI / 2, [0, 0, -1]],
25
- [[1, 2, 3], [-0.3714, -0.5571, -0.7428], 1, [1.018111, 2.344218, 2.732781]],
26
- ];
27
- for (const [from, axis, angleInRadians, to] of cases) {
28
- it(`${from} should rotate around ${axis} and become ${to}`, () => {
29
- const vec = new TgdVec3(from);
30
- vec.rotateAround(axis, angleInRadians);
31
- expectVectorsToBeClose(vec, to, 3);
32
- });
33
- }
34
- });
35
- });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjMy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hdGgvdmVjMy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDaEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXRELFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUU7SUFDOUIsUUFBUSxDQUFDLGlDQUFpQyxFQUFFLEdBQUcsRUFBRTtRQUM3QyxNQUFNLEtBQUssR0FBa0c7WUFDekcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNuRCxDQUFBO1FBQ0QsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDbEUsRUFBRSxDQUFDLHFCQUFxQixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsZUFBZSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUU7Z0JBQ3JILE1BQU0sQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7Z0JBQ2pDLE1BQU0sQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7Z0JBQ2pDLE1BQU0sQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7Z0JBQ2pDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7Z0JBQ3pDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQ25DLENBQUMsQ0FBQyxDQUFBO1FBQ04sQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ0YsUUFBUSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtRQUNwQyxNQUFNLEtBQUssR0FBOEQ7WUFDckUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzlFLENBQUE7UUFDRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNuRCxFQUFFLENBQUMsR0FBRyxJQUFJLHlCQUF5QixJQUFJLGVBQWUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFO2dCQUM3RCxNQUFNLEdBQUcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDN0IsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUE7Z0JBQ3RDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDdEMsQ0FBQyxDQUFDLENBQUE7UUFDTixDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUMsQ0FBQSJ9
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=vec4.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vec4.test.d.ts","sourceRoot":"","sources":["../../src/math/vec4.test.ts"],"names":[],"mappings":""}
@@ -1,15 +0,0 @@
1
- import { TgdMat4, TgdVec4 } from "./index.js";
2
- describe("math/vec4.ts", () => {
3
- describe("Vec4.applyMatrix()", () => {
4
- it("should multiply", () => {
5
- // prettier-ignore
6
- const M = new TgdMat4(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
7
- const V = new TgdVec4(10, 20, 30, 40);
8
- V.applyMatrix(M);
9
- const got = [...V];
10
- const exp = [900, 1000, 1100, 1200];
11
- expect(got).toEqual(exp);
12
- });
13
- });
14
- });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjNC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hdGgvdmVjNC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sR0FBRyxDQUFBO0FBRXBDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFO0lBQzFCLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUU7UUFDaEMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRTtZQUN2QixrQkFBa0I7WUFDbEIsTUFBTSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQ2pCLENBQUMsRUFBRyxDQUFDLEVBQUcsQ0FBQyxFQUFHLENBQUMsRUFDYixDQUFDLEVBQUcsQ0FBQyxFQUFHLENBQUMsRUFBRyxDQUFDLEVBQ2IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUNkLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FDaEIsQ0FBQTtZQUNELE1BQU0sQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1lBQ3JDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDaEIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1lBQ2xCLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDbkMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUM1QixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFDLENBQUEifQ==
@@ -1,14 +0,0 @@
1
- import { TgdContext } from "../../../context";
2
- import { TgdPainterProgram } from "../../program";
3
- import { TgdUniformBufferObject } from "../../../uniform";
4
- interface PainterAxesOptions {
5
- uniformCamera: TgdUniformBufferObject;
6
- red?: string;
7
- green?: string;
8
- blue?: string;
9
- }
10
- export declare class PainterAxes extends TgdPainterProgram {
11
- constructor(context: TgdContext, { uniformCamera, red, green, blue }: PainterAxesOptions);
12
- }
13
- export {};
14
- //# sourceMappingURL=axes.1.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"axes.1.d.ts","sourceRoot":"","sources":["../../../../src/painter/gizmo/painters/axes.1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAKrD,UAAU,kBAAkB;IACxB,aAAa,EAAE,sBAAsB,CAAA;IACrC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,WAAY,SAAQ,iBAAiB;gBAClC,OAAO,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,GAAS,EAAE,KAAa,EAAE,IAAW,EAAE,EAAE,kBAAkB;CAwChH"}
@@ -1,50 +0,0 @@
1
- import { TgdPainterProgram } from "./../../program.js";
2
- import { RED, GREEN, BLUE } from "./consts.js";
3
- import { TgdColor } from "./../../../color/index.js";
4
- export class PainterAxes extends TgdPainterProgram {
5
- constructor(context, { uniformCamera, red = RED, green = GREEN, blue = BLUE }) {
6
- const R = parseColor(red);
7
- const G = parseColor(green);
8
- const B = parseColor(blue);
9
- super(context, {
10
- drawMode: "LINES",
11
- uniforms: {
12
- uniformCamera,
13
- },
14
- varying: {
15
- varColor: "vec4",
16
- },
17
- dataset: [
18
- {
19
- attribs: {
20
- attPos: {
21
- type: "vec3",
22
- data: new Float32Array([0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1]),
23
- },
24
- attCol: {
25
- type: "vec3",
26
- data: new Float32Array([...R, ...R, ...G, ...G, ...B, ...B]),
27
- },
28
- },
29
- },
30
- ],
31
- vert: {
32
- mainCode: [
33
- "varColor = vec4(attCol, 1.0);",
34
- "gl_Position = uniProjectionMatrix * uniModelViewMatrix * vec4(attPos, 1.0);",
35
- ],
36
- },
37
- frag: {
38
- mainCode: ["FragColor = varColor;"],
39
- },
40
- state: {
41
- depth: "less",
42
- },
43
- });
44
- }
45
- }
46
- function parseColor(colorCSS) {
47
- const color = TgdColor.fromString(colorCSS);
48
- return [color.R, color.G, color.B];
49
- }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhlcy4xLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhaW50ZXIvZ2l6bW8vcGFpbnRlcnMvYXhlcy4xLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRXhELE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBU3JDLE1BQU0sT0FBTyxXQUFZLFNBQVEsaUJBQWlCO0lBQzlDLFlBQVksT0FBbUIsRUFBRSxFQUFFLGFBQWEsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEtBQUssR0FBRyxLQUFLLEVBQUUsSUFBSSxHQUFHLElBQUksRUFBc0I7UUFDekcsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3pCLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUMzQixNQUFNLENBQUMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDMUIsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNYLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsRUFBRTtnQkFDTixhQUFhO2FBQ2hCO1lBQ0QsT0FBTyxFQUFFO2dCQUNMLFFBQVEsRUFBRSxNQUFNO2FBQ25CO1lBQ0QsT0FBTyxFQUFFO2dCQUNMO29CQUNJLE9BQU8sRUFBRTt3QkFDTCxNQUFNLEVBQUU7NEJBQ0osSUFBSSxFQUFFLE1BQU07NEJBQ1osSUFBSSxFQUFFLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzt5QkFDakY7d0JBQ0QsTUFBTSxFQUFFOzRCQUNKLElBQUksRUFBRSxNQUFNOzRCQUNaLElBQUksRUFBRSxJQUFJLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7eUJBQy9EO3FCQUNKO2lCQUNKO2FBQ0o7WUFDRCxJQUFJLEVBQUU7Z0JBQ0YsUUFBUSxFQUFFO29CQUNOLCtCQUErQjtvQkFDL0IsNkVBQTZFO2lCQUNoRjthQUNKO1lBQ0QsSUFBSSxFQUFFO2dCQUNGLFFBQVEsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2FBQ3RDO1lBQ0QsS0FBSyxFQUFFO2dCQUNILEtBQUssRUFBRSxNQUFNO2FBQ2hCO1NBQ0osQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNKO0FBRUQsU0FBUyxVQUFVLENBQUMsUUFBZ0I7SUFDaEMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUMzQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUN0QyxDQUFDIn0=
@@ -1,15 +0,0 @@
1
- #version 300 es
2
-
3
- precision highp float;
4
-
5
- uniform mat4 uniMatrix;
6
- uniform samplerCube uniTexture;
7
-
8
- in vec4 varPoint;
9
-
10
- out vec4 FragColor;
11
-
12
- void main() {
13
- vec4 t = uniMatrix * varPoint;
14
- FragColor = texture(uniTexture, normalize(t.xyz));
15
- }
@@ -1,13 +0,0 @@
1
- #version 300 es
2
-
3
- uniform float uniZoom;
4
- uniform float uniZ;
5
-
6
- in vec4 attPoint;
7
-
8
- out vec4 varPoint;
9
-
10
- void main() {
11
- varPoint = attPoint;
12
- gl_Position = vec4(attPoint.xy, uniZ, 1.0);
13
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=bbox.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bbox.test.d.ts","sourceRoot":"","sources":["../../src/utils/bbox.test.ts"],"names":[],"mappings":""}
@@ -1,45 +0,0 @@
1
- import { TgdDataset } from "./../dataset/index.js";
2
- import { tgdComputeBoundingBox3D } from "./bbox.js";
3
- function makeDS(positions) {
4
- const ds = new TgdDataset({ POSITION: "vec3" });
5
- const data = new Float32Array(3 * positions.length);
6
- for (const [index, [x, y, z]] of positions.entries()) {
7
- const ptr = index * 3;
8
- data[ptr + 0] = x;
9
- data[ptr + 1] = y;
10
- data[ptr + 2] = z;
11
- }
12
- ds.set("POSITION", data);
13
- return ds;
14
- }
15
- function checkBBox(ds, min, max) {
16
- const bbox = tgdComputeBoundingBox3D(ds);
17
- expect([...bbox.min]).toEqual([...min]);
18
- expect([...bbox.max]).toEqual([...max]);
19
- }
20
- describe("utils/bbox.ts", () => {
21
- describe("tgdComputeBoundingBox3D()", () => {
22
- it("should work with only one position", () => {
23
- const ds = makeDS([[1, 2, 3]]);
24
- checkBBox(ds, [1, 2, 3], [1, 2, 3]);
25
- });
26
- const cases = [
27
- [
28
- [
29
- [9, 2, 5],
30
- [2, 6, 4],
31
- [0, 8, 1],
32
- ],
33
- [0, 2, 1],
34
- [9, 8, 5],
35
- ],
36
- ];
37
- for (const [positions, min, max] of cases) {
38
- it(`should find bbox of ${positions}`, () => {
39
- const ds = makeDS(positions);
40
- checkBBox(ds, min, max);
41
- });
42
- }
43
- });
44
- });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJveC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2Jib3gudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUdoRCxTQUFTLE1BQU0sQ0FBQyxTQUE4QztJQUMxRCxNQUFNLEVBQUUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0lBQy9DLE1BQU0sSUFBSSxHQUFHLElBQUksWUFBWSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDbkQsS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ25ELE1BQU0sR0FBRyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUE7UUFDckIsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDakIsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDakIsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDckIsQ0FBQztJQUNELEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3hCLE9BQU8sRUFBRSxDQUFBO0FBQ2IsQ0FBQztBQUVELFNBQVMsU0FBUyxDQUFDLEVBQWMsRUFBRSxHQUFpQixFQUFFLEdBQWlCO0lBQ25FLE1BQU0sSUFBSSxHQUFHLHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3hDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ3ZDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFBO0FBQzNDLENBQUM7QUFFRCxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtJQUMzQixRQUFRLENBQUMsMkJBQTJCLEVBQUUsR0FBRyxFQUFFO1FBQ3ZDLEVBQUUsQ0FBQyxvQ0FBb0MsRUFBRSxHQUFHLEVBQUU7WUFDMUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM5QixTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN2QyxDQUFDLENBQUMsQ0FBQTtRQUNGLE1BQU0sS0FBSyxHQU1QO1lBQ0E7Z0JBQ0k7b0JBQ0ksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDVCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNULENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ1o7Z0JBQ0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDVCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ1o7U0FDSixDQUFBO1FBQ0QsS0FBSyxNQUFNLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN4QyxFQUFFLENBQUMsdUJBQXVCLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRTtnQkFDeEMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO2dCQUM1QixTQUFTLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUMzQixDQUFDLENBQUMsQ0FBQTtRQUNOLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQyxDQUFBIn0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=template.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template.test.d.ts","sourceRoot":"","sources":["../../src/utils/template.test.ts"],"names":[],"mappings":""}
@@ -1,17 +0,0 @@
1
- import { tgdTemplate } from "./template.js";
2
- describe("utils/template.ts", () => {
3
- describe("tgdTemplate()", () => {
4
- it("should work without substitutions", () => {
5
- const text = "Hello world!";
6
- const got = tgdTemplate(text, {});
7
- const exp = text;
8
- expect(got).toEqual(exp);
9
- });
10
- it("should replace several occurences", () => {
11
- const got = tgdTemplate("A+B=B+A", { A: "1", B: "2" });
12
- const exp = "1+2=2+1";
13
- expect(got).toEqual(exp);
14
- });
15
- });
16
- });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy90ZW1wbGF0ZS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFeEMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtJQUMvQixRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtRQUMzQixFQUFFLENBQUMsbUNBQW1DLEVBQUUsR0FBRyxFQUFFO1lBQ3pDLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQTtZQUMzQixNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1lBQ2pDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQTtZQUNoQixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzVCLENBQUMsQ0FBQyxDQUFBO1FBQ0YsRUFBRSxDQUFDLG1DQUFtQyxFQUFFLEdBQUcsRUFBRTtZQUN6QyxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQTtZQUN0RCxNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUE7WUFDckIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUM1QixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFDLENBQUEifQ==