@woosh/meep-engine 2.107.0 → 2.108.2

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 (315) hide show
  1. package/build/bundle-worker-image-decoder.js +1 -1
  2. package/build/meep.cjs +255 -172
  3. package/build/meep.min.js +1 -1
  4. package/build/meep.module.js +255 -173
  5. package/editor/tools/paint/TerrainHeightPaintTool.js +5 -5
  6. package/package.json +1 -1
  7. package/src/core/binary/float_to_uint8.d.ts +7 -0
  8. package/src/core/binary/float_to_uint8.d.ts.map +1 -0
  9. package/src/core/binary/{float2uint8.js → float_to_uint8.js} +1 -1
  10. package/src/core/binary/int32_to_binary_string.d.ts +3 -2
  11. package/src/core/binary/int32_to_binary_string.d.ts.map +1 -1
  12. package/src/core/binary/int32_to_binary_string.js +18 -14
  13. package/src/core/binary/split_by_3.spec.d.ts +2 -0
  14. package/src/core/binary/split_by_3.spec.d.ts.map +1 -0
  15. package/src/core/binary/split_by_3.spec.js +22 -0
  16. package/src/core/binary/to_half_float_uint16.d.ts.map +1 -1
  17. package/src/core/binary/to_half_float_uint16.js +7 -5
  18. package/src/core/binary/uint8_to_float.d.ts +7 -0
  19. package/src/core/binary/uint8_to_float.d.ts.map +1 -0
  20. package/src/core/binary/{uint82float.js → uint8_to_float.js} +1 -1
  21. package/src/core/binary/uint8_to_float.spec.d.ts +2 -0
  22. package/src/core/binary/uint8_to_float.spec.d.ts.map +1 -0
  23. package/src/core/binary/uint8_to_float.spec.js +7 -0
  24. package/src/core/codegen/codeToBlob.d.ts +8 -0
  25. package/src/core/codegen/codeToBlob.d.ts.map +1 -0
  26. package/src/core/codegen/codeToBlob.js +36 -0
  27. package/src/core/codegen/codeToURL.d.ts +8 -0
  28. package/src/core/codegen/codeToURL.d.ts.map +1 -0
  29. package/src/core/codegen/codeToURL.js +22 -0
  30. package/src/core/collection/array/array_shuffle.d.ts +8 -0
  31. package/src/core/collection/array/array_shuffle.d.ts.map +1 -0
  32. package/src/core/collection/array/array_shuffle.js +22 -0
  33. package/src/core/collection/array/array_shuffle.spec.d.ts +2 -0
  34. package/src/core/collection/array/array_shuffle.spec.d.ts.map +1 -0
  35. package/src/core/collection/array/{randomizeArrayElementOrder.spec.js → array_shuffle.spec.js} +4 -4
  36. package/src/core/collection/array/isArrayEqualStrict.d.ts.map +1 -1
  37. package/src/core/collection/array/isArrayEqualStrict.js +2 -2
  38. package/src/core/collection/array/iterator/ArrayIteratorRandom.js +2 -2
  39. package/src/core/collection/array/randomMultipleFromArray.js +2 -2
  40. package/src/core/color/Color.d.ts.map +1 -1
  41. package/src/core/color/Color.js +16 -11
  42. package/src/core/color/hsv/hsv2rgb.js +4 -4
  43. package/src/core/color/hsv/rgb2hsv.d.ts +3 -3
  44. package/src/core/color/hsv/rgb2hsv.d.ts.map +1 -1
  45. package/src/core/color/hsv/rgb2hsv.js +11 -18
  46. package/src/core/color/rgb2uint24.js +4 -4
  47. package/src/core/color/rgb_to_luminance.d.ts +9 -0
  48. package/src/core/color/rgb_to_luminance.d.ts.map +1 -0
  49. package/src/core/color/rgb_to_luminance.js +10 -0
  50. package/src/core/color/sRGB/linear_to_sRGB.d.ts +1 -0
  51. package/src/core/color/sRGB/linear_to_sRGB.d.ts.map +1 -1
  52. package/src/core/color/sRGB/linear_to_sRGB.js +4 -4
  53. package/src/core/geom/3d/aabb/AABB3.d.ts.map +1 -1
  54. package/src/core/geom/3d/aabb/AABB3.js +4 -1
  55. package/src/core/geom/3d/aabb/aabb3_intersects_ray.js +3 -3
  56. package/src/core/geom/3d/shape/UnitSphereShape3D.d.ts.map +1 -1
  57. package/src/core/geom/3d/shape/UnitSphereShape3D.js +14 -14
  58. package/src/core/geom/3d/sphere/harmonics/README.md +16 -2
  59. package/src/core/geom/3d/sphere/harmonics/SH3_COEFFICIENTS.d.ts +6 -0
  60. package/src/core/geom/3d/sphere/harmonics/SH3_COEFFICIENTS.d.ts.map +1 -0
  61. package/src/core/geom/3d/sphere/harmonics/SH3_COEFFICIENTS.js +17 -0
  62. package/src/core/geom/3d/sphere/harmonics/sh3_basis_at.d.ts.map +1 -1
  63. package/src/core/geom/3d/sphere/harmonics/sh3_basis_at.js +21 -9
  64. package/src/core/geom/3d/sphere/harmonics/sh3_dering_optimize_positive.d.ts +3 -3
  65. package/src/core/geom/3d/sphere/harmonics/sh3_dering_optimize_positive.d.ts.map +1 -1
  66. package/src/core/geom/3d/sphere/harmonics/sh3_dering_optimize_positive.js +35 -206
  67. package/src/core/geom/3d/sphere/harmonics/sh3_rotate.d.ts +8 -0
  68. package/src/core/geom/3d/sphere/harmonics/sh3_rotate.d.ts.map +1 -0
  69. package/src/core/geom/3d/sphere/harmonics/sh3_rotate.js +29 -0
  70. package/src/core/geom/3d/sphere/harmonics/sh3_sample_by_direction.js +10 -10
  71. package/src/core/geom/3d/sphere/harmonics/sh_index.d.ts +8 -0
  72. package/src/core/geom/3d/sphere/harmonics/sh_index.d.ts.map +1 -0
  73. package/src/core/geom/3d/sphere/harmonics/sh_index.js +9 -0
  74. package/src/core/geom/3d/sphere/harmonics/sh_rotate_band1.d.ts +8 -0
  75. package/src/core/geom/3d/sphere/harmonics/sh_rotate_band1.d.ts.map +1 -0
  76. package/src/core/geom/3d/sphere/harmonics/sh_rotate_band1.js +44 -0
  77. package/src/core/geom/3d/sphere/harmonics/sh_rotate_band2.d.ts +8 -0
  78. package/src/core/geom/3d/sphere/harmonics/sh_rotate_band2.d.ts.map +1 -0
  79. package/src/core/geom/3d/sphere/harmonics/sh_rotate_band2.js +86 -0
  80. package/src/core/geom/3d/sphere/in_sphere3d_robust.d.ts.map +1 -1
  81. package/src/core/geom/3d/sphere/in_sphere3d_robust.js +2 -1
  82. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.d.ts +20 -1
  83. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.d.ts.map +1 -1
  84. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.js +53 -7
  85. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.spec.js +2 -2
  86. package/src/core/geom/3d/tetrahedra/build_tetrahedral_mesh_buffer_geometry.d.ts +1 -1
  87. package/src/core/geom/3d/tetrahedra/build_tetrahedral_mesh_buffer_geometry.d.ts.map +1 -1
  88. package/src/core/geom/3d/tetrahedra/build_tetrahedral_mesh_buffer_geometry.js +12 -7
  89. package/src/core/geom/3d/tetrahedra/delaunay/tetrahedral_mesh_build_from_grid.d.ts +13 -0
  90. package/src/core/geom/3d/tetrahedra/delaunay/tetrahedral_mesh_build_from_grid.d.ts.map +1 -0
  91. package/src/core/geom/3d/tetrahedra/delaunay/tetrahedral_mesh_build_from_grid.js +135 -0
  92. package/src/core/geom/3d/tetrahedra/prototypeTetrahedraBuilder.js +38 -24
  93. package/src/core/geom/3d/tetrahedra/{compute_circumsphere.d.ts → tetrahedron_compute_circumsphere.d.ts} +3 -5
  94. package/src/core/geom/3d/tetrahedra/tetrahedron_compute_circumsphere.d.ts.map +1 -0
  95. package/src/core/geom/3d/tetrahedra/{compute_circumsphere.js → tetrahedron_compute_circumsphere.js} +2 -4
  96. package/src/core/geom/3d/tetrahedra/tetrahedron_compute_signed_volume.d.ts.map +1 -1
  97. package/src/core/geom/3d/tetrahedra/tetrahedron_compute_signed_volume.js +3 -1
  98. package/src/core/geom/Vector3.d.ts.map +1 -1
  99. package/src/core/geom/Vector3.js +4 -3
  100. package/src/core/geom/mat3/m3_multiply_vec3.d.ts +8 -0
  101. package/src/core/geom/mat3/m3_multiply_vec3.d.ts.map +1 -0
  102. package/src/core/geom/mat3/m3_multiply_vec3.js +21 -0
  103. package/src/core/geom/random/randomPointInSphere.d.ts +1 -1
  104. package/src/core/geom/random/randomPointInSphere.js +2 -2
  105. package/src/core/geom/random/randomPointOnSphere.d.ts +3 -3
  106. package/src/core/geom/random/randomPointOnSphere.d.ts.map +1 -1
  107. package/src/core/geom/random/randomPointOnSphere.js +5 -9
  108. package/src/core/geom/vec2/v2_cross_product.d.ts +15 -0
  109. package/src/core/geom/vec2/v2_cross_product.d.ts.map +1 -0
  110. package/src/core/geom/vec2/v2_cross_product.js +21 -0
  111. package/src/core/geom/vec3/v3_slerp.d.ts +1 -0
  112. package/src/core/geom/vec3/v3_slerp.d.ts.map +1 -1
  113. package/src/core/geom/vec3/v3_slerp.js +1 -0
  114. package/src/core/graph/MultiNode.d.ts +1 -1
  115. package/src/core/graph/MultiNode.js +1 -1
  116. package/src/core/graph/WeightedEdge.d.ts +6 -4
  117. package/src/core/graph/WeightedEdge.d.ts.map +1 -1
  118. package/src/core/graph/WeightedEdge.js +3 -0
  119. package/src/core/graph/coloring/colorizeGraph.js +19 -19
  120. package/src/core/graph/convert_graph_to_dot_string.d.ts +1 -1
  121. package/src/core/graph/convert_graph_to_dot_string.d.ts.map +1 -1
  122. package/src/core/graph/convert_graph_to_dot_string.js +10 -6
  123. package/src/core/graph/graph_compute_adjacency_matrix.d.ts +9 -0
  124. package/src/core/graph/graph_compute_adjacency_matrix.d.ts.map +1 -0
  125. package/src/core/graph/{graph_adjacency_matrix.js → graph_compute_adjacency_matrix.js} +1 -2
  126. package/src/core/graph/graph_compute_degree_matrix.d.ts +10 -0
  127. package/src/core/graph/graph_compute_degree_matrix.d.ts.map +1 -0
  128. package/src/core/graph/graph_compute_degree_matrix.js +23 -0
  129. package/src/core/graph/graph_compute_distance_matrix.d.ts +13 -0
  130. package/src/core/graph/graph_compute_distance_matrix.d.ts.map +1 -0
  131. package/src/core/graph/graph_compute_distance_matrix.js +103 -0
  132. package/src/core/graph/{graph_laplacian_matrix.d.ts → graph_compute_laplacian_matrix.d.ts} +2 -2
  133. package/src/core/graph/graph_compute_laplacian_matrix.d.ts.map +1 -0
  134. package/src/core/graph/{graph_laplacian_matrix.js → graph_compute_laplacian_matrix.js} +6 -6
  135. package/src/core/graph/graph_k_means_cluster.d.ts.map +1 -1
  136. package/src/core/graph/graph_k_means_cluster.js +4 -119
  137. package/src/core/graph/{coarsen_graph.d.ts → mn_graph_coarsen.d.ts} +2 -2
  138. package/src/core/graph/mn_graph_coarsen.d.ts.map +1 -0
  139. package/src/core/graph/{coarsen_graph.js → mn_graph_coarsen.js} +1 -1
  140. package/src/core/graph/mn_graph_coarsen.spec.d.ts +2 -0
  141. package/src/core/graph/mn_graph_coarsen.spec.d.ts.map +1 -0
  142. package/src/core/graph/{coarsen_graph.spec.js → mn_graph_coarsen.spec.js} +4 -4
  143. package/src/core/graph/mn_graph_collapse_weighted_edge.d.ts +1 -0
  144. package/src/core/graph/mn_graph_collapse_weighted_edge.d.ts.map +1 -1
  145. package/src/core/graph/mn_graph_collapse_weighted_edge.js +7 -1
  146. package/src/core/math/physics/brdf/brdf_burley.d.ts.map +1 -1
  147. package/src/core/math/physics/brdf/brdf_burley.js +9 -1
  148. package/src/core/math/physics/brdf/{D_GGX.d.ts → diffuse_GGX.d.ts} +2 -2
  149. package/src/core/math/physics/brdf/diffuse_GGX.d.ts.map +1 -0
  150. package/src/core/math/physics/brdf/{D_GGX.js → diffuse_GGX.js} +1 -1
  151. package/src/core/math/physics/brdf/fresnel_Schlick.d.ts +3 -0
  152. package/src/core/math/physics/brdf/fresnel_Schlick.d.ts.map +1 -0
  153. package/src/core/math/physics/brdf/fresnel_Schlick.js +3 -0
  154. package/src/core/math/physics/brdf/fresnel_Schlick_optimized.d.ts +9 -0
  155. package/src/core/math/physics/brdf/fresnel_Schlick_optimized.d.ts.map +1 -0
  156. package/src/core/math/physics/brdf/fresnel_Schlick_optimized.js +12 -0
  157. package/src/core/math/physics/brdf/fresnel_Schlick_original.d.ts +9 -0
  158. package/src/core/math/physics/brdf/fresnel_Schlick_original.d.ts.map +1 -0
  159. package/src/core/math/physics/brdf/fresnel_Schlick_original.js +10 -0
  160. package/src/core/math/physics/bsdf/bsdf_schlick.d.ts.map +1 -1
  161. package/src/core/math/physics/bsdf/bsdf_schlick.js +3 -11
  162. package/src/core/math/physics/ior_to_reflectivity.d.ts +7 -0
  163. package/src/core/math/physics/ior_to_reflectivity.d.ts.map +1 -0
  164. package/src/core/math/physics/ior_to_reflectivity.js +9 -0
  165. package/src/core/math/physics/pdf/README.md +1 -0
  166. package/src/core/math/physics/pdf/pdf_GGX.d.ts +16 -0
  167. package/src/core/math/physics/pdf/pdf_GGX.d.ts.map +1 -0
  168. package/src/core/math/physics/pdf/pdf_GGX.js +25 -0
  169. package/src/core/math/physics/reflectivity_to_ior.d.ts +7 -0
  170. package/src/core/math/physics/reflectivity_to_ior.d.ts.map +1 -0
  171. package/src/core/math/physics/reflectivity_to_ior.js +8 -0
  172. package/src/core/process/task/util/randomCountTask.js +3 -3
  173. package/src/core/process/worker/WorkerBuilder.d.ts.map +1 -1
  174. package/src/core/process/worker/WorkerBuilder.js +5 -35
  175. package/src/engine/EngineHarness.d.ts +10 -1
  176. package/src/engine/EngineHarness.d.ts.map +1 -1
  177. package/src/engine/EngineHarness.js +22 -11
  178. package/src/engine/asset/loaders/ArrayBufferLoader.d.ts.map +1 -1
  179. package/src/engine/asset/loaders/ArrayBufferLoader.js +17 -10
  180. package/src/engine/asset/loaders/image/png/PNGReader.d.ts +25 -11
  181. package/src/engine/asset/loaders/image/png/PNGReader.d.ts.map +1 -1
  182. package/src/engine/asset/loaders/image/png/PNGReader.js +38 -24
  183. package/src/engine/asset/loaders/material/TextureAttachmensByMaterialType.d.ts.map +1 -1
  184. package/src/engine/asset/loaders/material/TextureAttachmensByMaterialType.js +5 -0
  185. package/src/engine/ecs/terrain/overlay/TerrainOverlay.js +4 -4
  186. package/src/engine/graphics/GraphicsEngine.js +1 -1
  187. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.d.ts.map +1 -1
  188. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js +4 -0
  189. package/src/engine/graphics/ecs/light/LightSystem.d.ts.map +1 -1
  190. package/src/engine/graphics/ecs/light/LightSystem.js +2 -3
  191. package/src/engine/graphics/ecs/light/binding/three/ThreeLightBinding.d.ts +6 -0
  192. package/src/engine/graphics/ecs/light/binding/three/ThreeLightBinding.d.ts.map +1 -1
  193. package/src/engine/graphics/ecs/light/binding/three/ThreeLightBinding.js +22 -11
  194. package/src/engine/graphics/ecs/sprite/SpriteSystemPE.d.ts.map +1 -1
  195. package/src/engine/graphics/ecs/sprite/SpriteSystemPE.js +7 -7
  196. package/src/engine/graphics/impostors/octahedral/bake/prepare_bake_material.js +3 -3
  197. package/src/engine/graphics/render/forward_plus/model/DirectionalLight.d.ts.map +1 -1
  198. package/src/engine/graphics/render/forward_plus/model/DirectionalLight.js +25 -25
  199. package/src/engine/graphics/sh3/SH3VisualisationMaterial.d.ts.map +1 -1
  200. package/src/engine/graphics/sh3/SH3VisualisationMaterial.js +9 -6
  201. package/src/engine/graphics/sh3/fromCubeRenderTarget.d.ts +9 -0
  202. package/src/engine/graphics/sh3/fromCubeRenderTarget.d.ts.map +1 -0
  203. package/src/engine/graphics/sh3/fromCubeRenderTarget.js +145 -0
  204. package/src/engine/graphics/sh3/gi/tetrahedral_mesh_to_texture.d.ts +8 -0
  205. package/src/engine/graphics/sh3/gi/tetrahedral_mesh_to_texture.d.ts.map +1 -0
  206. package/src/engine/graphics/sh3/gi/tetrahedral_mesh_to_texture.js +51 -0
  207. package/src/engine/graphics/sh3/{LightProbeVolume.d.ts → lpv/LightProbeVolume.d.ts} +18 -7
  208. package/src/engine/graphics/sh3/lpv/LightProbeVolume.d.ts.map +1 -0
  209. package/src/engine/graphics/sh3/lpv/LightProbeVolume.js +340 -0
  210. package/src/engine/graphics/sh3/lpv/LightProbeVolumeSerializationAdapter.d.ts +18 -0
  211. package/src/engine/graphics/sh3/lpv/LightProbeVolumeSerializationAdapter.d.ts.map +1 -0
  212. package/src/engine/graphics/sh3/lpv/LightProbeVolumeSerializationAdapter.js +44 -0
  213. package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.d.ts +12 -0
  214. package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.d.ts.map +1 -0
  215. package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.js +122 -0
  216. package/src/engine/graphics/sh3/lpv/ProbeRenderer.d.ts +29 -0
  217. package/src/engine/graphics/sh3/lpv/ProbeRenderer.d.ts.map +1 -0
  218. package/src/engine/graphics/sh3/lpv/ProbeRenderer.js +35 -0
  219. package/src/engine/graphics/sh3/lpv/WebGLCubeProbeRenderer.d.ts +27 -0
  220. package/src/engine/graphics/sh3/lpv/WebGLCubeProbeRenderer.d.ts.map +1 -0
  221. package/src/engine/graphics/sh3/lpv/WebGLCubeProbeRenderer.js +158 -0
  222. package/src/engine/graphics/sh3/lpv/build_probes_for_scene.d.ts +11 -0
  223. package/src/engine/graphics/sh3/lpv/build_probes_for_scene.d.ts.map +1 -0
  224. package/src/engine/graphics/sh3/lpv/build_probes_for_scene.js +127 -0
  225. package/src/engine/graphics/sh3/lpv/probe_volume_to_textures.d.ts +12 -0
  226. package/src/engine/graphics/sh3/lpv/probe_volume_to_textures.d.ts.map +1 -0
  227. package/src/engine/graphics/sh3/lpv/probe_volume_to_textures.js +89 -0
  228. package/src/engine/graphics/sh3/path_tracer/PathTracedScene.d.ts +90 -0
  229. package/src/engine/graphics/sh3/path_tracer/PathTracedScene.d.ts.map +1 -0
  230. package/src/engine/graphics/sh3/path_tracer/PathTracedScene.js +352 -0
  231. package/src/engine/graphics/sh3/path_tracer/PathTracer.d.ts +5 -91
  232. package/src/engine/graphics/sh3/path_tracer/PathTracer.d.ts.map +1 -1
  233. package/src/engine/graphics/sh3/path_tracer/PathTracer.js +41 -477
  234. package/src/engine/graphics/sh3/path_tracer/make_one_vector3.d.ts +1 -0
  235. package/src/engine/graphics/sh3/path_tracer/make_one_vector3.d.ts.map +1 -1
  236. package/src/engine/graphics/sh3/path_tracer/make_one_vector3.js +6 -3
  237. package/src/engine/graphics/sh3/path_tracer/prototypePathTracer.js +38 -62
  238. package/src/engine/graphics/sh3/path_tracer/random_in_hemisphere.d.ts.map +1 -1
  239. package/src/engine/graphics/sh3/path_tracer/random_in_hemisphere.js +7 -1
  240. package/src/engine/graphics/sh3/path_tracer/sample_triangle_attribute.d.ts +2 -2
  241. package/src/engine/graphics/sh3/path_tracer/sample_triangle_attribute.d.ts.map +1 -1
  242. package/src/engine/graphics/sh3/path_tracer/sample_triangle_attribute.js +1 -1
  243. package/src/engine/graphics/sh3/path_tracer/sampling/generate_stratified_samples.d.ts +10 -0
  244. package/src/engine/graphics/sh3/path_tracer/sampling/generate_stratified_samples.d.ts.map +1 -0
  245. package/src/engine/graphics/sh3/path_tracer/sampling/generate_stratified_samples.js +20 -0
  246. package/src/engine/graphics/sh3/path_tracer/sampling/generate_stratified_samples_2d.d.ts +10 -0
  247. package/src/engine/graphics/sh3/path_tracer/sampling/generate_stratified_samples_2d.d.ts.map +1 -0
  248. package/src/engine/graphics/sh3/path_tracer/sampling/generate_stratified_samples_2d.js +31 -0
  249. package/src/engine/graphics/sh3/path_tracer/sampling/make_stratified_sample.d.ts +9 -0
  250. package/src/engine/graphics/sh3/path_tracer/sampling/make_stratified_sample.d.ts.map +1 -0
  251. package/src/engine/graphics/sh3/path_tracer/sampling/make_stratified_sample.js +21 -0
  252. package/src/engine/graphics/sh3/path_tracer/texture/SoftwareTextureCache.d.ts +3 -0
  253. package/src/engine/graphics/sh3/path_tracer/texture/SoftwareTextureCache.d.ts.map +1 -0
  254. package/src/engine/graphics/sh3/path_tracer/texture/SoftwareTextureCache.js +3 -0
  255. package/src/engine/graphics/sh3/path_tracer/texture/apply_texture_clamping_to_coordinate.d.ts.map +1 -0
  256. package/src/engine/graphics/sh3/path_tracer/{apply_texture_clamping_to_coordinate.js → texture/apply_texture_clamping_to_coordinate.js} +2 -2
  257. package/src/engine/graphics/sh3/path_tracer/texture/sample_material.d.ts +11 -0
  258. package/src/engine/graphics/sh3/path_tracer/texture/sample_material.d.ts.map +1 -0
  259. package/src/engine/graphics/sh3/path_tracer/texture/sample_material.js +86 -0
  260. package/src/engine/graphics/sh3/path_tracer/texture/sample_texture.d.ts +10 -0
  261. package/src/engine/graphics/sh3/path_tracer/texture/sample_texture.d.ts.map +1 -0
  262. package/src/engine/graphics/sh3/path_tracer/texture/sample_texture.js +55 -0
  263. package/src/engine/graphics/sh3/path_tracer/vec3_uint8_to_float.js +4 -4
  264. package/src/engine/graphics/sh3/prototypeSH3Probe.js +145 -185
  265. package/src/engine/graphics/sh3/sky/hosek/sky_hosek_compute_irradiance_by_direction.d.ts +5 -5
  266. package/src/engine/graphics/sh3/sky/hosek/sky_hosek_compute_irradiance_by_direction.d.ts.map +1 -1
  267. package/src/engine/graphics/sh3/sky/hosek/sky_hosek_compute_irradiance_by_direction.js +8 -8
  268. package/src/engine/graphics/sh3/visualise_spherical_harmonic_sphere.d.ts +13 -0
  269. package/src/engine/graphics/sh3/visualise_spherical_harmonic_sphere.d.ts.map +1 -0
  270. package/src/engine/graphics/sh3/visualise_spherical_harmonic_sphere.js +54 -0
  271. package/src/engine/graphics/texture/AttributeDataTexture.d.ts +2 -2
  272. package/src/engine/graphics/texture/AttributeDataTexture.d.ts.map +1 -1
  273. package/src/engine/graphics/texture/AttributeDataTexture.js +11 -11
  274. package/src/engine/graphics/texture/sampler/Sampler2D.d.ts.map +1 -1
  275. package/src/engine/graphics/texture/sampler/Sampler2D.js +2 -2
  276. package/src/engine/input/ecs/systems/InputControllerSystem.js +1 -1
  277. package/src/engine/network/convertPathToURL.d.ts +3 -1
  278. package/src/engine/network/convertPathToURL.d.ts.map +1 -1
  279. package/src/engine/network/convertPathToURL.js +68 -51
  280. package/src/engine/physics/fluid/SliceVisualiser.d.ts.map +1 -1
  281. package/src/engine/physics/fluid/SliceVisualiser.js +4 -4
  282. package/src/generation/filtering/numeric/CellFilterCache.d.ts.map +1 -1
  283. package/src/generation/filtering/numeric/CellFilterCache.js +1 -0
  284. package/src/view/elements/ColorPickerView.d.ts.map +1 -1
  285. package/src/view/elements/ColorPickerView.js +7 -7
  286. package/src/core/binary/float2uint8.d.ts +0 -7
  287. package/src/core/binary/float2uint8.d.ts.map +0 -1
  288. package/src/core/binary/uint82float.d.ts +0 -7
  289. package/src/core/binary/uint82float.d.ts.map +0 -1
  290. package/src/core/binary/uint82float.spec.d.ts +0 -2
  291. package/src/core/binary/uint82float.spec.d.ts.map +0 -1
  292. package/src/core/binary/uint82float.spec.js +0 -7
  293. package/src/core/collection/array/randomizeArrayElementOrder.d.ts +0 -8
  294. package/src/core/collection/array/randomizeArrayElementOrder.d.ts.map +0 -1
  295. package/src/core/collection/array/randomizeArrayElementOrder.js +0 -24
  296. package/src/core/collection/array/randomizeArrayElementOrder.spec.d.ts +0 -2
  297. package/src/core/collection/array/randomizeArrayElementOrder.spec.d.ts.map +0 -1
  298. package/src/core/geom/3d/tetrahedra/compute_circumsphere.d.ts.map +0 -1
  299. package/src/core/graph/coarsen_graph.d.ts.map +0 -1
  300. package/src/core/graph/coarsen_graph.spec.d.ts +0 -2
  301. package/src/core/graph/coarsen_graph.spec.d.ts.map +0 -1
  302. package/src/core/graph/graph_adjacency_matrix.d.ts +0 -9
  303. package/src/core/graph/graph_adjacency_matrix.d.ts.map +0 -1
  304. package/src/core/graph/graph_degree_matrix.d.ts +0 -9
  305. package/src/core/graph/graph_degree_matrix.d.ts.map +0 -1
  306. package/src/core/graph/graph_degree_matrix.js +0 -18
  307. package/src/core/graph/graph_laplacian_matrix.d.ts.map +0 -1
  308. package/src/core/math/physics/brdf/D_GGX.d.ts.map +0 -1
  309. package/src/engine/graphics/sh3/LightProbeVolume.d.ts.map +0 -1
  310. package/src/engine/graphics/sh3/LightProbeVolume.js +0 -609
  311. package/src/engine/graphics/sh3/path_tracer/apply_texture_clamping_to_coordinate.d.ts.map +0 -1
  312. package/src/engine/graphics/sh3/visualise_probe.d.ts +0 -12
  313. package/src/engine/graphics/sh3/visualise_probe.d.ts.map +0 -1
  314. package/src/engine/graphics/sh3/visualise_probe.js +0 -40
  315. /package/src/engine/graphics/sh3/path_tracer/{apply_texture_clamping_to_coordinate.d.ts → texture/apply_texture_clamping_to_coordinate.d.ts} +0 -0
@@ -1,14 +1,14 @@
1
+ import { DataTexture, NearestFilter } from "three";
1
2
  import { assert } from "../../../core/assert.js";
3
+ import {
4
+ compute_typed_array_constructor_from_data_type
5
+ } from "../../../core/binary/type/DataType2TypedArrayConstructorMapping.js";
6
+ import { DataTypeByteSizes } from "../../../core/binary/type/DataTypeByteSizes.js";
2
7
  import { typed_array_copy } from "../../../core/collection/array/typed/typed_array_copy.js";
3
8
  import { channelCountToThreeTextureFormat } from "./channelCountToThreeTextureFormat.js";
4
- import { DataTexture, NearestFilter } from "three";
5
- import { computeThreeTextureTypeFromDataType } from "./computeThreeTextureTypeFromDataType.js";
6
9
  import { computeThreeTextureInternalFormatFromDataType } from "./computeThreeTextureInternalFormatFromDataType.js";
7
- import { DataTypeByteSizes } from "../../../core/binary/type/DataTypeByteSizes.js";
10
+ import { computeThreeTextureTypeFromDataType } from "./computeThreeTextureTypeFromDataType.js";
8
11
  import { normalized_internal_format } from "./normalized_internal_format.js";
9
- import {
10
- compute_typed_array_constructor_from_data_type
11
- } from "../../../core/binary/type/DataType2TypedArrayConstructorMapping.js";
12
12
 
13
13
  export class AttributeDataTexture {
14
14
  /**
@@ -90,12 +90,12 @@ export class AttributeDataTexture {
90
90
 
91
91
  /**
92
92
  *
93
- * @param {number} row_count
93
+ * @param {number} slot_count
94
94
  */
95
- resize(row_count) {
96
- assert.isNonNegativeInteger(row_count, 'row_count');
95
+ resize(slot_count) {
96
+ assert.isNonNegativeInteger(slot_count, 'slot_count');
97
97
 
98
- this.__capacity = row_count;
98
+ this.__capacity = slot_count;
99
99
 
100
100
  const spec = this.__spec;
101
101
 
@@ -113,7 +113,7 @@ export class AttributeDataTexture {
113
113
  }
114
114
 
115
115
 
116
- // console.log(`#AttributeDataTexture.resize(${row_count})`); // DEBUG
116
+ // console.log(`#AttributeDataTexture.resize(${slot_count})`); // DEBUG
117
117
 
118
118
  const old_data = image.data;
119
119
 
@@ -1 +1 @@
1
- {"version":3,"file":"Sampler2D.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/sampler/Sampler2D.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sampler2D.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/sampler/Sampler2D.js"],"names":[],"mappings":"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"}
@@ -321,7 +321,7 @@ export class Sampler2D {
321
321
  *
322
322
  * @param {number} u
323
323
  * @param {number} v
324
- * @param {number[]} result
324
+ * @param {number[]|Float32Array} result
325
325
  * @param {number} result_offset
326
326
  */
327
327
  sampleBilinearUV(u, v, result, result_offset = 0) {
@@ -458,7 +458,7 @@ export class Sampler2D {
458
458
  *
459
459
  * @param {number} u
460
460
  * @param {number} v
461
- * @param {ArrayLike<number>} result
461
+ * @param {number[]|ArrayLike<number>} result
462
462
  */
463
463
  sampleNearestUV(u, v, result) {
464
464
  const w = this.width;
@@ -192,7 +192,7 @@ class InputControllerSystem extends System {
192
192
 
193
193
  this.devices = devices;
194
194
 
195
- console.log("Input Controller System started. Devices: ", devices);
195
+ // console.log("Input Controller System started. Devices: ", devices);
196
196
 
197
197
  const self = this;
198
198
 
@@ -1,5 +1,7 @@
1
1
  /**
2
- *
2
+ * Given a path, which may be a local path, produce a fully qualified URL
3
+ * @example '/path' -> 'http://example.com/path'
4
+ * @example 'some/local/path' -> 'http://example.com/current_path/some/local/path'
3
5
  * @param {string} path
4
6
  * @return {string}
5
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"convertPathToURL.d.ts","sourceRoot":"","sources":["../../../../src/engine/network/convertPathToURL.js"],"names":[],"mappings":"AAkBA;;;;GAIG;AACH,uCAHW,MAAM,GACL,MAAM,CAoEjB"}
1
+ {"version":3,"file":"convertPathToURL.d.ts","sourceRoot":"","sources":["../../../../src/engine/network/convertPathToURL.js"],"names":[],"mappings":"AAuFA;;;;;;GAMG;AACH,uCAHW,MAAM,GACL,MAAM,CAcjB"}
@@ -1,3 +1,5 @@
1
+ import { assert } from "../../core/assert.js";
2
+
1
3
  const rx_url_schema = /[a-zA-Z0-9_\-]+\:\/\//;
2
4
 
3
5
  /**
@@ -21,70 +23,85 @@ const ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENV
21
23
  * @param {string} path
22
24
  * @return {string}
23
25
  */
24
- export function convertPathToURL(path) {
25
-
26
- if (!isGlobalPath(path)) {
26
+ function localPathToGlobal(path) {
27
+ /**
28
+ * @type {Window|DedicatedWorkerGlobalScope}
29
+ */
30
+ let scope;
31
+
32
+ if (ENVIRONMENT_IS_WEB) {
33
+ scope = window;
34
+ } else if (ENVIRONMENT_IS_WORKER) {
35
+ scope = self;
36
+ } else if (ENVIRONMENT_IS_NODE) {
37
+
38
+ let normalized_path = `${process.cwd()}/`.replace(/\\/g, '/');
39
+
40
+ // remove multiple sequential slashes
41
+ normalized_path = normalized_path.replace(/\/+/g, '/');
42
+
43
+ if (normalized_path[0] !== '/') {
44
+ // Windows drive letter must be prefixed with a slash.
45
+ normalized_path = `/${normalized_path}`;
46
+ }
27
47
 
28
- /**
29
- * @type {Window|DedicatedWorkerGlobalScope}
30
- */
31
- let scope;
48
+ scope = {
49
+ location: {
50
+ pathname: normalized_path,
51
+ host: '',
52
+ protocol: 'file:'
53
+ }
54
+ };
55
+ } else {
56
+ throw new Error('Unknown environment');
57
+ }
32
58
 
33
- if (ENVIRONMENT_IS_WEB) {
34
- scope = window;
35
- } else if (ENVIRONMENT_IS_WORKER) {
36
- scope = self;
37
- } else if (ENVIRONMENT_IS_NODE) {
59
+ const location = scope.location;
60
+ const pathname = location.pathname;
38
61
 
39
- let normalized_path = `${process.cwd()}/`.replace(/\\/g, '/');
62
+ let directoryPath;
40
63
 
41
- // remove multiple sequential slashes
42
- normalized_path = normalized_path.replace(/\/+/g, '/');
64
+ /*
65
+ path name contains file name also, there are two options here, "a/b" or "a/b/" second is a directory
66
+ we need to extract directory to load relative path
67
+ */
43
68
 
44
- if (normalized_path[0] !== '/') {
45
- // Windows drive letter must be prefixed with a slash.
46
- normalized_path = `/${normalized_path}`;
47
- }
69
+ if (pathname.endsWith('/')) {
70
+ //path is to a directory, strip last slash
71
+ directoryPath = pathname.substring(0, pathname.length - 1);
72
+ } else {
73
+ //path is to a file
74
+ const i = pathname.lastIndexOf('/');
48
75
 
49
- scope = {
50
- location: {
51
- pathname: normalized_path,
52
- host: '',
53
- protocol: 'file:'
54
- }
55
- };
76
+ if (i === -1) {
77
+ //root level file
78
+ directoryPath = ""
56
79
  } else {
57
- throw new Error('Unknown environment');
80
+ directoryPath = pathname.substring(0, i);
58
81
  }
82
+ }
59
83
 
60
- const location = scope.location;
61
- const pathname = location.pathname;
84
+ const urlBase = location.protocol + "//" + location.host + directoryPath + "/";
85
+ return urlBase + path;
86
+ }
62
87
 
63
- let directoryPath;
88
+ /**
89
+ * Given a path, which may be a local path, produce a fully qualified URL
90
+ * @example '/path' -> 'http://example.com/path'
91
+ * @example 'some/local/path' -> 'http://example.com/current_path/some/local/path'
92
+ * @param {string} path
93
+ * @return {string}
94
+ */
95
+ export function convertPathToURL(path) {
96
+ assert.isString(path, 'path');
64
97
 
65
- /*
66
- path name contains file name also, there are two options here, "a/b" or "a/b/" second is a directory
67
- we need to extract directory to load relative path
68
- */
98
+ const is_global = isGlobalPath(path);
69
99
 
70
- if (pathname.endsWith('/')) {
71
- //path is to a directory, strip last slash
72
- directoryPath = pathname.substring(0, pathname.length - 1);
73
- } else {
74
- //path is to a file
75
- const i = pathname.lastIndexOf('/');
76
-
77
- if (i === -1) {
78
- //root level file
79
- directoryPath = ""
80
- } else {
81
- directoryPath = pathname.substring(0, i);
82
- }
83
- }
100
+ let result = path;
84
101
 
85
- const urlBase = location.protocol + "//" + location.host + directoryPath + "/";
86
- path = urlBase + path;
102
+ if (!is_global) {
103
+ result = localPathToGlobal(path);
87
104
  }
88
105
 
89
- return path;
106
+ return result;
90
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SliceVisualiser.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/fluid/SliceVisualiser.js"],"names":[],"mappings":"AAMA;IAsBI;;OAEG;IACH,cAMC;IAED,aAgCC;IAED,eAkBC;IAED;;;;OAIG;IACH,cAHW,WAAW,cACX,MAAM,EAAE,QAkElB;;CAEJ;sBApKqB,qCAAqC"}
1
+ {"version":3,"file":"SliceVisualiser.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/fluid/SliceVisualiser.js"],"names":[],"mappings":"AAMA;IAsBI;;OAEG;IACH,cAMC;IAED,aAgCC;IAED,eAkBC;IAED;;;;OAIG;IACH,cAHW,WAAW,cACX,MAAM,EAAE,QAkElB;;CAEJ;sBAjKqB,qCAAqC"}
@@ -1,8 +1,8 @@
1
- import EmptyView from "../../../view/elements/EmptyView.js";
2
- import { float2uint8 } from "../../../core/binary/float2uint8.js";
1
+ import { float_to_uint8 } from "../../../core/binary/float_to_uint8.js";
3
2
  import { max2 } from "../../../core/math/max2.js";
4
- import { Sampler2D } from "../../graphics/texture/sampler/Sampler2D.js";
5
3
  import { CanvasView } from "../../../view/elements/CanvasView.js";
4
+ import EmptyView from "../../../view/elements/EmptyView.js";
5
+ import { Sampler2D } from "../../graphics/texture/sampler/Sampler2D.js";
6
6
 
7
7
  export class SliceVisualiser extends EmptyView {
8
8
 
@@ -16,7 +16,7 @@ export class SliceVisualiser extends EmptyView {
16
16
  let i = 0;
17
17
 
18
18
  for (; i < channelCount; i++) {
19
- out[out_offset + i] = float2uint8(sample[i])
19
+ out[out_offset + i] = float_to_uint8(sample[i])
20
20
  }
21
21
 
22
22
  if (channelCount < 4) {
@@ -1 +1 @@
1
- {"version":3,"file":"CellFilterCache.d.ts","sourceRoot":"","sources":["../../../../../src/generation/filtering/numeric/CellFilterCache.js"],"names":[],"mappings":"AAIA;IAeI;;;;;OAKG;IACH,wCAHW,MAAM,GACJ,eAAe,CAU3B;IA3BD;;;;OAIG;IACH,gBAAqC;IAErC;;;OAGG;IACH,OAFU,MAAM,CAEN;CAyDb;yCAxEwC,qCAAqC"}
1
+ {"version":3,"file":"CellFilterCache.d.ts","sourceRoot":"","sources":["../../../../../src/generation/filtering/numeric/CellFilterCache.js"],"names":[],"mappings":"AAIA;IAeI;;;;;OAKG;IACH,wCAHW,MAAM,GACJ,eAAe,CAW3B;IA5BD;;;;OAIG;IACH,gBAAqC;IAErC;;;OAGG;IACH,OAFU,MAAM,CAEN;CA0Db;yCAzEwC,qCAAqC"}
@@ -29,6 +29,7 @@ export class CellFilterCache extends CellFilterUnaryOperation {
29
29
  const r = new CellFilterCache();
30
30
 
31
31
  r.source = source;
32
+ r.scale = scale;
32
33
 
33
34
  return r;
34
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPickerView.d.ts","sourceRoot":"","sources":["../../../../src/view/elements/ColorPickerView.js"],"names":[],"mappings":"AAQA;CA+RC;uBAvSsB,sCAAsC"}
1
+ {"version":3,"file":"ColorPickerView.d.ts","sourceRoot":"","sources":["../../../../src/view/elements/ColorPickerView.js"],"names":[],"mappings":"AAQA;CA+RC;uBAlSsB,sCAAsC"}
@@ -1,9 +1,9 @@
1
- import GuiControl from "../controller/controls/GuiControl.js";
2
1
  import { GaugeView } from "../../../editor/view/ecs/components/color/GaugeView.js";
3
- import Vector1 from "../../core/geom/Vector1.js";
4
2
  import { drawCheckers } from "../../../editor/view/ecs/components/particles/ColorParameterLUTController.js";
5
3
  import { hsv2rgb } from "../../core/color/hsv/hsv2rgb.js";
6
4
  import { rgb2hsv } from "../../core/color/hsv/rgb2hsv.js";
5
+ import Vector1 from "../../core/geom/Vector1.js";
6
+ import GuiControl from "../controller/controls/GuiControl.js";
7
7
 
8
8
 
9
9
  export class ColorPickerView extends GuiControl {
@@ -31,7 +31,7 @@ export class ColorPickerView extends GuiControl {
31
31
  gradient.addColorStop(0, `hsl(0, 0%, 50%)`);
32
32
  gradient.addColorStop(1, `hsl(0, 100%, 50%)`);
33
33
  } else {
34
- const hsv = rgb2hsv(color.x * 255, color.y * 255, color.z * 255);
34
+ const hsv = rgb2hsv(color.x, color.y, color.z);
35
35
 
36
36
  gradient.addColorStop(0, `hsl(${hsv.h * 360}, 0%, ${hsv.v * 50}% )`);
37
37
  gradient.addColorStop(1, `hsl(${hsv.h * 360}, 100%, ${hsv.v * 50}% )`);
@@ -62,7 +62,7 @@ export class ColorPickerView extends GuiControl {
62
62
  gradient.addColorStop(0, `hsl(0, 0%, 0%)`);
63
63
  gradient.addColorStop(1, `hsl(0, 0%, 50%)`);
64
64
  } else {
65
- const hsv = rgb2hsv(color.x * 255, color.y * 255, color.z * 255);
65
+ const hsv = rgb2hsv(color.x, color.y, color.z);
66
66
 
67
67
  gradient.addColorStop(0, `hsl(${hsv.h * 360}, ${hsv.s * 100}%, 0%)`);
68
68
  gradient.addColorStop(1, `hsl(${hsv.h * 360}, ${hsv.s * 100}%, 100%)`);
@@ -118,7 +118,7 @@ export class ColorPickerView extends GuiControl {
118
118
  gradient.addColorStop(0, `hsla(0, 0%, 50%, 0)`);
119
119
  gradient.addColorStop(1, `hsla(0, 0%, 50%, 1)`);
120
120
  } else {
121
- const hsv = rgb2hsv(color.x * 255, color.y * 255, color.z * 255);
121
+ const hsv = rgb2hsv(color.x, color.y, color.z);
122
122
 
123
123
  gradient.addColorStop(0, `hsla(${hsv.h * 360}, ${hsv.s * 100}%, ${hsv.v * 50}%, 0)`);
124
124
  gradient.addColorStop(1, `hsla(${hsv.h * 360}, ${hsv.s * 100}%, ${hsv.v * 50}%, 1)`);
@@ -258,9 +258,9 @@ export class ColorPickerView extends GuiControl {
258
258
  return;
259
259
  }
260
260
 
261
- const hsv = rgb2hsv(r * 255, g * 255, b * 255);
261
+ const hsv = rgb2hsv(r, g, b);
262
262
 
263
- //aquire locks
263
+ //acquire locks
264
264
  writeLocks.h = true;
265
265
  writeLocks.s = true;
266
266
  writeLocks.l = true;
@@ -1,7 +0,0 @@
1
- /**
2
- *
3
- * @param {number} v
4
- * @returns {number}
5
- */
6
- export function float2uint8(v: number): number;
7
- //# sourceMappingURL=float2uint8.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"float2uint8.d.ts","sourceRoot":"","sources":["../../../../src/core/binary/float2uint8.js"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,+BAHW,MAAM,GACJ,MAAM,CAIlB"}
@@ -1,7 +0,0 @@
1
- /**
2
- *
3
- * @param {number} v
4
- * @returns {number}
5
- */
6
- export function uint82float(v: number): number;
7
- //# sourceMappingURL=uint82float.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uint82float.d.ts","sourceRoot":"","sources":["../../../../src/core/binary/uint82float.js"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,+BAHW,MAAM,GACJ,MAAM,CAIlB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=uint82float.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uint82float.spec.d.ts","sourceRoot":"","sources":["../../../../src/core/binary/uint82float.spec.js"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- import { uint82float } from "./uint82float.js";
2
-
3
- test("correctness", () => {
4
- expect(uint82float(0)).toBe(0);
5
- expect(uint82float(1)).toBeCloseTo(1 / 255);
6
- expect(uint82float(255)).toBe(1);
7
- });
@@ -1,8 +0,0 @@
1
- /**
2
- * Randomly re-orders of items in-place
3
- * @template T
4
- * @param {function} random
5
- * @param {T[]} array
6
- */
7
- export function randomizeArrayElementOrder<T>(random: Function, array: T[]): void;
8
- //# sourceMappingURL=randomizeArrayElementOrder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"randomizeArrayElementOrder.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/array/randomizeArrayElementOrder.js"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,kFAcC"}
@@ -1,24 +0,0 @@
1
- import { randomIntegerBetween } from "../../math/random/randomIntegerBetween.js";
2
- import { array_swap_one } from "./array_swap_one.js";
3
-
4
- /**
5
- * Randomly re-orders of items in-place
6
- * @template T
7
- * @param {function} random
8
- * @param {T[]} array
9
- */
10
- export function randomizeArrayElementOrder(random, array) {
11
- const n = array.length;
12
-
13
- const lastValidIndex = n - 1;
14
-
15
- for (let i = 0; i < n; i++) {
16
- const t = randomIntegerBetween(random, 0, lastValidIndex);
17
-
18
- if (t === i) {
19
- continue;
20
- }
21
-
22
- array_swap_one(array, i, t);
23
- }
24
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=randomizeArrayElementOrder.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"randomizeArrayElementOrder.spec.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/array/randomizeArrayElementOrder.spec.js"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"compute_circumsphere.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/tetrahedra/compute_circumsphere.js"],"names":[],"mappings":"AAOA;;;;;;;;;;;;GAYG;AACH,6CAPW,MAAM,EAAE,UACR,MAAM,EAAE,KACR,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,QA+EhB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"coarsen_graph.d.ts","sourceRoot":"","sources":["../../../../src/core/graph/coarsen_graph.js"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,6EAFW,MAAM,QAuBhB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=coarsen_graph.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coarsen_graph.spec.d.ts","sourceRoot":"","sources":["../../../../src/core/graph/coarsen_graph.spec.js"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- /**
2
- * NOTE: does not clear matrix before writing adjacency
3
- * @template T
4
- * @param {Graph<T>} graph
5
- * @param {SquareMatrix} result
6
- * @param {Map<T,number>} node_indices
7
- */
8
- export function graph_adjacency_matrix<T>(graph: Graph<T>, result: SquareMatrix, node_indices: Map<T, number>): void;
9
- //# sourceMappingURL=graph_adjacency_matrix.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph_adjacency_matrix.d.ts","sourceRoot":"","sources":["../../../../src/core/graph/graph_adjacency_matrix.js"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,qHAUC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * NOTE: does not clear matrix before writing
3
- * @template T
4
- * @param {Graph<T>} graph
5
- * @param {SquareMatrix} result
6
- * @param {Map<T,number>} node_indices
7
- */
8
- export function graph_degree_matrix<T>(graph: Graph<T>, result: SquareMatrix, node_indices: Map<T, number>): void;
9
- //# sourceMappingURL=graph_degree_matrix.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph_degree_matrix.d.ts","sourceRoot":"","sources":["../../../../src/core/graph/graph_degree_matrix.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,kHAUC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * NOTE: does not clear matrix before writing
3
- * @template T
4
- * @param {Graph<T>} graph
5
- * @param {SquareMatrix} result
6
- * @param {Map<T,number>} node_indices
7
- */
8
- export function graph_degree_matrix(graph, result, node_indices) {
9
- const nodes = graph.getNodes();
10
-
11
- for (const node of nodes) {
12
- const i = node_indices.get(node);
13
-
14
- const degree = graph.getNodeDegree(node);
15
-
16
- result.setCellValue(i, i, degree);
17
- }
18
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph_laplacian_matrix.d.ts","sourceRoot":"","sources":["../../../../src/core/graph/graph_laplacian_matrix.js"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,mEAHW,YAAY,sCAWtB;6BApB4B,mBAAmB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"D_GGX.d.ts","sourceRoot":"","sources":["../../../../../../src/core/math/physics/brdf/D_GGX.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,2BAJW,MAAM,aACN,MAAM,GACJ,MAAM,CAQlB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LightProbeVolume.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics/sh3/LightProbeVolume.js"],"names":[],"mappings":"AAkcA;IAEQ,mBAAqB;IAErB,wBAAmC;IAEnC,oBAAsB;IAEtB,iBAAiB;IAGrB;;;;;OAKG;IACH,aAJW,MAAM,KACN,MAAM,KACN,MAAM,QAchB;IAED;;;;;OAKG;IACH,mBAJW,MAAM,UACN,MAAM,EAAE,iBACR,MAAM,QAIhB;IAED;;OAEG;IACH,mBAaC;IAGD;;;;OAIG;IACH,sBAFa,SAAS,CAwCrB;IAED;;;;;OAKG;IACH,sEAWC;IAED;;;;OAIG;IACH,6DAkBC;IAED;;;;OAIG;IACH,uBAFa,SAAS,CAKrB;CACJ;gCA5kB+B,qDAAqD;sBAE/D,yCAAyC"}