@woosh/meep-engine 3.56.0 → 3.58.0

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 (1920) hide show
  1. package/build/bundle-worker-terrain.js +1 -1
  2. package/editor/ecs/component/editors/ColorEditor.js +2 -2
  3. package/editor/particles/effect/ParticleEffectDocument.d.ts.map +1 -1
  4. package/editor/particles/effect/ParticleEffectDocument.js +2 -5
  5. package/editor/tools/GridPaintTool.js +2 -2
  6. package/editor/view/node-graph/NodeGraphEditorView.d.ts +1 -1
  7. package/editor/view/node-graph/NodeGraphEditorView.d.ts.map +1 -1
  8. package/editor/view/node-graph/NodeGraphEditorView.js +2 -2
  9. package/editor/view/node-graph/NodeGraphView.d.ts +0 -1
  10. package/editor/view/node-graph/NodeGraphView.d.ts.map +1 -1
  11. package/editor/view/node-graph/NodeGraphView.js +0 -2
  12. package/package.json +1 -1
  13. package/src/DUPLICATION_REVIEW_2026_10_24.md +1072 -0
  14. package/src/core/binary/BitSet.js +1 -1
  15. package/src/core/binary/FLOAT16_MAX.d.ts +2 -0
  16. package/src/core/binary/FLOAT16_MAX.d.ts.map +1 -0
  17. package/src/core/binary/FLOAT16_MAX.js +1 -0
  18. package/src/core/binary/base58/base58_encode.js +2 -2
  19. package/src/core/binary/type/TypeBuilder.js +1 -1
  20. package/src/core/bvh2/bvh3/BVH.js +1 -1
  21. package/src/core/bvh2/bvh3/ebvh_optimize_treelet.d.ts.map +1 -1
  22. package/src/core/bvh2/bvh3/ebvh_optimize_treelet.js +7 -3
  23. package/src/core/bvh2/bvh3/ebvh_update_hierarchy_bounds.d.ts.map +1 -1
  24. package/src/core/bvh2/bvh3/ebvh_update_hierarchy_bounds.js +5 -1
  25. package/src/core/bvh2/bvh3/query/compute_tight_near_far_clipping_planes.d.ts.map +1 -1
  26. package/src/core/bvh2/bvh3/query/compute_tight_near_far_clipping_planes.js +195 -246
  27. package/src/core/bvh8/build/NodeProxy.js +2 -2
  28. package/src/core/bvh8/build/aabb3_compute_merge_cost.js +4 -4
  29. package/src/core/bvh8/build/bvh8_build_for_geometry.js +2 -2
  30. package/src/core/collection/CuckooFilter.js +1 -1
  31. package/src/core/collection/array/isArrayEqual.d.ts.map +1 -1
  32. package/src/core/collection/array/isArrayEqual.js +33 -58
  33. package/src/core/collection/array/typed/array_buffer_hash.d.ts.map +1 -1
  34. package/src/core/collection/array/typed/array_buffer_hash.js +41 -39
  35. package/src/core/collection/array/typed/float32_array_hash.js +38 -38
  36. package/src/core/collection/array/typed/uint16_array_hash.d.ts +2 -1
  37. package/src/core/collection/array/typed/uint16_array_hash.d.ts.map +1 -1
  38. package/src/core/collection/array/typed/uint16_array_hash.js +30 -29
  39. package/src/core/collection/array/typed/uint32_array_hash.d.ts +2 -1
  40. package/src/core/collection/array/typed/uint32_array_hash.d.ts.map +1 -1
  41. package/src/core/collection/array/typed/uint32_array_hash.js +21 -20
  42. package/src/core/collection/array/typed/uint8_array_hash.d.ts +2 -1
  43. package/src/core/collection/array/typed/uint8_array_hash.d.ts.map +1 -1
  44. package/src/core/collection/array/typed/uint8_array_hash.js +37 -36
  45. package/src/core/collection/array/typed/uint_array_for_count.js +2 -2
  46. package/src/core/collection/list/List.d.ts.map +1 -1
  47. package/src/core/collection/list/List.js +3 -19
  48. package/src/core/collection/table/RowFirstTable.d.ts.map +1 -1
  49. package/src/core/collection/table/RowFirstTable.js +4 -28
  50. package/src/core/debug/matchers/DescribeAs.d.ts.map +1 -1
  51. package/src/core/debug/matchers/DescribeAs.js +62 -64
  52. package/src/core/function/FunctionCompiler.js +4 -4
  53. package/src/core/function/objectsEqual.d.ts.map +1 -1
  54. package/src/core/function/objectsEqual.js +3 -2
  55. package/src/core/geom/2d/bvh/BVH2D.d.ts.map +1 -1
  56. package/src/core/geom/2d/bvh/BVH2D.js +4 -3
  57. package/src/core/geom/2d/convex-hull/convex_hull_fixed_count_2d_relaxation.d.ts +5 -2
  58. package/src/core/geom/2d/convex-hull/convex_hull_fixed_count_2d_relaxation.d.ts.map +1 -1
  59. package/src/core/geom/2d/convex-hull/convex_hull_fixed_count_2d_relaxation.js +49 -11
  60. package/src/core/geom/2d/hash-grid/shg_query_elements_circle.d.ts.map +1 -1
  61. package/src/core/geom/2d/hash-grid/shg_query_elements_circle.js +122 -159
  62. package/src/core/geom/2d/hash-grid/shg_query_elements_line.d.ts.map +1 -1
  63. package/src/core/geom/2d/hash-grid/shg_query_elements_line.js +8 -5
  64. package/src/core/geom/2d/line/line2_segment_intersection_fraction_2d.d.ts +1 -1
  65. package/src/core/geom/2d/line/line2_segment_intersection_fraction_2d.js +1 -1
  66. package/src/core/geom/2d/polygon/polygon2_rasterize_coverage.d.ts +18 -0
  67. package/src/core/geom/2d/polygon/polygon2_rasterize_coverage.d.ts.map +1 -0
  68. package/src/core/geom/2d/polygon/polygon2_rasterize_coverage.js +97 -0
  69. package/src/core/geom/2d/r-tree/StaticR2Tree.js +2 -2
  70. package/src/core/geom/2d/triangle/tri2_intersects_aabb2.d.ts +17 -0
  71. package/src/core/geom/2d/triangle/tri2_intersects_aabb2.d.ts.map +1 -0
  72. package/src/core/geom/2d/triangle/tri2_intersects_aabb2.js +64 -0
  73. package/src/core/geom/2d/triangle/tri2_rasterize_barycentric.d.ts +23 -0
  74. package/src/core/geom/2d/triangle/tri2_rasterize_barycentric.d.ts.map +1 -0
  75. package/src/core/geom/2d/triangle/tri2_rasterize_barycentric.js +81 -0
  76. package/src/core/geom/2d/triangle/tri2_rasterize_conservative.d.ts.map +1 -1
  77. package/src/core/geom/2d/triangle/tri2_rasterize_conservative.js +36 -99
  78. package/src/core/geom/2d/triangle/tri2_rasterize_coverage.d.ts +21 -0
  79. package/src/core/geom/2d/triangle/tri2_rasterize_coverage.d.ts.map +1 -0
  80. package/src/core/geom/2d/triangle/tri2_rasterize_coverage.js +54 -0
  81. package/src/core/geom/3d/aabb/aabb3_build_frustum.d.ts +0 -11
  82. package/src/core/geom/3d/aabb/aabb3_build_frustum.d.ts.map +1 -1
  83. package/src/core/geom/3d/aabb/aabb3_build_frustum.js +3 -41
  84. package/src/core/geom/3d/aabb/aabb3_score_boxes_SAH.d.ts +1 -1
  85. package/src/core/geom/3d/aabb/aabb3_score_boxes_SAH.d.ts.map +1 -1
  86. package/src/core/geom/3d/aabb/aabb3_score_boxes_SAH.js +11 -42
  87. package/src/core/geom/3d/atlas/pack/atlas_pack_charts.d.ts.map +1 -1
  88. package/src/core/geom/3d/atlas/pack/atlas_pack_charts.js +30 -32
  89. package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_bff.d.ts.map +1 -1
  90. package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_bff.js +1 -5
  91. package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_lscm.d.ts.map +1 -1
  92. package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_lscm.js +1 -15
  93. package/src/core/geom/3d/atlas/segment/atlas_merge_charts.d.ts.map +1 -1
  94. package/src/core/geom/3d/atlas/segment/atlas_merge_charts.js +105 -116
  95. package/src/core/geom/3d/box/box3_raycast.d.ts +1 -1
  96. package/src/core/geom/3d/box/box3_raycast.js +1 -1
  97. package/src/core/geom/3d/line/line3_compute_segment_closest_point_to_aabb3_t.d.ts +1 -1
  98. package/src/core/geom/3d/line/line3_compute_segment_closest_point_to_aabb3_t.js +1 -1
  99. package/src/core/geom/3d/line/line3_compute_segment_point_distance_sqr.d.ts.map +1 -1
  100. package/src/core/geom/3d/line/line3_compute_segment_point_distance_sqr.js +36 -54
  101. package/src/core/geom/3d/plane/plane3_compute_intersection_objects.d.ts +5 -10
  102. package/src/core/geom/3d/plane/plane3_compute_intersection_objects.d.ts.map +1 -1
  103. package/src/core/geom/3d/plane/plane3_compute_intersection_objects.js +20 -82
  104. package/src/core/geom/3d/plane/plane3_slerp.d.ts.map +1 -1
  105. package/src/core/geom/3d/plane/plane3_slerp.js +87 -102
  106. package/src/core/geom/3d/polygon/polygon3_compute_normal.d.ts +12 -0
  107. package/src/core/geom/3d/polygon/polygon3_compute_normal.d.ts.map +1 -1
  108. package/src/core/geom/3d/polygon/polygon3_compute_normal.js +107 -60
  109. package/src/core/geom/3d/quaternion/quat3_to_matrix3.d.ts +3 -3
  110. package/src/core/geom/3d/quaternion/quat3_to_matrix3.js +3 -3
  111. package/src/core/geom/3d/ray/ray3_compute_closest_point.d.ts.map +1 -1
  112. package/src/core/geom/3d/ray/ray3_compute_closest_point.js +37 -43
  113. package/src/core/geom/3d/shape/ConvexHullShape3D.d.ts.map +1 -1
  114. package/src/core/geom/3d/shape/ConvexHullShape3D.js +5 -16
  115. package/src/core/geom/3d/shape/HeightMapShape3D.js +2 -2
  116. package/src/core/geom/3d/shape/MeshShape3D.d.ts +2 -2
  117. package/src/core/geom/3d/shape/MeshShape3D.js +4 -58
  118. package/src/core/geom/3d/shape/PosedShape3D.js +2 -2
  119. package/src/core/geom/3d/shape/TransformedShape3D.d.ts.map +1 -1
  120. package/src/core/geom/3d/shape/TransformedShape3D.js +10 -7
  121. package/src/core/geom/3d/shape/UnionShape3D.d.ts.map +1 -1
  122. package/src/core/geom/3d/shape/UnionShape3D.js +9 -3
  123. package/src/core/geom/3d/shape/json/shape_to_type.js +2 -2
  124. package/src/core/geom/3d/sphere/harmonics/SH3_COEFFICIENTS.js +17 -17
  125. package/src/core/geom/3d/sphere/sphere_matrix4_transform.d.ts +0 -7
  126. package/src/core/geom/3d/sphere/sphere_matrix4_transform.d.ts.map +1 -1
  127. package/src/core/geom/3d/sphere/sphere_matrix4_transform.js +0 -4
  128. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.d.ts.map +1 -1
  129. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.js +6 -2
  130. package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_carve_outside_surface.d.ts.map +1 -1
  131. package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_carve_outside_surface.js +3 -2
  132. package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_compute_tet_quality.d.ts +1 -1
  133. package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_compute_tet_quality.js +1 -1
  134. package/src/core/geom/3d/tetrahedra/tetrahedron_compute_quality.d.ts +1 -1
  135. package/src/core/geom/3d/tetrahedra/tetrahedron_compute_quality.js +1 -1
  136. package/src/core/geom/3d/tetrahedra/tetrahedron_contains_point.d.ts +20 -2
  137. package/src/core/geom/3d/tetrahedra/tetrahedron_contains_point.d.ts.map +1 -1
  138. package/src/core/geom/3d/tetrahedra/tetrahedron_contains_point.js +52 -37
  139. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_compute_face_normals.d.ts.map +1 -1
  140. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_compute_face_normals.js +40 -56
  141. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_compute_vertex_quadrics.d.ts.map +1 -1
  142. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_compute_vertex_quadrics.js +251 -260
  143. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_compute_wedge_attribute_quadrics.d.ts.map +1 -1
  144. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_compute_wedge_attribute_quadrics.js +104 -113
  145. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_face_decouple.d.ts +1 -1
  146. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_face_decouple.js +1 -1
  147. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_resolve_t_junctions.d.ts.map +1 -1
  148. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_resolve_t_junctions.js +227 -238
  149. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_simplify.d.ts.map +1 -1
  150. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_simplify.js +15 -24
  151. package/src/core/geom/3d/topology/struct/binary/io/edge/bt_edge_create.d.ts.map +1 -1
  152. package/src/core/geom/3d/topology/struct/binary/io/edge/bt_edge_create.js +31 -115
  153. package/src/core/geom/3d/topology/struct/binary/io/edge/bt_mesh_fuse_duplicate_edges.d.ts +1 -1
  154. package/src/core/geom/3d/topology/struct/binary/io/edge/bt_mesh_fuse_duplicate_edges.js +1 -1
  155. package/src/core/geom/3d/topology/struct/binary/io/edge/bt_mesh_kill_short_edges.d.ts +2 -2
  156. package/src/core/geom/3d/topology/struct/binary/io/edge/bt_mesh_kill_short_edges.js +2 -2
  157. package/src/core/geom/3d/topology/struct/binary/io/face/bt_face_poke.d.ts +0 -14
  158. package/src/core/geom/3d/topology/struct/binary/io/face/bt_face_poke.d.ts.map +1 -1
  159. package/src/core/geom/3d/topology/struct/binary/io/face/bt_face_poke.js +0 -5
  160. package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vertex_fuse_duplicate_edges.d.ts.map +1 -1
  161. package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vertex_fuse_duplicate_edges.js +142 -150
  162. package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vertex_replace.d.ts.map +1 -1
  163. package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vertex_replace.js +3 -46
  164. package/src/core/geom/3d/topology/struct/binary/query/bt_edge_collapse_fold_limit.js +1 -1
  165. package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_incenter.d.ts.map +1 -1
  166. package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_incenter.js +60 -85
  167. package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_vertex_adjacent_faces.d.ts +1 -1
  168. package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_vertex_adjacent_faces.js +1 -1
  169. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_build_boundary_distance_field.d.ts.map +1 -1
  170. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_build_boundary_distance_field.js +156 -171
  171. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_build_face_bvh.d.ts.map +1 -1
  172. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_build_face_bvh.js +1 -2
  173. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_face_find_path.d.ts.map +1 -1
  174. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_face_find_path.js +8 -44
  175. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_face_find_path_polyanya.d.ts.map +1 -1
  176. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_face_find_path_polyanya.js +2 -7
  177. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_sample_interior_grid_points.d.ts.map +1 -1
  178. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_sample_interior_grid_points.js +3 -2
  179. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_segment_penetrates_surface.d.ts.map +1 -1
  180. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_segment_penetrates_surface.js +128 -133
  181. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_surface_ray_parity.d.ts +0 -14
  182. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_surface_ray_parity.d.ts.map +1 -1
  183. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_surface_ray_parity.js +0 -57
  184. package/src/core/geom/3d/triangle/tri3_ray_intersection.d.ts.map +1 -1
  185. package/src/core/geom/3d/triangle/tri3_ray_intersection.js +7 -144
  186. package/src/core/geom/ConicRay.d.ts.map +1 -1
  187. package/src/core/geom/ConicRay.js +230 -237
  188. package/src/core/geom/clipmap/ClipmapCascadePlacement.d.ts +137 -0
  189. package/src/core/geom/clipmap/ClipmapCascadePlacement.d.ts.map +1 -0
  190. package/src/core/geom/clipmap/ClipmapCascadePlacement.js +350 -0
  191. package/src/core/geom/polyline/polyline_simplify_by_error.d.ts +16 -0
  192. package/src/core/geom/polyline/polyline_simplify_by_error.d.ts.map +1 -0
  193. package/src/core/geom/polyline/polyline_simplify_by_error.js +52 -0
  194. package/src/core/geom/vec3/v3_quaternion_apply.d.ts +1 -1
  195. package/src/core/geom/vec3/v3_quaternion_apply.js +1 -1
  196. package/src/core/geom/vec3/v3_quaternion_apply_inverse.d.ts +2 -2
  197. package/src/core/geom/vec3/v3_quaternion_apply_inverse.js +2 -2
  198. package/src/core/geom/vec3/v3_triple_cross.d.ts +1 -1
  199. package/src/core/geom/vec3/v3_triple_cross.js +1 -1
  200. package/src/core/localization/LocaleDataset.d.ts +6 -0
  201. package/src/core/localization/LocaleDataset.d.ts.map +1 -1
  202. package/src/core/localization/LocaleDataset.js +48 -37
  203. package/src/core/localization/LocalizationEngine.d.ts.map +1 -1
  204. package/src/core/localization/LocalizationEngine.js +3 -2
  205. package/src/core/math/lookup/ParameterLookupTable.d.ts.map +1 -1
  206. package/src/core/math/lookup/ParameterLookupTable.js +3 -1
  207. package/src/core/math/spline/spline3_hermite_intersection_spline3_hermite_nd.d.ts.map +1 -1
  208. package/src/core/math/spline/spline3_hermite_intersection_spline3_hermite_nd.js +330 -400
  209. package/src/core/math/spline/spline3_hermite_nearest_point.d.ts +16 -0
  210. package/src/core/math/spline/spline3_hermite_nearest_point.d.ts.map +1 -1
  211. package/src/core/math/spline/spline3_hermite_nearest_point.js +134 -167
  212. package/src/core/model/DebouncedObservedBoolean.d.ts +1 -2
  213. package/src/core/model/DebouncedObservedBoolean.d.ts.map +1 -1
  214. package/src/core/model/DebouncedObservedBoolean.js +1 -1
  215. package/src/core/model/node-graph/node/NodeInstance.d.ts.map +1 -1
  216. package/src/core/model/node-graph/node/NodeInstance.js +2 -7
  217. package/src/core/model/node-graph/node/parameter/NodeParameterDescription.js +1 -1
  218. package/src/core/model/object/write_property.js +1 -1
  219. package/src/core/model/reactive/evaluation/MultiPredicateEvaluator.js +2 -2
  220. package/src/core/process/executor/ConcurrentExecutor.d.ts.map +1 -1
  221. package/src/core/process/executor/ConcurrentExecutor.js +14 -2
  222. package/src/engine/achievements/gateway/StorageAchievementGateway.d.ts +6 -3
  223. package/src/engine/achievements/gateway/StorageAchievementGateway.d.ts.map +1 -1
  224. package/src/engine/achievements/gateway/StorageAchievementGateway.js +31 -75
  225. package/src/engine/asset/loaders/SVGAssetLoader.d.ts.map +1 -1
  226. package/src/engine/asset/loaders/SVGAssetLoader.js +33 -31
  227. package/src/engine/asset/preloader/AssetPreloader.d.ts +0 -5
  228. package/src/engine/asset/preloader/AssetPreloader.d.ts.map +1 -1
  229. package/src/engine/asset/preloader/AssetPreloader.js +0 -6
  230. package/src/engine/control/first-person/math/criticallyDampedSpring.d.ts.map +1 -1
  231. package/src/engine/control/first-person/math/criticallyDampedSpring.js +3 -14
  232. package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
  233. package/src/engine/ecs/EntityComponentDataset.js +4 -1
  234. package/src/engine/ecs/storage/binary/object/BinaryObjectSerializationAdapter.d.ts +0 -2
  235. package/src/engine/ecs/storage/binary/object/BinaryObjectSerializationAdapter.d.ts.map +1 -1
  236. package/src/engine/ecs/storage/binary/object/BinaryObjectSerializationAdapter.js +3 -3
  237. package/src/engine/ecs/terrain/ecs/layers/TerrainLayer.js +2 -2
  238. package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts.map +1 -1
  239. package/src/engine/ecs/terrain/tiles/TerrainTile.js +25 -12
  240. package/src/engine/graphics/ecs/decal/v2/Decal.d.ts +2 -2
  241. package/src/engine/graphics/ecs/decal/v2/Decal.js +2 -2
  242. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometry.d.ts.map +1 -1
  243. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometry.js +420 -418
  244. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometryFlags.d.ts +1 -0
  245. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometryFlags.js +10 -0
  246. package/src/engine/graphics/ecs/particles/ParticleEffect.js +3 -3
  247. package/src/engine/graphics/ecs/path/tube/build/makeTubeStream.js +2 -2
  248. package/src/engine/graphics/geometry/buffered/build_height_field_geometry.d.ts +12 -0
  249. package/src/engine/graphics/geometry/buffered/build_height_field_geometry.d.ts.map +1 -1
  250. package/src/engine/graphics/geometry/buffered/build_height_field_geometry.js +29 -2
  251. package/src/engine/graphics/sh3/path_tracer/geometry/sort_triangles_by_distance_to_point.js +1 -1
  252. package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_min_indices.js +1 -1
  253. package/src/engine/graphics/texture/sprite/prototypeSpriteCutoutGeometry.js +1 -1
  254. package/src/engine/graphics3/ShadedGeometrySystem.d.ts +2 -1
  255. package/src/engine/graphics3/ShadedGeometrySystem.d.ts.map +1 -1
  256. package/src/engine/graphics3/ShadedGeometrySystem.js +7 -5
  257. package/src/engine/graphics3/Trail3DSystem.d.ts +1 -1
  258. package/src/engine/graphics3/Trail3DSystem.js +1 -1
  259. package/src/engine/graphics3/WaterSystem.d.ts +60 -0
  260. package/src/engine/graphics3/WaterSystem.d.ts.map +1 -1
  261. package/src/engine/graphics3/WaterSystem.js +734 -300
  262. package/src/engine/graphics3/make_default_environment.d.ts.map +1 -1
  263. package/src/engine/graphics3/make_default_environment.js +2 -4
  264. package/src/engine/graphics3/prefab/prefab_place.js +1 -1
  265. package/src/engine/graphics3/prefab/prefab_skin_frame.d.ts.map +1 -1
  266. package/src/engine/graphics3/prefab/prefab_skin_frame.js +1 -12
  267. package/src/engine/grid/grid2transform/GridPosition2TransformSystem.d.ts +1 -1
  268. package/src/engine/grid/grid2transform/GridPosition2TransformSystem.d.ts.map +1 -1
  269. package/src/engine/grid/grid2transform/GridPosition2TransformSystem.js +141 -137
  270. package/src/engine/input/ecs/systems/InputControllerSystem.d.ts.map +1 -1
  271. package/src/engine/input/ecs/systems/InputControllerSystem.js +13 -3
  272. package/src/engine/input/ecs/systems/InputSystem.d.ts.map +1 -1
  273. package/src/engine/input/ecs/systems/InputSystem.js +2 -1
  274. package/src/engine/intelligence/behavior/composite/ParallelBehavior.d.ts +1 -1
  275. package/src/engine/intelligence/behavior/composite/ParallelBehavior.d.ts.map +1 -1
  276. package/src/engine/intelligence/behavior/composite/ParallelBehavior.js +4 -1
  277. package/src/engine/intelligence/behavior/decorator/InvertStatusBehavior.d.ts.map +1 -1
  278. package/src/engine/intelligence/behavior/decorator/InvertStatusBehavior.js +3 -1
  279. package/src/engine/intelligence/behavior/decorator/RepeatBehavior.d.ts.map +1 -1
  280. package/src/engine/intelligence/behavior/decorator/RepeatBehavior.js +3 -1
  281. package/src/engine/intelligence/behavior/decorator/RepeatBehaviorSerializationAdapter.d.ts.map +1 -1
  282. package/src/engine/intelligence/behavior/decorator/RepeatBehaviorSerializationAdapter.js +39 -33
  283. package/src/engine/intelligence/behavior/util/ConditionalBehavior.d.ts +5 -0
  284. package/src/engine/intelligence/behavior/util/ConditionalBehavior.d.ts.map +1 -1
  285. package/src/engine/intelligence/behavior/util/ConditionalBehavior.js +93 -75
  286. package/src/engine/intelligence/behavior/util/RotationBehavior.d.ts.map +1 -1
  287. package/src/engine/intelligence/behavior/util/RotationBehavior.js +79 -76
  288. package/src/engine/intelligence/blackboard/BlackboardStack.d.ts +1 -0
  289. package/src/engine/intelligence/blackboard/BlackboardStack.d.ts.map +1 -1
  290. package/src/engine/intelligence/blackboard/BlackboardStack.js +159 -123
  291. package/src/engine/intelligence/mcts/StateNode.d.ts.map +1 -1
  292. package/src/engine/intelligence/mcts/StateNode.js +366 -364
  293. package/src/engine/intelligence/resource/ResourceAllocationSolver.js +1 -1
  294. package/src/engine/navigation/ecs/components/Path.d.ts.map +1 -1
  295. package/src/engine/navigation/ecs/components/Path.js +2 -1
  296. package/src/engine/navigation/ecs/path_following/PathFollowingSystem.d.ts.map +1 -1
  297. package/src/engine/navigation/ecs/path_following/PathFollowingSystem.js +5 -2
  298. package/src/engine/navigation/mesh/build/clip_soup_against_overhangs.js +628 -628
  299. package/src/engine/physics/body/SolverBodyState.d.ts.map +1 -1
  300. package/src/engine/physics/body/SolverBodyState.js +2 -6
  301. package/src/engine/physics/ccd/linear_sweep.d.ts.map +1 -1
  302. package/src/engine/physics/ccd/linear_sweep.js +3 -16
  303. package/src/engine/physics/cloth/build/cloth_proxy_from_joints.d.ts.map +1 -1
  304. package/src/engine/physics/cloth/build/cloth_proxy_from_joints.js +2 -16
  305. package/src/engine/physics/cloth/ecs/cloth_build_rows.d.ts +13 -1
  306. package/src/engine/physics/cloth/ecs/cloth_build_rows.d.ts.map +1 -1
  307. package/src/engine/physics/cloth/ecs/cloth_build_rows.js +15 -4
  308. package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
  309. package/src/engine/physics/ecs/PhysicsSystem.js +2 -5
  310. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
  311. package/src/engine/physics/inertia/locked_inverse_inertia.d.ts +12 -0
  312. package/src/engine/physics/inertia/locked_inverse_inertia.d.ts.map +1 -0
  313. package/src/engine/physics/inertia/locked_inverse_inertia.js +22 -0
  314. package/src/engine/physics/inertia/world_inverse_inertia.js +1 -1
  315. package/src/engine/physics/integration/integrate_velocity.d.ts.map +1 -1
  316. package/src/engine/physics/integration/integrate_velocity.js +3 -18
  317. package/src/engine/physics/mls-mpm/MLS_MPM.d.ts +1 -0
  318. package/src/engine/physics/mls-mpm/MLS_MPM.d.ts.map +1 -1
  319. package/src/engine/physics/mls-mpm/MLS_MPM.js +5 -4
  320. package/src/engine/physics/narrowphase/convex_decomposition.d.ts.map +1 -1
  321. package/src/engine/physics/narrowphase/convex_decomposition.js +7 -16
  322. package/src/engine/physics/narrowphase/narrowphase_step.js +1 -1
  323. package/src/engine/physics/vehicle/RaycastVehicle.d.ts.map +1 -1
  324. package/src/engine/physics/vehicle/RaycastVehicle.js +15 -5
  325. package/src/engine/save/StorageBackedList.d.ts +5 -0
  326. package/src/engine/save/StorageBackedList.d.ts.map +1 -1
  327. package/src/engine/save/StorageBackedList.js +161 -144
  328. package/src/engine/simulation/Ticker.d.ts.map +1 -1
  329. package/src/engine/simulation/Ticker.js +394 -391
  330. package/src/engine/sound/simulation/probe/AcousticProbeField.d.ts.map +1 -1
  331. package/src/engine/sound/simulation/probe/AcousticProbeField.js +6 -19
  332. package/src/engine/sound/simulation/probe/probe_edge_visible.d.ts +15 -0
  333. package/src/engine/sound/simulation/probe/probe_edge_visible.d.ts.map +1 -1
  334. package/src/engine/sound/simulation/probe/probe_edge_visible.js +59 -41
  335. package/src/engine/sound/simulation/probe/probe_refine_connectivity.d.ts.map +1 -1
  336. package/src/engine/sound/simulation/probe/probe_refine_connectivity.js +164 -181
  337. package/src/engine/sound/simulation/render/FoaProbeReverbRenderer.d.ts.map +1 -1
  338. package/src/engine/sound/simulation/render/FoaProbeReverbRenderer.js +20 -5
  339. package/src/engine/sound/simulation/render/reverbImpulseResponse.d.ts +0 -1
  340. package/src/engine/sound/simulation/render/reverbImpulseResponse.d.ts.map +1 -1
  341. package/src/engine/sound/simulation/render/reverbImpulseResponse.js +0 -6
  342. package/src/engine/sound/simulation/render/reverb_band_tails.d.ts +1 -1
  343. package/src/engine/sound/simulation/render/reverb_band_tails.js +1 -1
  344. package/src/engine/sound/sopra/runtime/EventInstance.js +1 -1
  345. package/src/format/image/avif/av1/decode/Av1FrameContext.d.ts.map +1 -1
  346. package/src/format/image/avif/av1/decode/Av1FrameContext.js +3 -10
  347. package/src/format/image/avif/av1/decode/reconstruct.d.ts +20 -0
  348. package/src/format/image/avif/av1/decode/reconstruct.d.ts.map +1 -1
  349. package/src/format/image/avif/av1/decode/reconstruct.js +22 -9
  350. package/src/format/image/avif/av1/encode/choose_restoration.js +2 -18
  351. package/src/format/image/avif/av1/encode/quantise.d.ts.map +1 -1
  352. package/src/format/image/avif/av1/encode/quantise.js +1 -55
  353. package/src/format/image/avif/av1/filter/loop_restoration.d.ts +9 -0
  354. package/src/format/image/avif/av1/filter/loop_restoration.d.ts.map +1 -1
  355. package/src/format/image/avif/av1/filter/loop_restoration.js +1 -1
  356. package/src/format/texture/basis/transcode/etc1s_to_bc7.js +2 -33
  357. package/src/format/texture/basis/transcode/fit_endpoints.d.ts +11 -0
  358. package/src/format/texture/basis/transcode/fit_endpoints.d.ts.map +1 -1
  359. package/src/format/texture/basis/transcode/fit_endpoints.js +1 -1
  360. package/src/format/texture/basis/uastc/uastc_decode_block.d.ts.map +1 -1
  361. package/src/format/texture/basis/uastc/uastc_decode_block.js +2 -19
  362. package/src/generation/foliage/ANNUAL_SHOOTS_BRIEF_2026_10_25.md +220 -0
  363. package/src/generation/foliage/CROWN_FILLING_BRIEF_2026_10_26.md +172 -0
  364. package/src/generation/foliage/CROWN_FULLNESS_BRIEF_2026_10_26.md +86 -0
  365. package/src/generation/foliage/FOLIAGE_DESIGN.md +238 -31
  366. package/src/generation/foliage/LEAF_ARCHITECTURE_BRIEF_2026_10_26.md +158 -0
  367. package/src/generation/foliage/LOD_REWORK_BRIEF_2026_10_27.md +486 -0
  368. package/src/generation/foliage/REAL_TIME_TREES_BRIEF_2026_10_27.md +86 -0
  369. package/src/generation/foliage/SELF_ORGANIZING_FRAMEWORK_BRIEF_2026_10_26.md +346 -0
  370. package/src/generation/foliage/SHOOT_SYSTEMS_ALL_SPECIES_BRIEF_2026_10_26.md +248 -0
  371. package/src/generation/foliage/SPEEDTREE_COMPARISON_2026_10_24.md +694 -0
  372. package/src/generation/foliage/analysis/CrownOpacity.d.ts +118 -0
  373. package/src/generation/foliage/analysis/CrownOpacity.d.ts.map +1 -0
  374. package/src/generation/foliage/analysis/CrownOpacity.js +182 -0
  375. package/src/generation/foliage/analysis/crown_opacity_frames.d.ts +10 -0
  376. package/src/generation/foliage/analysis/crown_opacity_frames.d.ts.map +1 -0
  377. package/src/generation/foliage/analysis/crown_opacity_frames.js +132 -0
  378. package/src/generation/foliage/analysis/crown_opacity_measure.d.ts +51 -0
  379. package/src/generation/foliage/analysis/crown_opacity_measure.d.ts.map +1 -0
  380. package/src/generation/foliage/analysis/crown_opacity_measure.js +627 -0
  381. package/src/generation/foliage/analysis/foliage_measure_leaf_area.d.ts +66 -0
  382. package/src/generation/foliage/analysis/foliage_measure_leaf_area.d.ts.map +1 -0
  383. package/src/generation/foliage/analysis/foliage_measure_leaf_area.js +186 -0
  384. package/src/generation/foliage/analysis/tree_crown_opacity.d.ts +27 -0
  385. package/src/generation/foliage/analysis/tree_crown_opacity.d.ts.map +1 -0
  386. package/src/generation/foliage/analysis/tree_crown_opacity.js +58 -0
  387. package/src/generation/foliage/analysis/tree_leaf_area_targets.d.ts +66 -0
  388. package/src/generation/foliage/analysis/tree_leaf_area_targets.d.ts.map +1 -0
  389. package/src/generation/foliage/analysis/tree_leaf_area_targets.js +95 -0
  390. package/src/generation/foliage/analysis/tree_render_cost.d.ts +88 -0
  391. package/src/generation/foliage/analysis/tree_render_cost.d.ts.map +1 -0
  392. package/src/generation/foliage/analysis/tree_render_cost.js +157 -0
  393. package/src/generation/foliage/animation/build_tree_wind_rig.d.ts +3 -2
  394. package/src/generation/foliage/animation/build_tree_wind_rig.d.ts.map +1 -1
  395. package/src/generation/foliage/animation/build_tree_wind_rig.js +12 -30
  396. package/src/generation/foliage/animation/tree_wind_bend_limit.d.ts +12 -0
  397. package/src/generation/foliage/animation/tree_wind_bend_limit.d.ts.map +1 -0
  398. package/src/generation/foliage/animation/tree_wind_bend_limit.js +13 -0
  399. package/src/generation/foliage/asset/TreeAsset.d.ts +12 -6
  400. package/src/generation/foliage/asset/TreeAsset.d.ts.map +1 -1
  401. package/src/generation/foliage/asset/TreeAsset.js +16 -7
  402. package/src/generation/foliage/asset/TreeLODAsset.d.ts +24 -11
  403. package/src/generation/foliage/asset/TreeLODAsset.d.ts.map +1 -1
  404. package/src/generation/foliage/asset/TreeLODAsset.js +49 -20
  405. package/src/generation/foliage/asset/generate_tree.d.ts +11 -0
  406. package/src/generation/foliage/asset/generate_tree.d.ts.map +1 -1
  407. package/src/generation/foliage/asset/generate_tree.js +105 -14
  408. package/src/generation/foliage/asset/tree_lod_plan.d.ts +71 -0
  409. package/src/generation/foliage/asset/tree_lod_plan.d.ts.map +1 -0
  410. package/src/generation/foliage/asset/tree_lod_plan.js +119 -0
  411. package/src/generation/foliage/config/BranchGeneratorConfig.d.ts +264 -0
  412. package/src/generation/foliage/config/BranchGeneratorConfig.d.ts.map +1 -0
  413. package/src/generation/foliage/config/BranchGeneratorConfig.js +471 -0
  414. package/src/generation/foliage/config/BranchSpawnRule.d.ts +118 -0
  415. package/src/generation/foliage/config/BranchSpawnRule.d.ts.map +1 -0
  416. package/src/generation/foliage/config/BranchSpawnRule.js +217 -0
  417. package/src/generation/foliage/config/FoliageCardType.d.ts +1 -1
  418. package/src/generation/foliage/config/FoliageCardType.js +2 -2
  419. package/src/generation/foliage/config/FoliageConfig.d.ts +23 -45
  420. package/src/generation/foliage/config/FoliageConfig.d.ts.map +1 -1
  421. package/src/generation/foliage/config/FoliageConfig.js +47 -93
  422. package/src/generation/foliage/config/FoliageMaterialConfig.d.ts +12 -20
  423. package/src/generation/foliage/config/FoliageMaterialConfig.d.ts.map +1 -1
  424. package/src/generation/foliage/config/FoliageMaterialConfig.js +261 -279
  425. package/src/generation/foliage/config/FoliageSpawnRule.d.ts +77 -0
  426. package/src/generation/foliage/config/FoliageSpawnRule.d.ts.map +1 -0
  427. package/src/generation/foliage/config/FoliageSpawnRule.js +135 -0
  428. package/src/generation/foliage/config/FoliageTileContent.d.ts +9 -0
  429. package/src/generation/foliage/config/FoliageTileContent.d.ts.map +1 -0
  430. package/src/generation/foliage/config/FoliageTileContent.js +12 -0
  431. package/src/generation/foliage/config/LeafApexShape.d.ts +12 -0
  432. package/src/generation/foliage/config/LeafApexShape.d.ts.map +1 -0
  433. package/src/generation/foliage/config/LeafApexShape.js +17 -0
  434. package/src/generation/foliage/config/LeafArchitecture.d.ts +155 -0
  435. package/src/generation/foliage/config/LeafArchitecture.d.ts.map +1 -0
  436. package/src/generation/foliage/config/LeafArchitecture.js +288 -0
  437. package/src/generation/foliage/config/LeafBaseShape.d.ts +14 -0
  438. package/src/generation/foliage/config/LeafBaseShape.d.ts.map +1 -0
  439. package/src/generation/foliage/config/LeafBaseShape.js +21 -0
  440. package/src/generation/foliage/config/LeafLobation.d.ts +10 -0
  441. package/src/generation/foliage/config/LeafLobation.d.ts.map +1 -0
  442. package/src/generation/foliage/config/LeafLobation.js +14 -0
  443. package/src/generation/foliage/config/PhyllotaxisMode.d.ts +11 -0
  444. package/src/generation/foliage/config/PhyllotaxisMode.d.ts.map +1 -1
  445. package/src/generation/foliage/config/PhyllotaxisMode.js +36 -0
  446. package/src/generation/foliage/config/ShootBudZone.d.ts +105 -0
  447. package/src/generation/foliage/config/ShootBudZone.d.ts.map +1 -0
  448. package/src/generation/foliage/config/ShootBudZone.js +219 -0
  449. package/src/generation/foliage/config/ShootGrowthConfig.d.ts +119 -0
  450. package/src/generation/foliage/config/ShootGrowthConfig.d.ts.map +1 -0
  451. package/src/generation/foliage/config/ShootGrowthConfig.js +200 -0
  452. package/src/generation/foliage/config/ShootSystemRule.d.ts +144 -0
  453. package/src/generation/foliage/config/ShootSystemRule.d.ts.map +1 -0
  454. package/src/generation/foliage/config/ShootSystemRule.js +320 -0
  455. package/src/generation/foliage/config/TreeLODConfig.d.ts +14 -37
  456. package/src/generation/foliage/config/TreeLODConfig.d.ts.map +1 -1
  457. package/src/generation/foliage/config/TreeLODConfig.js +23 -116
  458. package/src/generation/foliage/config/TreeSpeciesConfig.d.ts +41 -8
  459. package/src/generation/foliage/config/TreeSpeciesConfig.d.ts.map +1 -1
  460. package/src/generation/foliage/config/TreeSpeciesConfig.js +125 -74
  461. package/src/generation/foliage/config/TreeWindConfig.d.ts +23 -10
  462. package/src/generation/foliage/config/TreeWindConfig.d.ts.map +1 -1
  463. package/src/generation/foliage/config/TreeWindConfig.js +34 -25
  464. package/src/generation/foliage/index.d.ts +19 -2
  465. package/src/generation/foliage/index.js +63 -44
  466. package/src/generation/foliage/material/FoliageAtlasCutout.d.ts +59 -0
  467. package/src/generation/foliage/material/FoliageAtlasCutout.d.ts.map +1 -0
  468. package/src/generation/foliage/material/FoliageAtlasCutout.js +93 -0
  469. package/src/generation/foliage/material/compute_foliage_variant_atlas_layout.d.ts +26 -0
  470. package/src/generation/foliage/material/compute_foliage_variant_atlas_layout.d.ts.map +1 -0
  471. package/src/generation/foliage/material/compute_foliage_variant_atlas_layout.js +63 -0
  472. package/src/generation/foliage/material/foliage_atlas_cutout.d.ts +36 -0
  473. package/src/generation/foliage/material/foliage_atlas_cutout.d.ts.map +1 -0
  474. package/src/generation/foliage/material/foliage_atlas_cutout.js +179 -0
  475. package/src/generation/foliage/material/foliage_material_from_samplers.d.ts +13 -0
  476. package/src/generation/foliage/material/foliage_material_from_samplers.d.ts.map +1 -0
  477. package/src/generation/foliage/material/foliage_material_from_samplers.js +69 -0
  478. package/src/generation/foliage/material/foliage_tile.d.ts +129 -0
  479. package/src/generation/foliage/material/foliage_tile.d.ts.map +1 -0
  480. package/src/generation/foliage/material/foliage_tile.js +294 -0
  481. package/src/generation/foliage/material/leaf_geometry.d.ts +110 -0
  482. package/src/generation/foliage/material/leaf_geometry.d.ts.map +1 -0
  483. package/src/generation/foliage/material/leaf_geometry.js +540 -0
  484. package/src/generation/foliage/material/make_foliage_material.d.ts +14 -35
  485. package/src/generation/foliage/material/make_foliage_material.d.ts.map +1 -1
  486. package/src/generation/foliage/material/make_foliage_material.js +302 -605
  487. package/src/generation/foliage/material/tree_cluster_atlas_pack.d.ts +14 -0
  488. package/src/generation/foliage/material/tree_cluster_atlas_pack.d.ts.map +1 -0
  489. package/src/generation/foliage/material/tree_cluster_atlas_pack.js +28 -0
  490. package/src/generation/foliage/material/tree_cluster_bake.d.ts +74 -0
  491. package/src/generation/foliage/material/tree_cluster_bake.d.ts.map +1 -0
  492. package/src/generation/foliage/material/tree_cluster_bake.js +415 -0
  493. package/src/generation/foliage/material/tree_cluster_press.d.ts +18 -0
  494. package/src/generation/foliage/material/tree_cluster_press.d.ts.map +1 -0
  495. package/src/generation/foliage/material/tree_cluster_press.js +83 -0
  496. package/src/generation/foliage/material/tree_cluster_tiles.d.ts +46 -0
  497. package/src/generation/foliage/material/tree_cluster_tiles.d.ts.map +1 -0
  498. package/src/generation/foliage/material/tree_cluster_tiles.js +75 -0
  499. package/src/generation/foliage/mesh/foliage_collect_attachments.d.ts +60 -7
  500. package/src/generation/foliage/mesh/foliage_collect_attachments.d.ts.map +1 -1
  501. package/src/generation/foliage/mesh/foliage_collect_attachments.js +649 -569
  502. package/src/generation/foliage/mesh/interpolate_ring_skin_weights4.d.ts +48 -0
  503. package/src/generation/foliage/mesh/interpolate_ring_skin_weights4.d.ts.map +1 -0
  504. package/src/generation/foliage/mesh/interpolate_ring_skin_weights4.js +232 -0
  505. package/src/generation/foliage/mesh/tree_cluster_cards.d.ts +61 -0
  506. package/src/generation/foliage/mesh/tree_cluster_cards.d.ts.map +1 -0
  507. package/src/generation/foliage/mesh/tree_cluster_cards.js +114 -0
  508. package/src/generation/foliage/mesh/tree_cluster_representatives.d.ts +121 -0
  509. package/src/generation/foliage/mesh/tree_cluster_representatives.d.ts.map +1 -0
  510. package/src/generation/foliage/mesh/tree_cluster_representatives.js +309 -0
  511. package/src/generation/foliage/mesh/tree_clusters.d.ts +71 -0
  512. package/src/generation/foliage/mesh/tree_clusters.d.ts.map +1 -0
  513. package/src/generation/foliage/mesh/tree_clusters.js +174 -0
  514. package/src/generation/foliage/mesh/tree_mesh_build_bark.d.ts.map +1 -1
  515. package/src/generation/foliage/mesh/tree_mesh_build_bark.js +1428 -1049
  516. package/src/generation/foliage/mesh/tree_mesh_build_clusters.d.ts +25 -0
  517. package/src/generation/foliage/mesh/tree_mesh_build_clusters.d.ts.map +1 -0
  518. package/src/generation/foliage/mesh/tree_mesh_build_clusters.js +144 -0
  519. package/src/generation/foliage/mesh/tree_mesh_build_foliage.d.ts +14 -10
  520. package/src/generation/foliage/mesh/tree_mesh_build_foliage.d.ts.map +1 -1
  521. package/src/generation/foliage/mesh/tree_mesh_build_foliage.js +441 -454
  522. package/src/generation/foliage/presets/make_tree_species_preset.d.ts.map +1 -1
  523. package/src/generation/foliage/presets/make_tree_species_preset.js +1520 -870
  524. package/src/generation/foliage/skeleton/ShootFrameworkHash.d.ts +38 -0
  525. package/src/generation/foliage/skeleton/ShootFrameworkHash.d.ts.map +1 -0
  526. package/src/generation/foliage/skeleton/ShootFrameworkHash.js +134 -0
  527. package/src/generation/foliage/skeleton/ShootGirth.d.ts +51 -0
  528. package/src/generation/foliage/skeleton/ShootGirth.d.ts.map +1 -0
  529. package/src/generation/foliage/skeleton/ShootGirth.js +213 -0
  530. package/src/generation/foliage/skeleton/ShootLightField.d.ts +82 -0
  531. package/src/generation/foliage/skeleton/ShootLightField.d.ts.map +1 -0
  532. package/src/generation/foliage/skeleton/ShootLightField.js +222 -0
  533. package/src/generation/foliage/skeleton/ShootWoodHash.d.ts +89 -0
  534. package/src/generation/foliage/skeleton/ShootWoodHash.d.ts.map +1 -0
  535. package/src/generation/foliage/skeleton/ShootWoodHash.js +195 -0
  536. package/src/generation/foliage/skeleton/TreeSkeleton.d.ts +112 -3
  537. package/src/generation/foliage/skeleton/TreeSkeleton.d.ts.map +1 -1
  538. package/src/generation/foliage/skeleton/TreeSkeleton.js +226 -39
  539. package/src/generation/foliage/skeleton/flare_lobe_phase_offset.d.ts +13 -0
  540. package/src/generation/foliage/skeleton/flare_lobe_phase_offset.d.ts.map +1 -0
  541. package/src/generation/foliage/skeleton/flare_lobe_phase_offset.js +16 -0
  542. package/src/generation/foliage/skeleton/foliage_card_density.d.ts +71 -0
  543. package/src/generation/foliage/skeleton/foliage_card_density.d.ts.map +1 -0
  544. package/src/generation/foliage/skeleton/foliage_card_density.js +101 -0
  545. package/src/generation/foliage/skeleton/foliage_senescence.d.ts +101 -0
  546. package/src/generation/foliage/skeleton/foliage_senescence.d.ts.map +1 -0
  547. package/src/generation/foliage/skeleton/foliage_senescence.js +149 -0
  548. package/src/generation/foliage/skeleton/foliage_unit_cards.d.ts +76 -0
  549. package/src/generation/foliage/skeleton/foliage_unit_cards.d.ts.map +1 -0
  550. package/src/generation/foliage/skeleton/foliage_unit_cards.js +95 -0
  551. package/src/generation/foliage/skeleton/shoot_demography.d.ts +35 -0
  552. package/src/generation/foliage/skeleton/shoot_demography.d.ts.map +1 -0
  553. package/src/generation/foliage/skeleton/shoot_demography.js +112 -0
  554. package/src/generation/foliage/skeleton/shoot_geometry.d.ts +65 -0
  555. package/src/generation/foliage/skeleton/shoot_geometry.d.ts.map +1 -0
  556. package/src/generation/foliage/skeleton/shoot_geometry.js +126 -0
  557. package/src/generation/foliage/skeleton/shoot_systems_simulate.d.ts +205 -0
  558. package/src/generation/foliage/skeleton/shoot_systems_simulate.d.ts.map +1 -0
  559. package/src/generation/foliage/skeleton/shoot_systems_simulate.js +1055 -0
  560. package/src/generation/foliage/skeleton/tree_skeleton_assign_skin_joints.d.ts +53 -12
  561. package/src/generation/foliage/skeleton/tree_skeleton_assign_skin_joints.d.ts.map +1 -1
  562. package/src/generation/foliage/skeleton/tree_skeleton_assign_skin_joints.js +173 -102
  563. package/src/generation/foliage/skeleton/tree_skeleton_bind_skin_joints.d.ts +10 -0
  564. package/src/generation/foliage/skeleton/tree_skeleton_bind_skin_joints.d.ts.map +1 -0
  565. package/src/generation/foliage/skeleton/tree_skeleton_bind_skin_joints.js +12 -0
  566. package/src/generation/foliage/skeleton/tree_skeleton_compute_joint_mechanics.d.ts +112 -0
  567. package/src/generation/foliage/skeleton/tree_skeleton_compute_joint_mechanics.d.ts.map +1 -0
  568. package/src/generation/foliage/skeleton/tree_skeleton_compute_joint_mechanics.js +408 -0
  569. package/src/generation/foliage/skeleton/tree_skeleton_compute_pipe_radii.d.ts.map +1 -1
  570. package/src/generation/foliage/skeleton/tree_skeleton_compute_pipe_radii.js +208 -206
  571. package/src/generation/foliage/skeleton/tree_skeleton_grow.d.ts +5 -2
  572. package/src/generation/foliage/skeleton/tree_skeleton_grow.d.ts.map +1 -1
  573. package/src/generation/foliage/skeleton/tree_skeleton_grow.js +2049 -1871
  574. package/src/generation/foliage/skeleton/tree_skeleton_grow_shoots.d.ts +21 -0
  575. package/src/generation/foliage/skeleton/tree_skeleton_grow_shoots.d.ts.map +1 -0
  576. package/src/generation/foliage/skeleton/tree_skeleton_grow_shoots.js +327 -0
  577. package/src/generation/foliage/skeleton/tree_skeleton_read_joint_motion.d.ts +14 -0
  578. package/src/generation/foliage/skeleton/tree_skeleton_read_joint_motion.d.ts.map +1 -0
  579. package/src/generation/foliage/skeleton/tree_skeleton_read_joint_motion.js +26 -0
  580. package/src/generation/foliage/skeleton/tree_skeleton_read_joint_parents.d.ts +10 -0
  581. package/src/generation/foliage/skeleton/tree_skeleton_read_joint_parents.d.ts.map +1 -0
  582. package/src/generation/foliage/skeleton/tree_skeleton_read_joint_parents.js +20 -0
  583. package/src/generation/grid/generation/road/GridTaskGenerateRoads.d.ts.map +1 -1
  584. package/src/generation/grid/generation/road/GridTaskGenerateRoads.js +4 -1
  585. package/src/generation/markers/GridCellActionPlaceMarkerGroup.d.ts +1 -0
  586. package/src/generation/markers/GridCellActionPlaceMarkerGroup.d.ts.map +1 -1
  587. package/src/generation/markers/GridCellActionPlaceMarkerGroup.js +98 -86
  588. package/src/shade/SHADER_F16_PROPOSAL_2026_10_24.md +263 -0
  589. package/src/shade/descriptor/WebGPUExtensionType.d.ts +17 -0
  590. package/src/shade/descriptor/WebGPUExtensionType.d.ts.map +1 -1
  591. package/src/shade/descriptor/WebGPUExtensionType.js +31 -1
  592. package/src/shade/descriptor/binding/BindGroupLayoutEntry.js +6 -6
  593. package/src/shade/descriptor/pipeline/render/ColorTargetState.js +2 -2
  594. package/src/shade/descriptor/pipeline/render/RenderPipelineDescriptor.js +3 -3
  595. package/src/shade/playground/additive_blending/main.js +529 -529
  596. package/src/shade/playground/avboit/main.js +1 -1
  597. package/src/shade/playground/basis_textures/main.js +365 -365
  598. package/src/shade/playground/caldera/main.js +1 -1
  599. package/src/shade/playground/contact_shadows/main.js +1 -1
  600. package/src/shade/playground/foliage_wind/FoliageRigOverlay.d.ts +37 -0
  601. package/src/shade/playground/foliage_wind/FoliageRigOverlay.d.ts.map +1 -0
  602. package/src/shade/playground/foliage_wind/FoliageRigOverlay.js +491 -0
  603. package/src/shade/playground/foliage_wind/foliage_world.d.ts.map +1 -1
  604. package/src/shade/playground/foliage_wind/foliage_world.js +600 -602
  605. package/src/shade/playground/foliage_wind/index.html +6 -0
  606. package/src/shade/playground/foliage_wind/main.js +289 -275
  607. package/src/shade/playground/mesh_row_ceiling/main.js +1 -1
  608. package/src/shade/playground/particle_ecs/main.js +1 -1
  609. package/src/shade/playground/particle_system/main.js +1 -1
  610. package/src/shade/playground/sh_exponential/main.js +1 -1
  611. package/src/shade/playground/skinned_blas_refit/main.js +1 -1
  612. package/src/shade/playground/skinned_mesh_soup/main.js +1 -1
  613. package/src/shade/playground/sponza_path_trace/main.js +1 -1
  614. package/src/shade/playground/ssr_motion/main.js +1 -1
  615. package/src/shade/playground/ssr_reprojection/main.js +1 -1
  616. package/src/shade/playground/tonemap_sdr/main.js +1 -1
  617. package/src/shade/playground/vgeo_runtime/main.js +1 -1
  618. package/src/shade/playground/vgeo_scene/main.js +1 -1
  619. package/src/shade/playground/volumetrics_froxel/main.js +1 -1
  620. package/src/shade/playground/vsm/index.html +4 -1
  621. package/src/shade/playground/vsm/main.d.ts.map +1 -1
  622. package/src/shade/playground/vsm/main.js +8 -5
  623. package/src/shade/playground/water_refraction/main.js +1 -1
  624. package/src/shade/playground/water_surface/main.js +1 -1
  625. package/src/shade/renderer/Renderer.d.ts +13 -0
  626. package/src/shade/renderer/Renderer.d.ts.map +1 -1
  627. package/src/shade/renderer/Renderer.js +132 -3
  628. package/src/shade/renderer/ShadeIndirectLightingMode.d.ts +1 -0
  629. package/src/shade/renderer/ShadeIndirectLightingMode.js +6 -0
  630. package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
  631. package/src/shade/renderer/animation/GPUAnimationManager.js +2 -1
  632. package/src/shade/renderer/animation/foliage/FoliageWindJoint.d.ts +2 -1
  633. package/src/shade/renderer/animation/foliage/FoliageWindJoint.d.ts.map +1 -1
  634. package/src/shade/renderer/animation/foliage/FoliageWindJoint.js +2 -1
  635. package/src/shade/renderer/animation/foliage/chunk_foliage_wind_step.d.ts.map +1 -1
  636. package/src/shade/renderer/animation/foliage/chunk_foliage_wind_step.js +4 -2
  637. package/src/shade/renderer/buffer/table/GPUTypedTable.js +1 -1
  638. package/src/shade/renderer/buffer/table/single/GPUSingleTypeTable.d.ts.map +1 -1
  639. package/src/shade/renderer/buffer/table/single/GPUSingleTypeTable.js +403 -401
  640. package/src/shade/renderer/camera/orbital/README.md +3 -6
  641. package/src/shade/renderer/deferred/chunk_shade_standard_material_direct_restir.d.ts +1 -1
  642. package/src/shade/renderer/deferred/chunk_shade_standard_material_direct_restir.js +1 -1
  643. package/src/shade/renderer/deferred/indirect/chunk_lpv_2d_cache_sample_irradiance.d.ts.map +1 -1
  644. package/src/shade/renderer/deferred/indirect/chunk_lpv_2d_cache_sample_irradiance.js +3 -0
  645. package/src/shade/renderer/deferred/indirect/chunk_lpv_sample_light.d.ts.map +1 -1
  646. package/src/shade/renderer/deferred/indirect/chunk_lpv_sample_light.js +6 -1
  647. package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_splat.js +1 -1
  648. package/src/shade/renderer/fluid/FluidCascadePlacement.d.ts +8 -105
  649. package/src/shade/renderer/fluid/FluidCascadePlacement.d.ts.map +1 -1
  650. package/src/shade/renderer/fluid/FluidCascadePlacement.js +13 -306
  651. package/src/shade/renderer/fluid/GPUFluidCascade.d.ts +5 -5
  652. package/src/shade/renderer/fluid/GPUFluidCascade.d.ts.map +1 -1
  653. package/src/shade/renderer/fluid/GPUFluidCascade.js +6 -3
  654. package/src/shade/renderer/fluid/GPUFluidCascadeStack.d.ts +1 -1
  655. package/src/shade/renderer/fluid/GPU_FLUID_OCCUPANCY_AND_SOTA_REVIEW_2026_10_26.md +361 -0
  656. package/src/shade/renderer/fluid/coupling/chunk_fluid_cascade_parent.d.ts.map +1 -1
  657. package/src/shade/renderer/fluid/coupling/chunk_fluid_cascade_parent.js +335 -241
  658. package/src/shade/renderer/fluid/coupling/shader_fluid_cascade_ghosts.d.ts.map +1 -1
  659. package/src/shade/renderer/fluid/coupling/shader_fluid_cascade_ghosts.js +108 -101
  660. package/src/shade/renderer/fluid/forcing/GPUFluidForcing.d.ts +6 -6
  661. package/src/shade/renderer/fluid/forcing/chunk_fluid_forcing_query_select.d.ts.map +1 -1
  662. package/src/shade/renderer/fluid/forcing/chunk_fluid_forcing_query_select.js +69 -67
  663. package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_apply.d.ts +7 -6
  664. package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_apply.d.ts.map +1 -1
  665. package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_apply.js +341 -287
  666. package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_command.d.ts.map +1 -1
  667. package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_command.js +8 -14
  668. package/src/shade/renderer/fluid/mac/FluidMacPasses.d.ts +6 -4
  669. package/src/shade/renderer/fluid/mac/FluidMacPasses.d.ts.map +1 -1
  670. package/src/shade/renderer/fluid/mac/FluidMacPasses.js +427 -400
  671. package/src/shade/renderer/fluid/mac/chunk_fluid_mac_seams.d.ts +10 -5
  672. package/src/shade/renderer/fluid/mac/chunk_fluid_mac_seams.d.ts.map +1 -1
  673. package/src/shade/renderer/fluid/mac/chunk_fluid_mac_seams.js +532 -190
  674. package/src/shade/renderer/fluid/mac/chunk_v3_mac_lattice_corners.d.ts.map +1 -1
  675. package/src/shade/renderer/fluid/mac/chunk_v3_mac_lattice_corners.js +231 -237
  676. package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_correct.d.ts +2 -2
  677. package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_correct.d.ts.map +1 -1
  678. package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_correct.js +282 -245
  679. package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_predict.d.ts +1 -3
  680. package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_predict.d.ts.map +1 -1
  681. package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_predict.js +139 -109
  682. package/src/shade/renderer/fluid/mac/shader_fluid_mac_curl.d.ts +6 -6
  683. package/src/shade/renderer/fluid/mac/shader_fluid_mac_curl.d.ts.map +1 -1
  684. package/src/shade/renderer/fluid/mac/shader_fluid_mac_curl.js +257 -222
  685. package/src/shade/renderer/fluid/mac/shader_fluid_mac_divergence.d.ts +8 -7
  686. package/src/shade/renderer/fluid/mac/shader_fluid_mac_divergence.d.ts.map +1 -1
  687. package/src/shade/renderer/fluid/mac/shader_fluid_mac_divergence.js +119 -92
  688. package/src/shade/renderer/fluid/mac/shader_fluid_mac_gradient.d.ts +6 -9
  689. package/src/shade/renderer/fluid/mac/shader_fluid_mac_gradient.d.ts.map +1 -1
  690. package/src/shade/renderer/fluid/mac/shader_fluid_mac_gradient.js +229 -181
  691. package/src/shade/renderer/fluid/pressure/GPUFluidPressureSolve.d.ts +18 -8
  692. package/src/shade/renderer/fluid/pressure/GPUFluidPressureSolve.d.ts.map +1 -1
  693. package/src/shade/renderer/fluid/pressure/GPUFluidPressureSolve.js +634 -621
  694. package/src/shade/renderer/fluid/pressure/shader_fluid_mg_residual_restrict.d.ts +8 -6
  695. package/src/shade/renderer/fluid/pressure/shader_fluid_mg_residual_restrict.d.ts.map +1 -1
  696. package/src/shade/renderer/fluid/pressure/shader_fluid_mg_residual_restrict.js +166 -149
  697. package/src/shade/renderer/fluid/pressure/shader_fluid_mg_smooth.d.ts +8 -6
  698. package/src/shade/renderer/fluid/pressure/shader_fluid_mg_smooth.d.ts.map +1 -1
  699. package/src/shade/renderer/fluid/pressure/shader_fluid_mg_smooth.js +219 -183
  700. package/src/shade/renderer/fluid/publish/shader_fluid_wind_publish.d.ts.map +1 -1
  701. package/src/shade/renderer/fluid/publish/shader_fluid_wind_publish.js +142 -122
  702. package/src/shade/renderer/fluid/query/GPUFluidQueries.d.ts +1 -1
  703. package/src/shade/renderer/geometry/BoxGeometry.d.ts +0 -1
  704. package/src/shade/renderer/geometry/BoxGeometry.d.ts.map +1 -1
  705. package/src/shade/renderer/geometry/BoxGeometry.js +0 -9
  706. package/src/shade/renderer/geometry/GPUGeometryManager.d.ts +4 -2
  707. package/src/shade/renderer/geometry/GPUGeometryManager.d.ts.map +1 -1
  708. package/src/shade/renderer/geometry/GPUGeometryManager.js +13 -2
  709. package/src/shade/renderer/geometry/Geometry.js +2 -2
  710. package/src/shade/renderer/geometry/blas_from_meshlets.d.ts.map +1 -1
  711. package/src/shade/renderer/geometry/blas_from_meshlets.js +12 -2
  712. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts.map +1 -1
  713. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.js +18 -0
  714. package/src/shade/renderer/geometry/bvh/bvh2_derive_topology.d.ts.map +1 -1
  715. package/src/shade/renderer/geometry/bvh/bvh2_derive_topology.js +5 -0
  716. package/src/shade/renderer/geometry/mesh_compute_surface_area.js +4 -4
  717. package/src/shade/renderer/geometry/meshlet/COMPACTION_PLAN_2026_09_16.md +674 -663
  718. package/src/shade/renderer/geometry/meshlet/GPUMeshletManager.d.ts +1 -1
  719. package/src/shade/renderer/geometry/meshlet/GPUMeshletManager.d.ts.map +1 -1
  720. package/src/shade/renderer/geometry/meshlet/GPUMeshletManager.js +63 -29
  721. package/src/shade/renderer/geometry/meshlet/MeshletBatch.d.ts +5 -0
  722. package/src/shade/renderer/geometry/meshlet/MeshletBatch.d.ts.map +1 -1
  723. package/src/shade/renderer/geometry/meshlet/MeshletBatch.js +15 -0
  724. package/src/shade/renderer/geometry/meshlet/build/meshoptimizer/geometry_to_meshlets_meshoptimizer.d.ts.map +1 -1
  725. package/src/shade/renderer/geometry/meshlet/build/meshoptimizer/geometry_to_meshlets_meshoptimizer.js +77 -87
  726. package/src/shade/renderer/geometry/meshlet/build/meshoptimizer/meshopt_clusterizer.d.ts.map +1 -1
  727. package/src/shade/renderer/geometry/meshlet/build/meshoptimizer/meshopt_clusterizer.js +4 -3
  728. package/src/shade/renderer/geometry/meshlet/shader_meshlet_metadata_address_patch.d.ts +11 -11
  729. package/src/shade/renderer/geometry/meshlet/shader_meshlet_metadata_address_patch.d.ts.map +1 -1
  730. package/src/shade/renderer/geometry/meshlet/shader_meshlet_metadata_address_patch.js +17 -19
  731. package/src/shade/renderer/geometry/meshlet_batch_to_bvh.d.ts.map +1 -1
  732. package/src/shade/renderer/geometry/meshlet_batch_to_bvh.js +35 -26
  733. package/src/shade/renderer/geometry/meshlet_geometry_build_from_geometry.d.ts.map +1 -1
  734. package/src/shade/renderer/geometry/meshlet_geometry_build_from_geometry.js +2 -1
  735. package/src/shade/renderer/geometry/normals/decode_octahedral_u32_to_normal.d.ts +13 -0
  736. package/src/shade/renderer/geometry/normals/decode_octahedral_u32_to_normal.d.ts.map +1 -0
  737. package/src/shade/renderer/geometry/normals/decode_octahedral_u32_to_normal.js +33 -0
  738. package/src/shade/renderer/geometry/normals/geometry_build_tangents.js +7 -7
  739. package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.d.ts +189 -45
  740. package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.d.ts.map +1 -1
  741. package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.js +1853 -144
  742. package/src/shade/renderer/geometry/sdf/MESH_SDF.d.ts +60 -0
  743. package/src/shade/renderer/geometry/sdf/MESH_SDF.d.ts.map +1 -0
  744. package/src/shade/renderer/geometry/sdf/MESH_SDF.js +62 -0
  745. package/src/shade/renderer/geometry/sdf/MESH_SDF_RESOURCES.d.ts +29 -0
  746. package/src/shade/renderer/geometry/sdf/MESH_SDF_RESOURCES.d.ts.map +1 -0
  747. package/src/shade/renderer/geometry/sdf/MESH_SDF_RESOURCES.js +41 -0
  748. package/src/shade/renderer/geometry/sdf/MESH_SDF_STRUCT.d.ts +12 -0
  749. package/src/shade/renderer/geometry/sdf/MESH_SDF_STRUCT.d.ts.map +1 -0
  750. package/src/shade/renderer/geometry/sdf/MESH_SDF_STRUCT.js +53 -0
  751. package/src/shade/renderer/geometry/sdf/MeshSDFLayout.d.ts +79 -0
  752. package/src/shade/renderer/geometry/sdf/MeshSDFLayout.d.ts.map +1 -0
  753. package/src/shade/renderer/geometry/sdf/MeshSDFLayout.js +168 -0
  754. package/src/shade/renderer/geometry/sdf/bake/MESH_SDF_BAKE.d.ts +75 -0
  755. package/src/shade/renderer/geometry/sdf/bake/MESH_SDF_BAKE.d.ts.map +1 -0
  756. package/src/shade/renderer/geometry/sdf/bake/MESH_SDF_BAKE.js +110 -0
  757. package/src/shade/renderer/geometry/sdf/bake/chunk_mesh_sdf_bake.d.ts +48 -0
  758. package/src/shade/renderer/geometry/sdf/bake/chunk_mesh_sdf_bake.d.ts.map +1 -0
  759. package/src/shade/renderer/geometry/sdf/bake/chunk_mesh_sdf_bake.js +146 -0
  760. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_classify.d.ts +31 -0
  761. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_classify.d.ts.map +1 -0
  762. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_classify.js +136 -0
  763. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_evaluate.d.ts +29 -0
  764. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_evaluate.d.ts.map +1 -0
  765. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_evaluate.js +146 -0
  766. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_free.d.ts +19 -0
  767. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_free.d.ts.map +1 -0
  768. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_free.js +77 -0
  769. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_store.d.ts +18 -0
  770. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_store.d.ts.map +1 -0
  771. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_store.js +84 -0
  772. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_take.d.ts +19 -0
  773. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_take.d.ts.map +1 -0
  774. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_take.js +72 -0
  775. package/src/shade/renderer/geometry/sdf/cards/GPUMeshCardSets.d.ts +171 -0
  776. package/src/shade/renderer/geometry/sdf/cards/GPUMeshCardSets.d.ts.map +1 -0
  777. package/src/shade/renderer/geometry/sdf/cards/GPUMeshCardSets.js +884 -0
  778. package/src/shade/renderer/geometry/sdf/cards/MESH_CARDS.d.ts +82 -0
  779. package/src/shade/renderer/geometry/sdf/cards/MESH_CARDS.d.ts.map +1 -0
  780. package/src/shade/renderer/geometry/sdf/cards/MESH_CARDS.js +127 -0
  781. package/src/shade/renderer/geometry/sdf/cards/MESH_CARD_RESOURCES.d.ts +24 -0
  782. package/src/shade/renderer/geometry/sdf/cards/MESH_CARD_RESOURCES.d.ts.map +1 -0
  783. package/src/shade/renderer/geometry/sdf/cards/MESH_CARD_RESOURCES.js +29 -0
  784. package/src/shade/renderer/geometry/sdf/cards/MESH_CARD_SET_STRUCT.d.ts +12 -0
  785. package/src/shade/renderer/geometry/sdf/cards/MESH_CARD_SET_STRUCT.d.ts.map +1 -0
  786. package/src/shade/renderer/geometry/sdf/cards/MESH_CARD_SET_STRUCT.js +31 -0
  787. package/src/shade/renderer/geometry/sdf/cards/chunk_mesh_card_surface.d.ts +29 -0
  788. package/src/shade/renderer/geometry/sdf/cards/chunk_mesh_card_surface.d.ts.map +1 -0
  789. package/src/shade/renderer/geometry/sdf/cards/chunk_mesh_card_surface.js +179 -0
  790. package/src/shade/renderer/geometry/sdf/cards/chunk_mesh_cards.d.ts +17 -0
  791. package/src/shade/renderer/geometry/sdf/cards/chunk_mesh_cards.d.ts.map +1 -0
  792. package/src/shade/renderer/geometry/sdf/cards/chunk_mesh_cards.js +107 -0
  793. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_capture.d.ts +36 -0
  794. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_capture.d.ts.map +1 -0
  795. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_capture.js +237 -0
  796. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_compact.d.ts +19 -0
  797. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_compact.d.ts.map +1 -0
  798. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_compact.js +61 -0
  799. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_histogram.d.ts +18 -0
  800. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_histogram.d.ts.map +1 -0
  801. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_histogram.js +102 -0
  802. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_log.d.ts +15 -0
  803. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_log.d.ts.map +1 -0
  804. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_log.js +65 -0
  805. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_merge.d.ts +22 -0
  806. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_merge.d.ts.map +1 -0
  807. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_merge.js +136 -0
  808. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_pages.d.ts +20 -0
  809. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_pages.d.ts.map +1 -0
  810. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_pages.js +104 -0
  811. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_split.d.ts +30 -0
  812. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_split.d.ts.map +1 -0
  813. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_split.js +146 -0
  814. package/src/shade/renderer/geometry/sdf/chunk_blas_query_band_sdf.d.ts +35 -0
  815. package/src/shade/renderer/geometry/sdf/chunk_blas_query_band_sdf.d.ts.map +1 -0
  816. package/src/shade/renderer/geometry/sdf/chunk_blas_query_band_sdf.js +161 -0
  817. package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf.d.ts +21 -0
  818. package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf.d.ts.map +1 -0
  819. package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf.js +112 -0
  820. package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_normal.d.ts +15 -0
  821. package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_normal.d.ts.map +1 -0
  822. package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_normal.js +34 -0
  823. package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_raymarch.d.ts +17 -0
  824. package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_raymarch.d.ts.map +1 -0
  825. package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_raymarch.js +64 -0
  826. package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_sample.d.ts +32 -0
  827. package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_sample.d.ts.map +1 -0
  828. package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_sample.js +104 -0
  829. package/src/shade/renderer/geometry/sdf/shader_sdf_visualize.d.ts +2 -0
  830. package/src/shade/renderer/geometry/sdf/shader_sdf_visualize.d.ts.map +1 -1
  831. package/src/shade/renderer/geometry/sdf/shader_sdf_visualize.js +13 -23
  832. package/src/shade/renderer/geometry/util/geometry_compute_surface_area.js +2 -2
  833. package/src/shade/renderer/geometry/util/geometry_estimate_uv_aspect.js +2 -2
  834. package/src/shade/renderer/geometry/util/geometry_simplify_redundant_topology.js +2 -2
  835. package/src/shade/renderer/global_illumination/brick4/cpu/brick4_bake_ao.js +2 -2
  836. package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.js +2 -2
  837. package/src/shade/renderer/global_illumination/lpv/graph_bake_irradiance_lookup_2d.js +4 -4
  838. package/src/shade/renderer/global_illumination/lpv/lpv_visualise_probes.d.ts +0 -2
  839. package/src/shade/renderer/global_illumination/lpv/lpv_visualise_probes.d.ts.map +1 -1
  840. package/src/shade/renderer/global_illumination/lpv/lpv_visualise_probes.js +3 -13
  841. package/src/shade/renderer/global_illumination/probe/octahedral/GPUProbeAtlas.d.ts +10 -16
  842. package/src/shade/renderer/global_illumination/probe/octahedral/GPUProbeAtlas.d.ts.map +1 -1
  843. package/src/shade/renderer/global_illumination/probe/octahedral/GPUProbeAtlas.js +39 -82
  844. package/src/shade/renderer/global_illumination/probe/octahedral/sample/chunk_lpv_mesh_interpolate_radiance_via_atlas.d.ts.map +1 -1
  845. package/src/shade/renderer/global_illumination/probe/octahedral/sample/chunk_lpv_mesh_interpolate_radiance_via_atlas.js +5 -1
  846. package/src/shade/renderer/global_illumination/probe_clipmap/GPUProbeClipmapGI.d.ts +115 -0
  847. package/src/shade/renderer/global_illumination/probe_clipmap/GPUProbeClipmapGI.d.ts.map +1 -0
  848. package/src/shade/renderer/global_illumination/probe_clipmap/GPUProbeClipmapGI.js +369 -0
  849. package/src/shade/renderer/global_illumination/probe_clipmap/PROBE_CLIPMAP_PROPOSAL_2026_10_27.md +2677 -0
  850. package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSceneHolds.d.ts +83 -0
  851. package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSceneHolds.d.ts.map +1 -0
  852. package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSceneHolds.js +626 -0
  853. package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSettings.d.ts +265 -0
  854. package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSettings.d.ts.map +1 -0
  855. package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSettings.js +475 -0
  856. package/src/shade/renderer/global_illumination/probe_clipmap/brick/BRICK_CLIPMAP.d.ts +131 -0
  857. package/src/shade/renderer/global_illumination/probe_clipmap/brick/BRICK_CLIPMAP.d.ts.map +1 -0
  858. package/src/shade/renderer/global_illumination/probe_clipmap/brick/BRICK_CLIPMAP.js +181 -0
  859. package/src/shade/renderer/global_illumination/probe_clipmap/brick/BRICK_MOVERS.d.ts +37 -0
  860. package/src/shade/renderer/global_illumination/probe_clipmap/brick/BRICK_MOVERS.d.ts.map +1 -0
  861. package/src/shade/renderer/global_illumination/probe_clipmap/brick/BRICK_MOVERS.js +48 -0
  862. package/src/shade/renderer/global_illumination/probe_clipmap/brick/GPUBrickClipmap.d.ts +223 -0
  863. package/src/shade/renderer/global_illumination/probe_clipmap/brick/GPUBrickClipmap.d.ts.map +1 -0
  864. package/src/shade/renderer/global_illumination/probe_clipmap/brick/GPUBrickClipmap.js +984 -0
  865. package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_clipmap.d.ts +69 -0
  866. package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_clipmap.d.ts.map +1 -0
  867. package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_clipmap.js +169 -0
  868. package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_clipmap_trace.d.ts +191 -0
  869. package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_clipmap_trace.d.ts.map +1 -0
  870. package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_clipmap_trace.js +590 -0
  871. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/MESH_BRICK_INSTANCE_STRUCT.d.ts +30 -0
  872. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/MESH_BRICK_INSTANCE_STRUCT.d.ts.map +1 -0
  873. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/MESH_BRICK_INSTANCE_STRUCT.js +43 -0
  874. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/MeshSDFBrickProvider.d.ts +35 -0
  875. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/MeshSDFBrickProvider.d.ts.map +1 -0
  876. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/MeshSDFBrickProvider.js +124 -0
  877. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/chunk_mesh_brick_instance.d.ts +29 -0
  878. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/chunk_mesh_brick_instance.d.ts.map +1 -0
  879. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/chunk_mesh_brick_instance.js +97 -0
  880. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/chunk_mesh_brick_object.d.ts +21 -0
  881. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/chunk_mesh_brick_object.d.ts.map +1 -0
  882. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/chunk_mesh_brick_object.js +42 -0
  883. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/chunk_mesh_brick_texel.d.ts +26 -0
  884. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/chunk_mesh_brick_texel.d.ts.map +1 -0
  885. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/chunk_mesh_brick_texel.js +73 -0
  886. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/shader_mesh_brick_provider.d.ts +35 -0
  887. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/shader_mesh_brick_provider.d.ts.map +1 -0
  888. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/shader_mesh_brick_provider.js +247 -0
  889. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_clear.d.ts +10 -0
  890. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_clear.d.ts.map +1 -0
  891. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_clear.js +44 -0
  892. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_coarse.d.ts +24 -0
  893. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_coarse.d.ts.map +1 -0
  894. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_coarse.js +92 -0
  895. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_free.d.ts +26 -0
  896. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_free.d.ts.map +1 -0
  897. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_free.js +133 -0
  898. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_movers.d.ts +21 -0
  899. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_movers.d.ts.map +1 -0
  900. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_movers.js +146 -0
  901. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_movers_command.d.ts +18 -0
  902. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_movers_command.d.ts.map +1 -0
  903. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_movers_command.js +84 -0
  904. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_requeue.d.ts +16 -0
  905. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_requeue.d.ts.map +1 -0
  906. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_requeue.js +67 -0
  907. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_scroll.d.ts +20 -0
  908. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_scroll.d.ts.map +1 -0
  909. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_scroll.js +128 -0
  910. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_store.d.ts +20 -0
  911. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_store.d.ts.map +1 -0
  912. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_store.js +127 -0
  913. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_take.d.ts +20 -0
  914. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_take.d.ts.map +1 -0
  915. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_take.js +79 -0
  916. package/src/shade/renderer/global_illumination/probe_clipmap/debug/ProbeClipmapDebugView.d.ts +11 -0
  917. package/src/shade/renderer/global_illumination/probe_clipmap/debug/ProbeClipmapDebugView.d.ts.map +1 -0
  918. package/src/shade/renderer/global_illumination/probe_clipmap/debug/ProbeClipmapDebugView.js +16 -0
  919. package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_brick_clipmap.d.ts +29 -0
  920. package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_brick_clipmap.d.ts.map +1 -0
  921. package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_brick_clipmap.js +160 -0
  922. package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_mesh_cards.d.ts +34 -0
  923. package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_mesh_cards.d.ts.map +1 -0
  924. package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_mesh_cards.js +189 -0
  925. package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_mesh_sdf.d.ts +25 -0
  926. package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_mesh_sdf.d.ts.map +1 -0
  927. package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_mesh_sdf.js +138 -0
  928. package/src/shade/renderer/global_illumination/probe_clipmap/probe/GPUProbeClipmap.d.ts +170 -0
  929. package/src/shade/renderer/global_illumination/probe_clipmap/probe/GPUProbeClipmap.d.ts.map +1 -0
  930. package/src/shade/renderer/global_illumination/probe_clipmap/probe/GPUProbeClipmap.js +982 -0
  931. package/src/shade/renderer/global_illumination/probe_clipmap/probe/PROBE_CLIPMAP.d.ts +216 -0
  932. package/src/shade/renderer/global_illumination/probe_clipmap/probe/PROBE_CLIPMAP.d.ts.map +1 -0
  933. package/src/shade/renderer/global_illumination/probe_clipmap/probe/PROBE_CLIPMAP.js +289 -0
  934. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap.d.ts +232 -0
  935. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap.d.ts.map +1 -0
  936. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap.js +448 -0
  937. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_hit_surface.d.ts +41 -0
  938. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_hit_surface.d.ts.map +1 -0
  939. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_hit_surface.js +110 -0
  940. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_accumulate.d.ts +30 -0
  941. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_accumulate.d.ts.map +1 -0
  942. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_accumulate.js +261 -0
  943. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_admit.d.ts +34 -0
  944. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_admit.d.ts.map +1 -0
  945. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_admit.js +169 -0
  946. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_due.d.ts +22 -0
  947. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_due.d.ts.map +1 -0
  948. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_due.js +110 -0
  949. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_fill.d.ts +10 -0
  950. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_fill.d.ts.map +1 -0
  951. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_fill.js +39 -0
  952. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_project.d.ts +26 -0
  953. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_project.d.ts.map +1 -0
  954. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_project.js +177 -0
  955. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_publish.d.ts +18 -0
  956. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_publish.d.ts.map +1 -0
  957. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_publish.js +105 -0
  958. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_relocate.d.ts +25 -0
  959. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_relocate.d.ts.map +1 -0
  960. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_relocate.js +124 -0
  961. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_retire.d.ts +21 -0
  962. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_retire.d.ts.map +1 -0
  963. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_retire.js +118 -0
  964. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_schedule.d.ts +19 -0
  965. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_schedule.d.ts.map +1 -0
  966. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_schedule.js +72 -0
  967. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_shade.d.ts +24 -0
  968. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_shade.d.ts.map +1 -0
  969. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_shade.js +141 -0
  970. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_trace.d.ts +33 -0
  971. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_trace.d.ts.map +1 -0
  972. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_trace.js +203 -0
  973. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_trace_command.d.ts +19 -0
  974. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_trace_command.d.ts.map +1 -0
  975. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_trace_command.js +88 -0
  976. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_want.d.ts +27 -0
  977. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_want.d.ts.map +1 -0
  978. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_want.js +199 -0
  979. package/src/shade/renderer/gpu_primitive/indirect/chunk_folded_dispatch.d.ts +19 -0
  980. package/src/shade/renderer/gpu_primitive/indirect/chunk_folded_dispatch.d.ts.map +1 -0
  981. package/src/shade/renderer/gpu_primitive/indirect/chunk_folded_dispatch.js +31 -0
  982. package/src/shade/renderer/gpu_primitive/slot_stack/chunk_slot_stack.d.ts +33 -0
  983. package/src/shade/renderer/gpu_primitive/slot_stack/chunk_slot_stack.d.ts.map +1 -0
  984. package/src/shade/renderer/gpu_primitive/slot_stack/chunk_slot_stack.js +58 -0
  985. package/src/shade/renderer/gpu_primitive/slot_stack/shader_slot_stack_fill.d.ts +31 -0
  986. package/src/shade/renderer/gpu_primitive/slot_stack/shader_slot_stack_fill.d.ts.map +1 -0
  987. package/src/shade/renderer/gpu_primitive/slot_stack/shader_slot_stack_fill.js +62 -0
  988. package/src/shade/renderer/gpu_primitive/slot_stack/shader_slot_stack_push_range.d.ts +21 -0
  989. package/src/shade/renderer/gpu_primitive/slot_stack/shader_slot_stack_push_range.d.ts.map +1 -0
  990. package/src/shade/renderer/gpu_primitive/slot_stack/shader_slot_stack_push_range.js +61 -0
  991. package/src/shade/renderer/light/GPULightCollection.d.ts.map +1 -1
  992. package/src/shade/renderer/light/GPULightCollection.js +12 -11
  993. package/src/shade/renderer/light/cluster/cull/shader_cull_lights_frustum.d.ts +0 -1
  994. package/src/shade/renderer/light/cluster/cull/shader_cull_lights_frustum.d.ts.map +1 -1
  995. package/src/shade/renderer/light/cluster/cull/shader_cull_lights_frustum.js +117 -120
  996. package/src/shade/renderer/light/environment/octahedral_z_pole_uv_to_direction.d.ts +1 -2
  997. package/src/shade/renderer/light/environment/octahedral_z_pole_uv_to_direction.d.ts.map +1 -1
  998. package/src/shade/renderer/light/environment/octahedral_z_pole_uv_to_direction.js +44 -45
  999. package/src/shade/renderer/lightmap/atlas/rescale_uvs.js +2 -2
  1000. package/src/shade/renderer/loader/gltf/load_gltf.d.ts.map +1 -1
  1001. package/src/shade/renderer/loader/gltf/load_gltf.js +11 -35
  1002. package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +1 -1
  1003. package/src/shade/renderer/loader/usd/load_usd.d.ts.map +1 -1
  1004. package/src/shade/renderer/loader/usd/load_usd.js +6 -19
  1005. package/src/shade/renderer/material/StandardShadeMaterial.js +5 -5
  1006. package/src/shade/renderer/material/resident/GPUResidentMaterialContext.d.ts +10 -4
  1007. package/src/shade/renderer/material/resident/GPUResidentMaterialContext.d.ts.map +1 -1
  1008. package/src/shade/renderer/material/resident/GPUResidentMaterialContext.js +112 -8
  1009. package/src/shade/renderer/material/resident/RESIDENT_MATERIAL_TEXTURE_LAYOUT.d.ts +21 -0
  1010. package/src/shade/renderer/material/resident/RESIDENT_MATERIAL_TEXTURE_LAYOUT.d.ts.map +1 -0
  1011. package/src/shade/renderer/material/resident/RESIDENT_MATERIAL_TEXTURE_LAYOUT.js +30 -0
  1012. package/src/shade/renderer/material/resident/shader_resident_texture_means.d.ts +24 -0
  1013. package/src/shade/renderer/material/resident/shader_resident_texture_means.d.ts.map +1 -0
  1014. package/src/shade/renderer/material/resident/shader_resident_texture_means.js +120 -0
  1015. package/src/shade/renderer/particles/GPUParticleSystem.js +7 -7
  1016. package/src/shade/renderer/particles/graph/validate_particle_graph.d.ts +0 -1
  1017. package/src/shade/renderer/particles/graph/validate_particle_graph.d.ts.map +1 -1
  1018. package/src/shade/renderer/particles/graph/validate_particle_graph.js +0 -6
  1019. package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.d.ts.map +1 -1
  1020. package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.js +199 -193
  1021. package/src/shade/renderer/particles/shaders/shader_particle_avboit_splat.d.ts.map +1 -1
  1022. package/src/shade/renderer/particles/shaders/shader_particle_avboit_splat.js +151 -143
  1023. package/src/shade/renderer/particles/shaders/shader_particle_emit.d.ts.map +1 -1
  1024. package/src/shade/renderer/particles/shaders/shader_particle_emit.js +5 -6
  1025. package/src/shade/renderer/particles/shaders/shader_particle_emit_wide.d.ts.map +1 -1
  1026. package/src/shade/renderer/particles/shaders/shader_particle_emit_wide.js +5 -7
  1027. package/src/shade/renderer/particles/shaders/shader_particle_simulate.d.ts.map +1 -1
  1028. package/src/shade/renderer/particles/shaders/shader_particle_simulate.js +3 -2
  1029. package/src/shade/renderer/particles/shaders/shader_particle_simulate_wide.d.ts.map +1 -1
  1030. package/src/shade/renderer/particles/shaders/shader_particle_simulate_wide.js +3 -2
  1031. package/src/shade/renderer/particles/warmup/shader_particle_warmup.d.ts.map +1 -1
  1032. package/src/shade/renderer/particles/warmup/shader_particle_warmup.js +316 -318
  1033. package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance.d.ts.map +1 -1
  1034. package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance.js +3 -2
  1035. package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance_wide.d.ts.map +1 -1
  1036. package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance_wide.js +2 -0
  1037. package/src/shade/renderer/path_tracer/shader/chunk_indirect_sample_texture.js +1 -1
  1038. package/src/shade/renderer/postprocess/bloom/chunk_karis_blur4x4_sample.d.ts.map +1 -1
  1039. package/src/shade/renderer/postprocess/bloom/chunk_karis_blur4x4_sample.js +11 -5
  1040. package/src/shade/renderer/postprocess/denoise/graph_atorus_denoise_luma.d.ts.map +1 -1
  1041. package/src/shade/renderer/postprocess/denoise/graph_atorus_denoise_luma.js +6 -18
  1042. package/src/shade/renderer/postprocess/gtao/GTAO.js +1 -1
  1043. package/src/shade/renderer/postprocess/gtao/GTAO_CONSTANTS.d.ts.map +1 -1
  1044. package/src/shade/renderer/postprocess/gtao/GTAO_CONSTANTS.js +75 -78
  1045. package/src/shade/renderer/postprocess/gtao/ao_reproject_shader.d.ts.map +1 -1
  1046. package/src/shade/renderer/postprocess/gtao/ao_reproject_shader.js +3 -5
  1047. package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao.d.ts +0 -5
  1048. package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao.d.ts.map +1 -1
  1049. package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao.js +377 -382
  1050. package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao_with_irradiance.js +1 -1
  1051. package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
  1052. package/src/shade/renderer/postprocess/nss/chunk_nss_luma_derivative.d.ts.map +1 -1
  1053. package/src/shade/renderer/postprocess/nss/chunk_nss_luma_derivative.js +7 -3
  1054. package/src/shade/renderer/postprocess/nss/shader_nss_postprocess.d.ts.map +1 -1
  1055. package/src/shade/renderer/postprocess/nss/shader_nss_postprocess.js +4 -2
  1056. package/src/shade/renderer/postprocess/nss/shader_nss_preprocess.d.ts.map +1 -1
  1057. package/src/shade/renderer/postprocess/nss/shader_nss_preprocess.js +4 -1
  1058. package/src/shade/renderer/postprocess/ssr/downsample_karis.d.ts.map +1 -1
  1059. package/src/shade/renderer/postprocess/ssr/downsample_karis.js +6 -3
  1060. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_temporal_accumulate.d.ts.map +1 -1
  1061. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_temporal_accumulate.js +4 -3
  1062. package/src/shade/renderer/postprocess/ssr/resolve/chunk_ssr_add_hit_irradiance.js +1 -0
  1063. package/src/shade/renderer/postprocess/ssr/resolve/chunk_ssr_sample_radiance.d.ts +2 -1
  1064. package/src/shade/renderer/postprocess/ssr/resolve/chunk_ssr_sample_radiance.d.ts.map +1 -1
  1065. package/src/shade/renderer/postprocess/ssr/resolve/chunk_ssr_sample_radiance.js +3 -1
  1066. package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader.d.ts.map +1 -1
  1067. package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader.js +4 -1
  1068. package/src/shade/renderer/postprocess/ssr/ssr_spatial_denoise_shader.d.ts.map +1 -1
  1069. package/src/shade/renderer/postprocess/ssr/ssr_spatial_denoise_shader.js +4 -2
  1070. package/src/shade/renderer/postprocess/taa/chunk_taa_tonemap.d.ts.map +1 -1
  1071. package/src/shade/renderer/postprocess/taa/chunk_taa_tonemap.js +35 -39
  1072. package/src/shade/renderer/postprocess/taa/chunk_taa_tonemap_inv.d.ts.map +1 -1
  1073. package/src/shade/renderer/postprocess/taa/chunk_taa_tonemap_inv.js +20 -17
  1074. package/src/shade/renderer/postprocess/taa/shader_taa.d.ts.map +1 -1
  1075. package/src/shade/renderer/postprocess/taa/shader_taa.js +6 -3
  1076. package/src/shade/renderer/rasterize/expand/bucket/meshlet/shader_meshlets_extract_bucket.d.ts.map +1 -1
  1077. package/src/shade/renderer/rasterize/expand/bucket/meshlet/shader_meshlets_extract_bucket.js +3 -1
  1078. package/src/shade/renderer/rasterize/forward/chunk_forward_sample_indirect.d.ts +1 -0
  1079. package/src/shade/renderer/rasterize/forward/chunk_forward_sample_indirect.d.ts.map +1 -1
  1080. package/src/shade/renderer/rasterize/forward/chunk_forward_sample_indirect.js +2 -0
  1081. package/src/shade/renderer/rasterize/native/avboit/avboit_draw_fragment_body.js +1 -1
  1082. package/src/shade/renderer/rasterize/native/avboit/chunk_avboit_splat_slice.js +2 -2
  1083. package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.js +1 -1
  1084. package/src/shade/renderer/rasterize/native/avboit/shader_avboit_integrate.d.ts.map +1 -1
  1085. package/src/shade/renderer/rasterize/native/avboit/shader_avboit_integrate.js +92 -83
  1086. package/src/shade/renderer/rasterize/native/avboit/shader_avboit_splat.js +1 -1
  1087. package/src/shade/renderer/scene/GPUSceneContext.d.ts +17 -2
  1088. package/src/shade/renderer/scene/GPUSceneContext.d.ts.map +1 -1
  1089. package/src/shade/renderer/scene/GPUSceneContext.js +38 -2
  1090. package/src/shade/renderer/scene/MESH_INSTANCE_METADATA_STRUCT.d.ts +17 -0
  1091. package/src/shade/renderer/scene/MESH_INSTANCE_METADATA_STRUCT.d.ts.map +1 -1
  1092. package/src/shade/renderer/scene/MESH_INSTANCE_METADATA_STRUCT.js +27 -0
  1093. package/src/shade/renderer/scene/bvh/StaticSceneBVH.d.ts.map +1 -1
  1094. package/src/shade/renderer/scene/bvh/StaticSceneBVH.js +4 -6
  1095. package/src/shade/renderer/scene/chunk_mesh_flags.d.ts +9 -0
  1096. package/src/shade/renderer/scene/chunk_mesh_flags.d.ts.map +1 -0
  1097. package/src/shade/renderer/scene/chunk_mesh_flags.js +22 -0
  1098. package/src/shade/renderer/scene/movers/SCENE_MOVER_LAYOUT.d.ts +65 -0
  1099. package/src/shade/renderer/scene/movers/SCENE_MOVER_LAYOUT.d.ts.map +1 -0
  1100. package/src/shade/renderer/scene/movers/SCENE_MOVER_LAYOUT.js +87 -0
  1101. package/src/shade/renderer/scene/movers/SceneMoverTracker.d.ts +42 -0
  1102. package/src/shade/renderer/scene/movers/SceneMoverTracker.d.ts.map +1 -0
  1103. package/src/shade/renderer/scene/movers/SceneMoverTracker.js +153 -0
  1104. package/src/shade/renderer/scene/movers/chunk_scene_append_mover.d.ts +14 -0
  1105. package/src/shade/renderer/scene/movers/chunk_scene_append_mover.d.ts.map +1 -0
  1106. package/src/shade/renderer/scene/movers/chunk_scene_append_mover.js +33 -0
  1107. package/src/shade/renderer/scene/movers/graph_scene_movers.d.ts +33 -0
  1108. package/src/shade/renderer/scene/movers/graph_scene_movers.d.ts.map +1 -0
  1109. package/src/shade/renderer/scene/movers/graph_scene_movers.js +114 -0
  1110. package/src/shade/renderer/scene/movers/shader_scene_movers.d.ts +33 -0
  1111. package/src/shade/renderer/scene/movers/shader_scene_movers.d.ts.map +1 -0
  1112. package/src/shade/renderer/scene/movers/shader_scene_movers.js +197 -0
  1113. package/src/shade/renderer/scene/movers/shader_scene_skinned_movers.d.ts +24 -0
  1114. package/src/shade/renderer/scene/movers/shader_scene_skinned_movers.d.ts.map +1 -0
  1115. package/src/shade/renderer/scene/movers/shader_scene_skinned_movers.js +112 -0
  1116. package/src/shade/renderer/scene/rows/GPUSceneRows.d.ts +26 -4
  1117. package/src/shade/renderer/scene/rows/GPUSceneRows.d.ts.map +1 -1
  1118. package/src/shade/renderer/scene/rows/GPUSceneRows.js +64 -6
  1119. package/src/shade/renderer/shader/ShaderDescriptor.d.ts.map +1 -1
  1120. package/src/shade/renderer/shader/ShaderDescriptor.js +12 -4
  1121. package/src/shade/renderer/shader/chunk/bvh/chunk_bvh_query_aabb_cooperative.d.ts.map +1 -1
  1122. package/src/shade/renderer/shader/chunk/bvh/chunk_bvh_query_aabb_cooperative.js +294 -286
  1123. package/src/shade/renderer/shader/chunk/geometry/aabb3/chunk_aabb3_nearest_point_on_surface.js +1 -1
  1124. package/src/shade/renderer/shader/chunk/geometry/mat4/chunk_mat4_decompose_transform.d.ts +1 -1
  1125. package/src/shade/renderer/shader/chunk/geometry/mat4/chunk_mat4_decompose_transform.js +2 -2
  1126. package/src/shade/renderer/shader/chunk/geometry/quaternion/chunk_quat_decode_u32.d.ts +1 -1
  1127. package/src/shade/renderer/shader/chunk/geometry/quaternion/chunk_quat_decode_u32.js +1 -1
  1128. package/src/shade/renderer/shader/chunk/geometry/quaternion/chunk_quat_encode_u32.d.ts +1 -1
  1129. package/src/shade/renderer/shader/chunk/geometry/quaternion/chunk_quat_encode_u32.js +1 -1
  1130. package/src/shade/renderer/shader/chunk/light/lpv/chunk_lpv_interpolate_probe_irradiance8.js +5 -5
  1131. package/src/shade/renderer/shader/chunk/light/lpv/chunk_lpv_mesh_interpolate_probe.d.ts.map +1 -1
  1132. package/src/shade/renderer/shader/chunk/light/lpv/chunk_lpv_mesh_interpolate_probe.js +5 -3
  1133. package/src/shade/renderer/shader/chunk/light/lpv/chunk_lpv_mesh_interpolate_probe_irradiance.d.ts.map +1 -1
  1134. package/src/shade/renderer/shader/chunk/light/lpv/chunk_lpv_mesh_interpolate_probe_irradiance.js +9 -6
  1135. package/src/shade/renderer/shader/chunk/light/lpv/chunk_lpv_sample_sh3_at.d.ts.map +1 -1
  1136. package/src/shade/renderer/shader/chunk/light/lpv/chunk_lpv_sample_sh3_at.js +33 -38
  1137. package/src/shade/renderer/shader/chunk/random/reservoir/chunk_sample_discrete_wrs_mat2x4.d.ts.map +1 -1
  1138. package/src/shade/renderer/shader/chunk/random/reservoir/chunk_sample_discrete_wrs_mat2x4.js +10 -7
  1139. package/src/shade/renderer/shader/chunk/random/reservoir/chunk_sample_discrete_wrs_vec4.d.ts.map +1 -1
  1140. package/src/shade/renderer/shader/chunk/random/reservoir/chunk_sample_discrete_wrs_vec4.js +6 -3
  1141. package/src/shade/renderer/shader/chunk/sdf/chunk_scene_sdf_raymarch.d.ts +22 -0
  1142. package/src/shade/renderer/shader/chunk/sdf/chunk_scene_sdf_raymarch.d.ts.map +1 -1
  1143. package/src/shade/renderer/shader/chunk/sdf/chunk_scene_sdf_raymarch.js +62 -34
  1144. package/src/shade/renderer/shader/compiler/CodeChunk.d.ts +1 -1
  1145. package/src/shade/renderer/shader/compiler/ShaderSwitch.d.ts +1 -1
  1146. package/src/shade/renderer/shader/compiler/ShaderSwitchSet.d.ts +1 -1
  1147. package/src/shade/renderer/shader/resource/ShaderResourceDescriptor.d.ts +1 -1
  1148. package/src/shade/renderer/shader/resource/ShaderResourceSetDescriptor.d.ts.map +1 -1
  1149. package/src/shade/renderer/shader/resource/ShaderResourceSetDescriptor.js +690 -675
  1150. package/src/shade/renderer/shader/type/WebGPUArray.d.ts +3 -0
  1151. package/src/shade/renderer/shader/type/WebGPUArray.d.ts.map +1 -1
  1152. package/src/shade/renderer/shader/type/WebGPUArray.js +185 -167
  1153. package/src/shade/renderer/shader/type/WebGPUStruct.d.ts.map +1 -1
  1154. package/src/shade/renderer/shader/type/WebGPUStruct.js +461 -455
  1155. package/src/shade/renderer/shader/type/serde/read_gpu_typed_buffer.d.ts.map +1 -1
  1156. package/src/shade/renderer/shader/type/serde/read_gpu_typed_buffer.js +335 -211
  1157. package/src/shade/renderer/shader/type/serde/write_gpu_typed_buffer.d.ts.map +1 -1
  1158. package/src/shade/renderer/shader/type/serde/write_gpu_typed_buffer.js +329 -221
  1159. package/src/shade/renderer/shader/type/type_has_f16.d.ts +12 -0
  1160. package/src/shade/renderer/shader/type/type_has_f16.d.ts.map +1 -0
  1161. package/src/shade/renderer/shader/type/type_has_f16.js +66 -0
  1162. package/src/shade/renderer/shadow/map/DirectionalLightShadowmap.js +4 -4
  1163. package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.d.ts +50 -11
  1164. package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.d.ts.map +1 -1
  1165. package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.js +188 -51
  1166. package/src/shade/renderer/shadow/map/SHADOWMAP_PATCH_MIN_SIDE.d.ts +8 -0
  1167. package/src/shade/renderer/shadow/map/SHADOWMAP_PATCH_MIN_SIDE.d.ts.map +1 -0
  1168. package/src/shade/renderer/shadow/map/SHADOWMAP_PATCH_MIN_SIDE.js +7 -0
  1169. package/src/shade/renderer/shadow/map/Shadowmap.d.ts +7 -7
  1170. package/src/shade/renderer/shadow/map/Shadowmap.js +7 -7
  1171. package/src/shade/renderer/shadow/map/ShadowmapResolutionPolicy.d.ts +17 -0
  1172. package/src/shade/renderer/shadow/map/ShadowmapResolutionPolicy.d.ts.map +1 -1
  1173. package/src/shade/renderer/shadow/map/ShadowmapResolutionPolicy.js +29 -8
  1174. package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_get_light_visibility.d.ts +0 -1
  1175. package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_get_light_visibility.d.ts.map +1 -1
  1176. package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_get_light_visibility.js +0 -3
  1177. package/src/shade/renderer/shadow/sdf/SDF_DRAW_SETTINGS_STRUCT.d.ts.map +1 -1
  1178. package/src/shade/renderer/shadow/sdf/SDF_DRAW_SETTINGS_STRUCT.js +2 -5
  1179. package/src/shade/renderer/shadow/sdf/chunk_geometry_sdf_query_distance.d.ts +8 -0
  1180. package/src/shade/renderer/shadow/sdf/chunk_geometry_sdf_query_distance.d.ts.map +1 -1
  1181. package/src/shade/renderer/shadow/sdf/chunk_geometry_sdf_query_distance.js +13 -41
  1182. package/src/shade/renderer/shadow/sdf/chunk_ray_query_sdf_raycast_traversal_count.js +6 -5
  1183. package/src/shade/renderer/shadow/sdf/chunk_sdf_geometry_raymarch.d.ts +8 -0
  1184. package/src/shade/renderer/shadow/sdf/chunk_sdf_geometry_raymarch.d.ts.map +1 -1
  1185. package/src/shade/renderer/shadow/sdf/chunk_sdf_geometry_raymarch.js +20 -73
  1186. package/src/shade/renderer/shadow/sdf/chunk_sdf_mesh_raymarch.d.ts.map +1 -1
  1187. package/src/shade/renderer/shadow/sdf/chunk_sdf_mesh_raymarch.js +4 -0
  1188. package/src/shade/renderer/shadow/sdf/graph_draw_sdf_shadows.d.ts +2 -0
  1189. package/src/shade/renderer/shadow/sdf/graph_draw_sdf_shadows.d.ts.map +1 -1
  1190. package/src/shade/renderer/shadow/sdf/graph_draw_sdf_shadows.js +14 -8
  1191. package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_LOW_LOAD_FACTOR.d.ts +12 -0
  1192. package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_LOW_LOAD_FACTOR.d.ts.map +1 -0
  1193. package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_LOW_LOAD_FACTOR.js +11 -0
  1194. package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_MAX_DYNAMIC_LOD_BIAS.d.ts +9 -0
  1195. package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_MAX_DYNAMIC_LOD_BIAS.d.ts.map +1 -0
  1196. package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_MAX_DYNAMIC_LOD_BIAS.js +8 -0
  1197. package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_MAX_LOAD_FACTOR.d.ts +13 -0
  1198. package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_MAX_LOAD_FACTOR.d.ts.map +1 -0
  1199. package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_MAX_LOAD_FACTOR.js +12 -0
  1200. package/src/shade/renderer/shadow/vsm/PLAN.md +3 -1
  1201. package/src/shade/renderer/shadow/vsm/VSMPageManager.d.ts +80 -1
  1202. package/src/shade/renderer/shadow/vsm/VSMPageManager.d.ts.map +1 -1
  1203. package/src/shade/renderer/shadow/vsm/VSMPageManager.js +303 -3
  1204. package/src/shade/renderer/shadow/vsm/VirtualShadowMap.d.ts +54 -3
  1205. package/src/shade/renderer/shadow/vsm/VirtualShadowMap.d.ts.map +1 -1
  1206. package/src/shade/renderer/shadow/vsm/VirtualShadowMap.js +418 -338
  1207. package/src/shade/renderer/shadow/vsm/graph_vsm_feedback.d.ts +8 -9
  1208. package/src/shade/renderer/shadow/vsm/graph_vsm_feedback.d.ts.map +1 -1
  1209. package/src/shade/renderer/shadow/vsm/graph_vsm_feedback.js +9 -92
  1210. package/src/shade/renderer/shadow/vsm/shader/shader_vsm_stale.js +6 -6
  1211. package/src/shade/renderer/texture/atlas/GPUTileAtlas2D.d.ts +90 -0
  1212. package/src/shade/renderer/texture/atlas/GPUTileAtlas2D.d.ts.map +1 -0
  1213. package/src/shade/renderer/texture/atlas/GPUTileAtlas2D.js +208 -0
  1214. package/src/shade/renderer/texture/atlas/GPUTileAtlas3D.d.ts +23 -4
  1215. package/src/shade/renderer/texture/atlas/GPUTileAtlas3D.d.ts.map +1 -1
  1216. package/src/shade/renderer/texture/atlas/GPUTileAtlas3D.js +56 -5
  1217. package/src/shade/renderer/view/GPUViewContext.js +2 -2
  1218. package/src/shade/renderer/volumetrics/chunk_volumetrics_sun_shadow_group_list.d.ts +59 -0
  1219. package/src/shade/renderer/volumetrics/chunk_volumetrics_sun_shadow_group_list.d.ts.map +1 -0
  1220. package/src/shade/renderer/volumetrics/chunk_volumetrics_sun_shadow_group_list.js +152 -0
  1221. package/src/shade/renderer/volumetrics/graph_build_volumetrics.d.ts.map +1 -1
  1222. package/src/shade/renderer/volumetrics/graph_build_volumetrics.js +145 -46
  1223. package/src/shade/renderer/volumetrics/irradiance_clipmap/chunk_irradiance_clipmap_gi_sample.d.ts +2 -1
  1224. package/src/shade/renderer/volumetrics/irradiance_clipmap/chunk_irradiance_clipmap_gi_sample.d.ts.map +1 -1
  1225. package/src/shade/renderer/volumetrics/irradiance_clipmap/chunk_irradiance_clipmap_gi_sample.js +3 -1
  1226. package/src/shade/renderer/volumetrics/shader_volumetrics_bin_sun_shadow_media.d.ts +21 -0
  1227. package/src/shade/renderer/volumetrics/shader_volumetrics_bin_sun_shadow_media.d.ts.map +1 -0
  1228. package/src/shade/renderer/volumetrics/shader_volumetrics_bin_sun_shadow_media.js +125 -0
  1229. package/src/shade/renderer/volumetrics/shader_volumetrics_build_lighting.d.ts.map +1 -1
  1230. package/src/shade/renderer/volumetrics/shader_volumetrics_build_lighting.js +16 -2
  1231. package/src/shade/renderer/volumetrics/shader_volumetrics_build_sun_shadow_volume.d.ts +4 -44
  1232. package/src/shade/renderer/volumetrics/shader_volumetrics_build_sun_shadow_volume.d.ts.map +1 -1
  1233. package/src/shade/renderer/volumetrics/shader_volumetrics_build_sun_shadow_volume.js +558 -311
  1234. package/src/shade/renderer/volumetrics/shader_volumetrics_cull_sun_shadow_media.d.ts +18 -0
  1235. package/src/shade/renderer/volumetrics/shader_volumetrics_cull_sun_shadow_media.d.ts.map +1 -0
  1236. package/src/shade/renderer/volumetrics/shader_volumetrics_cull_sun_shadow_media.js +84 -0
  1237. package/src/shade/renderer/volumetrics/shader_volumetrics_split_participating_media.d.ts +4 -0
  1238. package/src/shade/renderer/volumetrics/shader_volumetrics_split_participating_media.d.ts.map +1 -1
  1239. package/src/shade/renderer/volumetrics/shader_volumetrics_split_participating_media.js +1 -1
  1240. package/src/shade/renderer/volumetrics/taa/shader_volumetrics_taa.d.ts.map +1 -1
  1241. package/src/shade/renderer/volumetrics/taa/shader_volumetrics_taa.js +5 -2
  1242. package/src/shade/renderer/water/chunk_water_gi.d.ts +2 -2
  1243. package/src/shade/renderer/water/chunk_water_gi.d.ts.map +1 -1
  1244. package/src/shade/renderer/water/chunk_water_gi.js +4 -2
  1245. package/src/shade/renderer/water/query/GPUWaterQueries.d.ts +127 -0
  1246. package/src/shade/renderer/water/query/GPUWaterQueries.d.ts.map +1 -0
  1247. package/src/shade/renderer/water/query/GPUWaterQueries.js +741 -0
  1248. package/src/shade/renderer/water/query/WATER_QUERY_DATABASE_SPEC.d.ts +58 -0
  1249. package/src/shade/renderer/water/query/WATER_QUERY_DATABASE_SPEC.d.ts.map +1 -0
  1250. package/src/shade/renderer/water/query/WATER_QUERY_DATABASE_SPEC.js +79 -0
  1251. package/src/shade/renderer/water/query/shader_water_surface_query.d.ts +32 -0
  1252. package/src/shade/renderer/water/query/shader_water_surface_query.d.ts.map +1 -0
  1253. package/src/shade/renderer/water/query/shader_water_surface_query.js +227 -0
  1254. package/src/shade/renderer/water/shader_water_avboit.js +1 -1
  1255. package/src/shade/renderer/wind/GPUSceneWind.d.ts +1 -1
  1256. package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.d.ts.map +1 -1
  1257. package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.js +272 -29
  1258. package/src/shade/wgsl/emulator/WGSLLanguageCore.d.ts +6 -7
  1259. package/src/shade/wgsl/emulator/WGSLLanguageCore.d.ts.map +1 -1
  1260. package/src/shade/wgsl/emulator/WGSLLanguageCore.js +289 -70
  1261. package/src/shade/wgsl/validate_wgsl_source.d.ts.map +1 -1
  1262. package/src/shade/wgsl/validate_wgsl_source.js +53 -1
  1263. package/src/view/common/LabelView.js +1 -1
  1264. package/src/view/common/VirtualListView.js +1 -1
  1265. package/src/view/controller/controls/ListController.d.ts.map +1 -1
  1266. package/src/view/controller/controls/ListController.js +118 -113
  1267. package/src/view/controller/controls/Vector1Control.js +97 -97
  1268. package/src/view/elements/image/SvgImageView.d.ts +1 -0
  1269. package/src/view/elements/image/SvgImageView.d.ts.map +1 -1
  1270. package/src/view/elements/image/SvgImageView.js +92 -90
  1271. package/src/view/elements/progress/SmoothProgressBar.js +1 -1
  1272. package/src/view/minimap/dom/MinimapTerrainView.d.ts +1 -0
  1273. package/src/view/minimap/dom/MinimapTerrainView.d.ts.map +1 -1
  1274. package/src/view/minimap/dom/MinimapTerrainView.js +151 -147
  1275. package/src/view/tooltip/TooltipManager.js +1 -1
  1276. package/src/view/tooltip/gml/TooltipParser.js +2 -2
  1277. package/editor/view/ecs/components/DatGuiController.d.ts +0 -2
  1278. package/editor/view/ecs/components/DatGuiController.d.ts.map +0 -1
  1279. package/editor/view/ecs/components/DatGuiController.js +0 -2
  1280. package/editor/view/v2/SplitView.d.ts +0 -2
  1281. package/editor/view/v2/SplitView.d.ts.map +0 -1
  1282. package/editor/view/v2/SplitView.js +0 -2
  1283. package/src/core/binary/hash/XXH128Hash.d.ts +0 -2
  1284. package/src/core/binary/hash/XXH128Hash.d.ts.map +0 -1
  1285. package/src/core/binary/hash/XXH128Hash.js +0 -4
  1286. package/src/core/binary/hash/XXH3_SECRET.d.ts +0 -2
  1287. package/src/core/binary/hash/XXH3_SECRET.d.ts.map +0 -1
  1288. package/src/core/binary/hash/XXH3_SECRET.js +0 -4
  1289. package/src/core/binary/hash/crc32.d.ts +0 -2
  1290. package/src/core/binary/hash/crc32.d.ts.map +0 -1
  1291. package/src/core/binary/hash/crc32.js +0 -4
  1292. package/src/core/binary/hash/xxh3_128.d.ts +0 -2
  1293. package/src/core/binary/hash/xxh3_128.d.ts.map +0 -1
  1294. package/src/core/binary/hash/xxh3_128.js +0 -4
  1295. package/src/core/binary/hash/xxh3_64.d.ts +0 -2
  1296. package/src/core/binary/hash/xxh3_64.d.ts.map +0 -1
  1297. package/src/core/binary/hash/xxh3_64.js +0 -4
  1298. package/src/core/binary/hash/xxh3_common.d.ts +0 -2
  1299. package/src/core/binary/hash/xxh3_common.d.ts.map +0 -1
  1300. package/src/core/binary/hash/xxh3_common.js +0 -90
  1301. package/src/core/binary/lsb_32.d.ts +0 -17
  1302. package/src/core/binary/lsb_32.d.ts.map +0 -1
  1303. package/src/core/binary/lsb_32.js +0 -17
  1304. package/src/core/color/hex/hex2rgb.d.ts +0 -2
  1305. package/src/core/color/hex/hex2rgb.d.ts.map +0 -1
  1306. package/src/core/color/hex/hex2rgb.js +0 -7
  1307. package/src/core/color/hex/rgb2hex.d.ts +0 -2
  1308. package/src/core/color/hex/rgb2hex.d.ts.map +0 -1
  1309. package/src/core/color/hex/rgb2hex.js +0 -7
  1310. package/src/core/color/hsv/hsv2rgb.d.ts +0 -2
  1311. package/src/core/color/hsv/hsv2rgb.d.ts.map +0 -1
  1312. package/src/core/color/hsv/hsv2rgb.js +0 -8
  1313. package/src/core/color/hsv/rgb2hsv.d.ts +0 -2
  1314. package/src/core/color/hsv/rgb2hsv.d.ts.map +0 -1
  1315. package/src/core/color/hsv/rgb2hsv.js +0 -7
  1316. package/src/core/color/hunt/hpe_to_xyz.d.ts +0 -2
  1317. package/src/core/color/hunt/hpe_to_xyz.d.ts.map +0 -1
  1318. package/src/core/color/hunt/hpe_to_xyz.js +0 -4
  1319. package/src/core/color/hunt/xyz_to_hpe.d.ts +0 -2
  1320. package/src/core/color/hunt/xyz_to_hpe.d.ts.map +0 -1
  1321. package/src/core/color/hunt/xyz_to_hpe.js +0 -12
  1322. package/src/core/color/int2rgb.d.ts +0 -2
  1323. package/src/core/color/int2rgb.d.ts.map +0 -1
  1324. package/src/core/color/int2rgb.js +0 -7
  1325. package/src/core/color/rgb2uint24.d.ts +0 -2
  1326. package/src/core/color/rgb2uint24.d.ts.map +0 -1
  1327. package/src/core/color/rgb2uint24.js +0 -7
  1328. package/src/core/color/rgb2uint32.d.ts +0 -2
  1329. package/src/core/color/rgb2uint32.d.ts.map +0 -1
  1330. package/src/core/color/rgb2uint32.js +0 -7
  1331. package/src/core/geom/2d/aabb/aabb2_array_combine.d.ts +0 -7
  1332. package/src/core/geom/2d/aabb/aabb2_array_combine.d.ts.map +0 -1
  1333. package/src/core/geom/2d/aabb/aabb2_array_combine.js +0 -7
  1334. package/src/core/geom/2d/aabb/aabb2_compute_area.d.ts +0 -7
  1335. package/src/core/geom/2d/aabb/aabb2_compute_area.d.ts.map +0 -1
  1336. package/src/core/geom/2d/aabb/aabb2_compute_area.js +0 -7
  1337. package/src/core/geom/2d/aabb/aabb2_compute_center_from_multiple.d.ts +0 -7
  1338. package/src/core/geom/2d/aabb/aabb2_compute_center_from_multiple.d.ts.map +0 -1
  1339. package/src/core/geom/2d/aabb/aabb2_compute_center_from_multiple.js +0 -7
  1340. package/src/core/geom/2d/aabb/aabb2_compute_overlap.d.ts +0 -7
  1341. package/src/core/geom/2d/aabb/aabb2_compute_overlap.d.ts.map +0 -1
  1342. package/src/core/geom/2d/aabb/aabb2_compute_overlap.js +0 -7
  1343. package/src/core/geom/2d/aabb/aabb2_from_v2_array.d.ts +0 -7
  1344. package/src/core/geom/2d/aabb/aabb2_from_v2_array.d.ts.map +0 -1
  1345. package/src/core/geom/2d/aabb/aabb2_from_v2_array.js +0 -7
  1346. package/src/core/geom/2d/aabb/aabb2_intersects_point.d.ts +0 -7
  1347. package/src/core/geom/2d/aabb/aabb2_intersects_point.d.ts.map +0 -1
  1348. package/src/core/geom/2d/aabb/aabb2_intersects_point.js +0 -7
  1349. package/src/core/geom/2d/aabb/aabb2_overlap_exists.d.ts +0 -7
  1350. package/src/core/geom/2d/aabb/aabb2_overlap_exists.d.ts.map +0 -1
  1351. package/src/core/geom/2d/aabb/aabb2_overlap_exists.js +0 -7
  1352. package/src/core/geom/2d/circle/circle_compute_circle_intersection.d.ts +0 -7
  1353. package/src/core/geom/2d/circle/circle_compute_circle_intersection.d.ts.map +0 -1
  1354. package/src/core/geom/2d/circle/circle_compute_circle_intersection.js +0 -7
  1355. package/src/core/geom/2d/circle/circle_compute_circle_penetration.d.ts +0 -7
  1356. package/src/core/geom/2d/circle/circle_compute_circle_penetration.d.ts.map +0 -1
  1357. package/src/core/geom/2d/circle/circle_compute_circle_penetration.js +0 -7
  1358. package/src/core/geom/2d/circle/circle_intersects_point.d.ts +0 -7
  1359. package/src/core/geom/2d/circle/circle_intersects_point.d.ts.map +0 -1
  1360. package/src/core/geom/2d/circle/circle_intersects_point.js +0 -7
  1361. package/src/core/geom/2d/compute_polygon_area_2d.d.ts +0 -7
  1362. package/src/core/geom/2d/compute_polygon_area_2d.d.ts.map +0 -1
  1363. package/src/core/geom/2d/compute_polygon_area_2d.js +0 -7
  1364. package/src/core/geom/2d/convex-hull/fixed_convex_hull_humus.d.ts +0 -7
  1365. package/src/core/geom/2d/convex-hull/fixed_convex_hull_humus.d.ts.map +0 -1
  1366. package/src/core/geom/2d/convex-hull/fixed_convex_hull_humus.js +0 -7
  1367. package/src/core/geom/2d/convex-hull/fixed_convex_hull_relaxation.d.ts +0 -7
  1368. package/src/core/geom/2d/convex-hull/fixed_convex_hull_relaxation.d.ts.map +0 -1
  1369. package/src/core/geom/2d/convex-hull/fixed_convex_hull_relaxation.js +0 -7
  1370. package/src/core/geom/2d/convex-hull/orientation3_array.d.ts +0 -7
  1371. package/src/core/geom/2d/convex-hull/orientation3_array.d.ts.map +0 -1
  1372. package/src/core/geom/2d/convex-hull/orientation3_array.js +0 -7
  1373. package/src/core/geom/2d/intersect_ray_2d.d.ts +0 -7
  1374. package/src/core/geom/2d/intersect_ray_2d.d.ts.map +0 -1
  1375. package/src/core/geom/2d/intersect_ray_2d.js +0 -7
  1376. package/src/core/geom/2d/line/line2_distance_to_point_sqr.d.ts +0 -7
  1377. package/src/core/geom/2d/line/line2_distance_to_point_sqr.d.ts.map +0 -1
  1378. package/src/core/geom/2d/line/line2_distance_to_point_sqr.js +0 -7
  1379. package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_2d.d.ts +0 -7
  1380. package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_2d.d.ts.map +0 -1
  1381. package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_2d.js +0 -7
  1382. package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_array_2d.d.ts +0 -7
  1383. package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_array_2d.d.ts.map +0 -1
  1384. package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_array_2d.js +0 -7
  1385. package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_vectors_2d.d.ts +0 -7
  1386. package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_vectors_2d.d.ts.map +0 -1
  1387. package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_vectors_2d.js +0 -7
  1388. package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_vectors_array_2d.d.ts +0 -7
  1389. package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_vectors_array_2d.d.ts.map +0 -1
  1390. package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_vectors_array_2d.js +0 -7
  1391. package/src/core/geom/2d/line/line_segment_intersection_fraction_2d.d.ts +0 -7
  1392. package/src/core/geom/2d/line/line_segment_intersection_fraction_2d.d.ts.map +0 -1
  1393. package/src/core/geom/2d/line/line_segment_intersection_fraction_2d.js +0 -7
  1394. package/src/core/geom/2d/line/line_segment_line_segment_intersection_exists_2d.d.ts +0 -7
  1395. package/src/core/geom/2d/line/line_segment_line_segment_intersection_exists_2d.d.ts.map +0 -1
  1396. package/src/core/geom/2d/line/line_segment_line_segment_intersection_exists_2d.js +0 -7
  1397. package/src/core/geom/2d/quad-tree/qt_query_data_nearest_to_point.d.ts +0 -7
  1398. package/src/core/geom/2d/quad-tree/qt_query_data_nearest_to_point.d.ts.map +0 -1
  1399. package/src/core/geom/2d/quad-tree/qt_query_data_nearest_to_point.js +0 -7
  1400. package/src/core/geom/2d/rectangle_to_aabb.d.ts +0 -7
  1401. package/src/core/geom/2d/rectangle_to_aabb.d.ts.map +0 -1
  1402. package/src/core/geom/2d/rectangle_to_aabb.js +0 -7
  1403. package/src/core/geom/2d/spline_bezier2_2d.d.ts +0 -7
  1404. package/src/core/geom/2d/spline_bezier2_2d.d.ts.map +0 -1
  1405. package/src/core/geom/2d/spline_bezier2_2d.js +0 -7
  1406. package/src/core/geom/2d/triangle2d_compute_area.d.ts +0 -7
  1407. package/src/core/geom/2d/triangle2d_compute_area.d.ts.map +0 -1
  1408. package/src/core/geom/2d/triangle2d_compute_area.js +0 -7
  1409. package/src/core/geom/2d/triangle2d_contains_point.d.ts +0 -7
  1410. package/src/core/geom/2d/triangle2d_contains_point.d.ts.map +0 -1
  1411. package/src/core/geom/2d/triangle2d_contains_point.js +0 -7
  1412. package/src/core/geom/2d/triangle2d_get_barycentric.d.ts +0 -7
  1413. package/src/core/geom/2d/triangle2d_get_barycentric.d.ts.map +0 -1
  1414. package/src/core/geom/2d/triangle2d_get_barycentric.js +0 -7
  1415. package/src/core/geom/3d/aabb/aabb3_array_intersects_frustum_degree.d.ts +0 -7
  1416. package/src/core/geom/3d/aabb/aabb3_array_intersects_frustum_degree.d.ts.map +0 -1
  1417. package/src/core/geom/3d/aabb/aabb3_array_intersects_frustum_degree.js +0 -7
  1418. package/src/core/geom/3d/aabb/aabb3_box_surface_area_2.d.ts +0 -7
  1419. package/src/core/geom/3d/aabb/aabb3_box_surface_area_2.d.ts.map +0 -1
  1420. package/src/core/geom/3d/aabb/aabb3_box_surface_area_2.js +0 -7
  1421. package/src/core/geom/3d/aabb/aabb3_combined_surface_area.d.ts +0 -7
  1422. package/src/core/geom/3d/aabb/aabb3_combined_surface_area.d.ts.map +0 -1
  1423. package/src/core/geom/3d/aabb/aabb3_combined_surface_area.js +0 -7
  1424. package/src/core/geom/3d/aabb/aabb3_compute_half_surface_area.d.ts +0 -7
  1425. package/src/core/geom/3d/aabb/aabb3_compute_half_surface_area.d.ts.map +0 -1
  1426. package/src/core/geom/3d/aabb/aabb3_compute_half_surface_area.js +0 -7
  1427. package/src/core/geom/3d/aabb/aabb3_compute_projected_area.d.ts +0 -7
  1428. package/src/core/geom/3d/aabb/aabb3_compute_projected_area.d.ts.map +0 -1
  1429. package/src/core/geom/3d/aabb/aabb3_compute_projected_area.js +0 -7
  1430. package/src/core/geom/3d/aabb/aabb3_compute_surface_area.d.ts +0 -7
  1431. package/src/core/geom/3d/aabb/aabb3_compute_surface_area.d.ts.map +0 -1
  1432. package/src/core/geom/3d/aabb/aabb3_compute_surface_area.js +0 -7
  1433. package/src/core/geom/3d/aabb/aabb3_detailed_volume_intersection.d.ts +0 -7
  1434. package/src/core/geom/3d/aabb/aabb3_detailed_volume_intersection.d.ts.map +0 -1
  1435. package/src/core/geom/3d/aabb/aabb3_detailed_volume_intersection.js +0 -7
  1436. package/src/core/geom/3d/aabb/aabb3_estimate_projected_area2.d.ts +0 -7
  1437. package/src/core/geom/3d/aabb/aabb3_estimate_projected_area2.d.ts.map +0 -1
  1438. package/src/core/geom/3d/aabb/aabb3_estimate_projected_area2.js +0 -7
  1439. package/src/core/geom/3d/aabb/aabb3_intersects_frustum_degree.d.ts +0 -7
  1440. package/src/core/geom/3d/aabb/aabb3_intersects_frustum_degree.d.ts.map +0 -1
  1441. package/src/core/geom/3d/aabb/aabb3_intersects_frustum_degree.js +0 -7
  1442. package/src/core/geom/3d/aabb/aabb3_intersects_line_segment.d.ts +0 -7
  1443. package/src/core/geom/3d/aabb/aabb3_intersects_line_segment.d.ts.map +0 -1
  1444. package/src/core/geom/3d/aabb/aabb3_intersects_line_segment.js +0 -7
  1445. package/src/core/geom/3d/aabb/aabb3_near_distance_to_intersection_ray_segment.d.ts +0 -7
  1446. package/src/core/geom/3d/aabb/aabb3_near_distance_to_intersection_ray_segment.d.ts.map +0 -1
  1447. package/src/core/geom/3d/aabb/aabb3_near_distance_to_intersection_ray_segment.js +0 -7
  1448. package/src/core/geom/3d/aabb/aabb3_nearest_point_on_surface.d.ts +0 -7
  1449. package/src/core/geom/3d/aabb/aabb3_nearest_point_on_surface.d.ts.map +0 -1
  1450. package/src/core/geom/3d/aabb/aabb3_nearest_point_on_surface.js +0 -7
  1451. package/src/core/geom/3d/aabb/aabb3_raycast.d.ts +0 -7
  1452. package/src/core/geom/3d/aabb/aabb3_raycast.d.ts.map +0 -1
  1453. package/src/core/geom/3d/aabb/aabb3_raycast.js +0 -7
  1454. package/src/core/geom/3d/aabb/compute_aabb_from_points.d.ts +0 -7
  1455. package/src/core/geom/3d/aabb/compute_aabb_from_points.d.ts.map +0 -1
  1456. package/src/core/geom/3d/aabb/compute_aabb_from_points.js +0 -7
  1457. package/src/core/geom/3d/aabb/compute_triangle_group_aabb3.d.ts +0 -7
  1458. package/src/core/geom/3d/aabb/compute_triangle_group_aabb3.d.ts.map +0 -1
  1459. package/src/core/geom/3d/aabb/compute_triangle_group_aabb3.js +0 -7
  1460. package/src/core/geom/3d/compute_circle_bounding_box.d.ts +0 -7
  1461. package/src/core/geom/3d/compute_circle_bounding_box.d.ts.map +0 -1
  1462. package/src/core/geom/3d/compute_circle_bounding_box.js +0 -7
  1463. package/src/core/geom/3d/cone/computeConeBoundingBox.d.ts +0 -7
  1464. package/src/core/geom/3d/cone/computeConeBoundingBox.d.ts.map +0 -1
  1465. package/src/core/geom/3d/cone/computeConeBoundingBox.js +0 -7
  1466. package/src/core/geom/3d/cone/computeConePlaneSide.d.ts +0 -7
  1467. package/src/core/geom/3d/cone/computeConePlaneSide.d.ts.map +0 -1
  1468. package/src/core/geom/3d/cone/computeConePlaneSide.js +0 -7
  1469. package/src/core/geom/3d/cone/compute_bounding_cone_of_2_cones.d.ts +0 -7
  1470. package/src/core/geom/3d/cone/compute_bounding_cone_of_2_cones.d.ts.map +0 -1
  1471. package/src/core/geom/3d/cone/compute_bounding_cone_of_2_cones.js +0 -7
  1472. package/src/core/geom/3d/frustum/clipping_volume_matrix4_project.d.ts +0 -7
  1473. package/src/core/geom/3d/frustum/clipping_volume_matrix4_project.d.ts.map +0 -1
  1474. package/src/core/geom/3d/frustum/clipping_volume_matrix4_project.js +0 -7
  1475. package/src/core/geom/3d/frustum/frustum3_computeNearestPointToPoint.d.ts +0 -7
  1476. package/src/core/geom/3d/frustum/frustum3_computeNearestPointToPoint.d.ts.map +0 -1
  1477. package/src/core/geom/3d/frustum/frustum3_computeNearestPointToPoint.js +0 -7
  1478. package/src/core/geom/3d/frustum/frustum_matrix4_project.d.ts +0 -7
  1479. package/src/core/geom/3d/frustum/frustum_matrix4_project.d.ts.map +0 -1
  1480. package/src/core/geom/3d/frustum/frustum_matrix4_project.js +0 -7
  1481. package/src/core/geom/3d/frustum/hexahedron_from_aabb.d.ts +0 -7
  1482. package/src/core/geom/3d/frustum/hexahedron_from_aabb.d.ts.map +0 -1
  1483. package/src/core/geom/3d/frustum/hexahedron_from_aabb.js +0 -7
  1484. package/src/core/geom/3d/frustum/read_three_planes_to_array.d.ts +0 -7
  1485. package/src/core/geom/3d/frustum/read_three_planes_to_array.d.ts.map +0 -1
  1486. package/src/core/geom/3d/frustum/read_three_planes_to_array.js +0 -7
  1487. package/src/core/geom/3d/frustum/slice_frustum_linear_to_points.d.ts +0 -7
  1488. package/src/core/geom/3d/frustum/slice_frustum_linear_to_points.d.ts.map +0 -1
  1489. package/src/core/geom/3d/frustum/slice_frustum_linear_to_points.js +0 -7
  1490. package/src/core/geom/3d/line/line3_closest_points_segment_segment.d.ts +0 -7
  1491. package/src/core/geom/3d/line/line3_closest_points_segment_segment.d.ts.map +0 -1
  1492. package/src/core/geom/3d/line/line3_closest_points_segment_segment.js +0 -7
  1493. package/src/core/geom/3d/line/line3_compute_nearest_point_to_point.d.ts +0 -7
  1494. package/src/core/geom/3d/line/line3_compute_nearest_point_to_point.d.ts.map +0 -1
  1495. package/src/core/geom/3d/line/line3_compute_nearest_point_to_point.js +0 -7
  1496. package/src/core/geom/3d/line/line3_compute_segment_nearest_point_to_aabb3_t.d.ts +0 -7
  1497. package/src/core/geom/3d/line/line3_compute_segment_nearest_point_to_aabb3_t.d.ts.map +0 -1
  1498. package/src/core/geom/3d/line/line3_compute_segment_nearest_point_to_aabb3_t.js +0 -7
  1499. package/src/core/geom/3d/line/line3_compute_segment_nearest_point_to_point_t.d.ts +0 -7
  1500. package/src/core/geom/3d/line/line3_compute_segment_nearest_point_to_point_t.d.ts.map +0 -1
  1501. package/src/core/geom/3d/line/line3_compute_segment_nearest_point_to_point_t.js +0 -7
  1502. package/src/core/geom/3d/mat4/allocate_m4.d.ts +0 -7
  1503. package/src/core/geom/3d/mat4/allocate_m4.d.ts.map +0 -1
  1504. package/src/core/geom/3d/mat4/allocate_m4.js +0 -7
  1505. package/src/core/geom/3d/mat4/apply_mat4_transform_to_direction_v3_array.d.ts +0 -7
  1506. package/src/core/geom/3d/mat4/apply_mat4_transform_to_direction_v3_array.d.ts.map +0 -1
  1507. package/src/core/geom/3d/mat4/apply_mat4_transform_to_direction_v3_array.js +0 -7
  1508. package/src/core/geom/3d/mat4/apply_mat4_transform_to_v3_array.d.ts +0 -7
  1509. package/src/core/geom/3d/mat4/apply_mat4_transform_to_v3_array.d.ts.map +0 -1
  1510. package/src/core/geom/3d/mat4/apply_mat4_transform_to_v3_array.js +0 -7
  1511. package/src/core/geom/3d/mat4/compose_matrix4_array.d.ts +0 -7
  1512. package/src/core/geom/3d/mat4/compose_matrix4_array.d.ts.map +0 -1
  1513. package/src/core/geom/3d/mat4/compose_matrix4_array.js +0 -7
  1514. package/src/core/geom/3d/mat4/decompose_matrix_4_array.d.ts +0 -7
  1515. package/src/core/geom/3d/mat4/decompose_matrix_4_array.d.ts.map +0 -1
  1516. package/src/core/geom/3d/mat4/decompose_matrix_4_array.js +0 -7
  1517. package/src/core/geom/3d/mat4/eulerAnglesFromMatrix.d.ts +0 -7
  1518. package/src/core/geom/3d/mat4/eulerAnglesFromMatrix.d.ts.map +0 -1
  1519. package/src/core/geom/3d/mat4/eulerAnglesFromMatrix.js +0 -7
  1520. package/src/core/geom/3d/mat4/m4_compute_normal_matrix3.d.ts +0 -7
  1521. package/src/core/geom/3d/mat4/m4_compute_normal_matrix3.d.ts.map +0 -1
  1522. package/src/core/geom/3d/mat4/m4_compute_normal_matrix3.js +0 -7
  1523. package/src/core/geom/3d/morton/mortonEncode_LUT.d.ts +0 -7
  1524. package/src/core/geom/3d/morton/mortonEncode_LUT.d.ts.map +0 -1
  1525. package/src/core/geom/3d/morton/mortonEncode_LUT.js +0 -7
  1526. package/src/core/geom/3d/morton/mortonEncode_magicbits.d.ts +0 -7
  1527. package/src/core/geom/3d/morton/mortonEncode_magicbits.d.ts.map +0 -1
  1528. package/src/core/geom/3d/morton/mortonEncode_magicbits.js +0 -7
  1529. package/src/core/geom/3d/normal/hemioct/encode_unit3_hemioct.d.ts +0 -2
  1530. package/src/core/geom/3d/normal/hemioct/encode_unit3_hemioct.d.ts.map +0 -1
  1531. package/src/core/geom/3d/normal/hemioct/encode_unit3_hemioct.js +0 -5
  1532. package/src/core/geom/3d/plane/is_point_within_planes.d.ts +0 -7
  1533. package/src/core/geom/3d/plane/is_point_within_planes.d.ts.map +0 -1
  1534. package/src/core/geom/3d/plane/is_point_within_planes.js +0 -7
  1535. package/src/core/geom/3d/plane/plane3_compute_convex_3_plane_intersection.d.ts +0 -7
  1536. package/src/core/geom/3d/plane/plane3_compute_convex_3_plane_intersection.d.ts.map +0 -1
  1537. package/src/core/geom/3d/plane/plane3_compute_convex_3_plane_intersection.js +0 -7
  1538. package/src/core/geom/3d/plane/plane3_compute_plane_intersection.d.ts +0 -7
  1539. package/src/core/geom/3d/plane/plane3_compute_plane_intersection.d.ts.map +0 -1
  1540. package/src/core/geom/3d/plane/plane3_compute_plane_intersection.js +0 -7
  1541. package/src/core/geom/3d/plane/plane3_intersect_plane.d.ts +0 -7
  1542. package/src/core/geom/3d/plane/plane3_intersect_plane.d.ts.map +0 -1
  1543. package/src/core/geom/3d/plane/plane3_intersect_plane.js +0 -7
  1544. package/src/core/geom/3d/plane/plane3_three_compute_convex_3_plane_intersection.d.ts +0 -7
  1545. package/src/core/geom/3d/plane/plane3_three_compute_convex_3_plane_intersection.d.ts.map +0 -1
  1546. package/src/core/geom/3d/plane/plane3_three_compute_convex_3_plane_intersection.js +0 -7
  1547. package/src/core/geom/3d/quaternion/quat3_createFromAxisAngle.d.ts +0 -7
  1548. package/src/core/geom/3d/quaternion/quat3_createFromAxisAngle.d.ts.map +0 -1
  1549. package/src/core/geom/3d/quaternion/quat3_createFromAxisAngle.js +0 -7
  1550. package/src/core/geom/3d/quaternion/quat_decode_from_uint32.d.ts +0 -7
  1551. package/src/core/geom/3d/quaternion/quat_decode_from_uint32.d.ts.map +0 -1
  1552. package/src/core/geom/3d/quaternion/quat_decode_from_uint32.js +0 -7
  1553. package/src/core/geom/3d/quaternion/quat_encode_to_uint32.d.ts +0 -7
  1554. package/src/core/geom/3d/quaternion/quat_encode_to_uint32.d.ts.map +0 -1
  1555. package/src/core/geom/3d/quaternion/quat_encode_to_uint32.js +0 -7
  1556. package/src/core/geom/3d/ray/ray3_array_compose.d.ts +0 -7
  1557. package/src/core/geom/3d/ray/ray3_array_compose.d.ts.map +0 -1
  1558. package/src/core/geom/3d/ray/ray3_array_compose.js +0 -7
  1559. package/src/core/geom/3d/ray/ray3_compute_nearest_point_to_point.d.ts +0 -7
  1560. package/src/core/geom/3d/ray/ray3_compute_nearest_point_to_point.d.ts.map +0 -1
  1561. package/src/core/geom/3d/ray/ray3_compute_nearest_point_to_point.js +0 -7
  1562. package/src/core/geom/3d/ray/ray3_distance_to_point.d.ts +0 -7
  1563. package/src/core/geom/3d/ray/ray3_distance_to_point.d.ts.map +0 -1
  1564. package/src/core/geom/3d/ray/ray3_distance_to_point.js +0 -7
  1565. package/src/core/geom/3d/ray/ray3_shift_origin_along_direction.d.ts +0 -7
  1566. package/src/core/geom/3d/ray/ray3_shift_origin_along_direction.d.ts.map +0 -1
  1567. package/src/core/geom/3d/ray/ray3_shift_origin_along_direction.js +0 -7
  1568. package/src/core/geom/3d/shape/shape_mesh_from_geometry.d.ts +0 -7
  1569. package/src/core/geom/3d/shape/shape_mesh_from_geometry.d.ts.map +0 -1
  1570. package/src/core/geom/3d/shape/shape_mesh_from_geometry.js +0 -7
  1571. package/src/core/geom/3d/shape/util/shape3d_voxelize_to_grid.d.ts +0 -7
  1572. package/src/core/geom/3d/shape/util/shape3d_voxelize_to_grid.d.ts.map +0 -1
  1573. package/src/core/geom/3d/shape/util/shape3d_voxelize_to_grid.js +0 -7
  1574. package/src/core/geom/3d/sphere/compute_bounding_sphere_of_2_spheres.d.ts +0 -7
  1575. package/src/core/geom/3d/sphere/compute_bounding_sphere_of_2_spheres.d.ts.map +0 -1
  1576. package/src/core/geom/3d/sphere/compute_bounding_sphere_of_2_spheres.js +0 -7
  1577. package/src/core/geom/3d/sphere/harmonics/sh3_rotate_bl.d.ts +0 -7
  1578. package/src/core/geom/3d/sphere/harmonics/sh3_rotate_bl.d.ts.map +0 -1
  1579. package/src/core/geom/3d/sphere/harmonics/sh3_rotate_bl.js +0 -7
  1580. package/src/core/geom/3d/sphere/harmonics/sh_compute_K.d.ts +0 -7
  1581. package/src/core/geom/3d/sphere/harmonics/sh_compute_K.d.ts.map +0 -1
  1582. package/src/core/geom/3d/sphere/harmonics/sh_compute_K.js +0 -7
  1583. package/src/core/geom/3d/sphere/sphere_array_intersects_point.d.ts +0 -7
  1584. package/src/core/geom/3d/sphere/sphere_array_intersects_point.d.ts.map +0 -1
  1585. package/src/core/geom/3d/sphere/sphere_array_intersects_point.js +0 -7
  1586. package/src/core/geom/3d/sphere/sphere_array_intersects_ray.d.ts +0 -7
  1587. package/src/core/geom/3d/sphere/sphere_array_intersects_ray.d.ts.map +0 -1
  1588. package/src/core/geom/3d/sphere/sphere_array_intersects_ray.js +0 -7
  1589. package/src/core/geom/3d/sphere/sphere_intersects_point.d.ts +0 -7
  1590. package/src/core/geom/3d/sphere/sphere_intersects_point.d.ts.map +0 -1
  1591. package/src/core/geom/3d/sphere/sphere_intersects_point.js +0 -7
  1592. package/src/core/geom/3d/sphere/sphere_projected_sphere_radius_sqr.d.ts +0 -7
  1593. package/src/core/geom/3d/sphere/sphere_projected_sphere_radius_sqr.d.ts.map +0 -1
  1594. package/src/core/geom/3d/sphere/sphere_projected_sphere_radius_sqr.js +0 -7
  1595. package/src/core/geom/3d/sphere/sphere_radius_sqr_from_v3_array_transformed.d.ts +0 -7
  1596. package/src/core/geom/3d/sphere/sphere_radius_sqr_from_v3_array_transformed.d.ts.map +0 -1
  1597. package/src/core/geom/3d/sphere/sphere_radius_sqr_from_v3_array_transformed.js +0 -7
  1598. package/src/core/geom/3d/sphere/spherical_from_cartesian.d.ts +0 -7
  1599. package/src/core/geom/3d/sphere/spherical_from_cartesian.d.ts.map +0 -1
  1600. package/src/core/geom/3d/sphere/spherical_from_cartesian.js +0 -7
  1601. package/src/core/geom/3d/tetrahedra/compute_tetrahedron_quality.d.ts +0 -7
  1602. package/src/core/geom/3d/tetrahedra/compute_tetrahedron_quality.d.ts.map +0 -1
  1603. package/src/core/geom/3d/tetrahedra/compute_tetrahedron_quality.js +0 -7
  1604. package/src/core/geom/3d/tetrahedra/compute_tetrahedron_volume.d.ts +0 -7
  1605. package/src/core/geom/3d/tetrahedra/compute_tetrahedron_volume.d.ts.map +0 -1
  1606. package/src/core/geom/3d/tetrahedra/compute_tetrahedron_volume.js +0 -7
  1607. package/src/core/geom/3d/tetrahedra/delaunay/fill_in_a_cavity.d.ts +0 -7
  1608. package/src/core/geom/3d/tetrahedra/delaunay/fill_in_a_cavity.d.ts.map +0 -1
  1609. package/src/core/geom/3d/tetrahedra/delaunay/fill_in_a_cavity.js +0 -7
  1610. package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_tet_get_neighbours.d.ts +0 -7
  1611. package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_tet_get_neighbours.d.ts.map +0 -1
  1612. package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_tet_get_neighbours.js +0 -7
  1613. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_compute_vertex_quadratics.d.ts +0 -7
  1614. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_compute_vertex_quadratics.d.ts.map +0 -1
  1615. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_compute_vertex_quadratics.js +0 -7
  1616. package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_kill_only_vert.d.ts +0 -7
  1617. package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_kill_only_vert.d.ts.map +0 -1
  1618. package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_kill_only_vert.js +0 -7
  1619. package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_merge_verts_by_distance.d.ts +0 -7
  1620. package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_merge_verts_by_distance.d.ts.map +0 -1
  1621. package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_merge_verts_by_distance.js +0 -7
  1622. package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vert_fuse_duplicate_edges.d.ts +0 -7
  1623. package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vert_fuse_duplicate_edges.d.ts.map +0 -1
  1624. package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vert_fuse_duplicate_edges.js +0 -7
  1625. package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vert_kill.d.ts +0 -7
  1626. package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vert_kill.d.ts.map +0 -1
  1627. package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vert_kill.js +0 -7
  1628. package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_attached_faces.d.ts +0 -7
  1629. package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_attached_faces.d.ts.map +0 -1
  1630. package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_attached_faces.js +0 -7
  1631. package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_neighbour_faces.d.ts +0 -7
  1632. package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_neighbour_faces.d.ts.map +0 -1
  1633. package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_neighbour_faces.js +0 -7
  1634. package/src/core/geom/3d/topology/struct/binary/query/bt_faces_shared_loop.d.ts +0 -7
  1635. package/src/core/geom/3d/topology/struct/binary/query/bt_faces_shared_loop.d.ts.map +0 -1
  1636. package/src/core/geom/3d/topology/struct/binary/query/bt_faces_shared_loop.js +0 -7
  1637. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_count_edge_faces.d.ts +0 -8
  1638. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_count_edge_faces.d.ts.map +0 -1
  1639. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_count_edge_faces.js +0 -8
  1640. package/src/core/geom/3d/topology/struct/binary/query/bt_query_edge_is_boundary.d.ts +0 -7
  1641. package/src/core/geom/3d/topology/struct/binary/query/bt_query_edge_is_boundary.d.ts.map +0 -1
  1642. package/src/core/geom/3d/topology/struct/binary/query/bt_query_edge_is_boundary.js +0 -7
  1643. package/src/core/geom/3d/triangle/computeTriangleClosestPointToPointBarycentric.d.ts +0 -7
  1644. package/src/core/geom/3d/triangle/computeTriangleClosestPointToPointBarycentric.d.ts.map +0 -1
  1645. package/src/core/geom/3d/triangle/computeTriangleClosestPointToPointBarycentric.js +0 -7
  1646. package/src/core/geom/3d/triangle/computeTriangleRayIntersection.d.ts +0 -7
  1647. package/src/core/geom/3d/triangle/computeTriangleRayIntersection.d.ts.map +0 -1
  1648. package/src/core/geom/3d/triangle/computeTriangleRayIntersection.js +0 -7
  1649. package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentric.d.ts +0 -7
  1650. package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentric.d.ts.map +0 -1
  1651. package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentric.js +0 -7
  1652. package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentricEdge.d.ts +0 -7
  1653. package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentricEdge.d.ts.map +0 -1
  1654. package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentricEdge.js +0 -7
  1655. package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentricGeometry.d.ts +0 -7
  1656. package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentricGeometry.d.ts.map +0 -1
  1657. package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentricGeometry.js +0 -7
  1658. package/src/core/geom/3d/triangle/compute_triangle_area_3d.d.ts +0 -7
  1659. package/src/core/geom/3d/triangle/compute_triangle_area_3d.d.ts.map +0 -1
  1660. package/src/core/geom/3d/triangle/compute_triangle_area_3d.js +0 -7
  1661. package/src/core/geom/3d/triangle/compute_triangle_normal.d.ts +0 -7
  1662. package/src/core/geom/3d/triangle/compute_triangle_normal.d.ts.map +0 -1
  1663. package/src/core/geom/3d/triangle/compute_triangle_normal.js +0 -7
  1664. package/src/core/geom/3d/triangle/rayTriangleIntersection.d.ts +0 -7
  1665. package/src/core/geom/3d/triangle/rayTriangleIntersection.d.ts.map +0 -1
  1666. package/src/core/geom/3d/triangle/rayTriangleIntersection.js +0 -7
  1667. package/src/core/geom/3d/triangle/triangle3_incenter.d.ts +0 -7
  1668. package/src/core/geom/3d/triangle/triangle3_incenter.d.ts.map +0 -1
  1669. package/src/core/geom/3d/triangle/triangle3_incenter.js +0 -7
  1670. package/src/core/geom/3d/triangle/triangle_compute_plane_side.d.ts +0 -7
  1671. package/src/core/geom/3d/triangle/triangle_compute_plane_side.d.ts.map +0 -1
  1672. package/src/core/geom/3d/triangle/triangle_compute_plane_side.js +0 -7
  1673. package/src/core/geom/3d/triangle/triangle_compute_signed_volume.d.ts +0 -7
  1674. package/src/core/geom/3d/triangle/triangle_compute_signed_volume.d.ts.map +0 -1
  1675. package/src/core/geom/3d/triangle/triangle_compute_signed_volume.js +0 -7
  1676. package/src/core/geom/3d/triangle/triangle_intersects_clipping_volume.d.ts +0 -7
  1677. package/src/core/geom/3d/triangle/triangle_intersects_clipping_volume.d.ts.map +0 -1
  1678. package/src/core/geom/3d/triangle/triangle_intersects_clipping_volume.js +0 -7
  1679. package/src/core/geom/3d/triangle/triangle_mesh_compute_signed_volume.d.ts +0 -7
  1680. package/src/core/geom/3d/triangle/triangle_mesh_compute_signed_volume.d.ts.map +0 -1
  1681. package/src/core/geom/3d/triangle/triangle_mesh_compute_signed_volume.js +0 -7
  1682. package/src/core/geom/3d/triangle/v3_compute_triangle_normal.d.ts +0 -7
  1683. package/src/core/geom/3d/triangle/v3_compute_triangle_normal.d.ts.map +0 -1
  1684. package/src/core/geom/3d/triangle/v3_compute_triangle_normal.js +0 -7
  1685. package/src/core/geom/3d/util/make_justified_point_grid.d.ts +0 -7
  1686. package/src/core/geom/3d/util/make_justified_point_grid.d.ts.map +0 -1
  1687. package/src/core/geom/3d/util/make_justified_point_grid.js +0 -7
  1688. package/src/core/geom/mat3/m3_cm_from_translation.d.ts +0 -7
  1689. package/src/core/geom/mat3/m3_cm_from_translation.d.ts.map +0 -1
  1690. package/src/core/geom/mat3/m3_cm_from_translation.js +0 -7
  1691. package/src/core/geom/mat3/m3_cm_invert.d.ts +0 -7
  1692. package/src/core/geom/mat3/m3_cm_invert.d.ts.map +0 -1
  1693. package/src/core/geom/mat3/m3_cm_invert.js +0 -7
  1694. package/src/core/geom/mat3/m3_make_rotation.d.ts +0 -2
  1695. package/src/core/geom/mat3/m3_make_rotation.d.ts.map +0 -1
  1696. package/src/core/geom/mat3/m3_make_rotation.js +0 -5
  1697. package/src/core/geom/mat3/m3_multiply_vec3.d.ts +0 -7
  1698. package/src/core/geom/mat3/m3_multiply_vec3.d.ts.map +0 -1
  1699. package/src/core/geom/mat3/m3_multiply_vec3.js +0 -7
  1700. package/src/core/geom/packing/computeBoundingSphereOfSpheres.d.ts +0 -7
  1701. package/src/core/geom/packing/computeBoundingSphereOfSpheres.d.ts.map +0 -1
  1702. package/src/core/geom/packing/computeBoundingSphereOfSpheres.js +0 -7
  1703. package/src/core/geom/packing/max-rect/cost/costByBestShortSide.d.ts +0 -7
  1704. package/src/core/geom/packing/max-rect/cost/costByBestShortSide.d.ts.map +0 -1
  1705. package/src/core/geom/packing/max-rect/cost/costByBestShortSide.js +0 -7
  1706. package/src/core/geom/packing/max-rect/cost/costByRemainingArea.d.ts +0 -7
  1707. package/src/core/geom/packing/max-rect/cost/costByRemainingArea.d.ts.map +0 -1
  1708. package/src/core/geom/packing/max-rect/cost/costByRemainingArea.js +0 -7
  1709. package/src/core/geom/packing/max-rect/cutArea.d.ts +0 -7
  1710. package/src/core/geom/packing/max-rect/cutArea.d.ts.map +0 -1
  1711. package/src/core/geom/packing/max-rect/cutArea.js +0 -7
  1712. package/src/core/geom/packing/max-rect/findBestContainer.d.ts +0 -7
  1713. package/src/core/geom/packing/max-rect/findBestContainer.d.ts.map +0 -1
  1714. package/src/core/geom/packing/max-rect/findBestContainer.js +0 -7
  1715. package/src/core/geom/packing/max-rect/packMaxRectangles.d.ts +0 -7
  1716. package/src/core/geom/packing/max-rect/packMaxRectangles.d.ts.map +0 -1
  1717. package/src/core/geom/packing/max-rect/packMaxRectangles.js +0 -7
  1718. package/src/core/geom/packing/max-rect/packOneBox.d.ts +0 -7
  1719. package/src/core/geom/packing/max-rect/packOneBox.d.ts.map +0 -1
  1720. package/src/core/geom/packing/max-rect/packOneBox.js +0 -7
  1721. package/src/core/geom/packing/max-rect/removeRedundantBoxes.d.ts +0 -7
  1722. package/src/core/geom/packing/max-rect/removeRedundantBoxes.d.ts.map +0 -1
  1723. package/src/core/geom/packing/max-rect/removeRedundantBoxes.js +0 -7
  1724. package/src/core/geom/packing/max-rect/removeRedundantBoxesArray.d.ts +0 -7
  1725. package/src/core/geom/packing/max-rect/removeRedundantBoxesArray.d.ts.map +0 -1
  1726. package/src/core/geom/packing/max-rect/removeRedundantBoxesArray.js +0 -7
  1727. package/src/core/geom/random/randomPointInBox.d.ts +0 -7
  1728. package/src/core/geom/random/randomPointInBox.d.ts.map +0 -1
  1729. package/src/core/geom/random/randomPointInBox.js +0 -7
  1730. package/src/core/geom/random/randomPointInCircle.d.ts +0 -7
  1731. package/src/core/geom/random/randomPointInCircle.d.ts.map +0 -1
  1732. package/src/core/geom/random/randomPointInCircle.js +0 -7
  1733. package/src/core/geom/random/randomPointInPoint.d.ts +0 -7
  1734. package/src/core/geom/random/randomPointInPoint.d.ts.map +0 -1
  1735. package/src/core/geom/random/randomPointInPoint.js +0 -7
  1736. package/src/core/geom/random/randomPointInSphere.d.ts +0 -7
  1737. package/src/core/geom/random/randomPointInSphere.d.ts.map +0 -1
  1738. package/src/core/geom/random/randomPointInSphere.js +0 -7
  1739. package/src/core/geom/random/randomPointOnBox.d.ts +0 -7
  1740. package/src/core/geom/random/randomPointOnBox.d.ts.map +0 -1
  1741. package/src/core/geom/random/randomPointOnBox.js +0 -7
  1742. package/src/core/geom/random/randomPointOnSphere.d.ts +0 -7
  1743. package/src/core/geom/random/randomPointOnSphere.d.ts.map +0 -1
  1744. package/src/core/geom/random/randomPointOnSphere.js +0 -7
  1745. package/src/core/geom/vec/vector_copy.d.ts +0 -7
  1746. package/src/core/geom/vec/vector_copy.d.ts.map +0 -1
  1747. package/src/core/geom/vec/vector_copy.js +0 -7
  1748. package/src/core/geom/vec/vector_scale_array.d.ts +0 -7
  1749. package/src/core/geom/vec/vector_scale_array.d.ts.map +0 -1
  1750. package/src/core/geom/vec/vector_scale_array.js +0 -7
  1751. package/src/core/geom/vec3/v3_angle_atan2_between.d.ts +0 -7
  1752. package/src/core/geom/vec3/v3_angle_atan2_between.d.ts.map +0 -1
  1753. package/src/core/geom/vec3/v3_angle_atan2_between.js +0 -7
  1754. package/src/core/geom/vec3/v3_angle_between.d.ts +0 -7
  1755. package/src/core/geom/vec3/v3_angle_between.d.ts.map +0 -1
  1756. package/src/core/geom/vec3/v3_angle_between.js +0 -7
  1757. package/src/core/geom/vec3/v3_angle_cos_between.d.ts +0 -7
  1758. package/src/core/geom/vec3/v3_angle_cos_between.d.ts.map +0 -1
  1759. package/src/core/geom/vec3/v3_angle_cos_between.js +0 -7
  1760. package/src/core/geom/vec3/v3_array_add_in_place.d.ts +0 -7
  1761. package/src/core/geom/vec3/v3_array_add_in_place.d.ts.map +0 -1
  1762. package/src/core/geom/vec3/v3_array_add_in_place.js +0 -7
  1763. package/src/core/geom/vec3/v3_array_centroid.d.ts +0 -7
  1764. package/src/core/geom/vec3/v3_array_centroid.d.ts.map +0 -1
  1765. package/src/core/geom/vec3/v3_array_centroid.js +0 -7
  1766. package/src/core/geom/vec3/v3_array_copy.d.ts +0 -7
  1767. package/src/core/geom/vec3/v3_array_copy.d.ts.map +0 -1
  1768. package/src/core/geom/vec3/v3_array_copy.js +0 -7
  1769. package/src/core/geom/vec3/v3_array_displace_in_direction.d.ts +0 -7
  1770. package/src/core/geom/vec3/v3_array_displace_in_direction.d.ts.map +0 -1
  1771. package/src/core/geom/vec3/v3_array_displace_in_direction.js +0 -7
  1772. package/src/core/geom/vec3/v3_array_equals.d.ts +0 -7
  1773. package/src/core/geom/vec3/v3_array_equals.d.ts.map +0 -1
  1774. package/src/core/geom/vec3/v3_array_equals.js +0 -7
  1775. package/src/core/geom/vec3/v3_array_immediate_add.d.ts +0 -7
  1776. package/src/core/geom/vec3/v3_array_immediate_add.d.ts.map +0 -1
  1777. package/src/core/geom/vec3/v3_array_immediate_add.js +0 -7
  1778. package/src/core/geom/vec3/v3_array_matrix4_rotate.d.ts +0 -7
  1779. package/src/core/geom/vec3/v3_array_matrix4_rotate.d.ts.map +0 -1
  1780. package/src/core/geom/vec3/v3_array_matrix4_rotate.js +0 -7
  1781. package/src/core/geom/vec3/v3_array_normalize.d.ts +0 -7
  1782. package/src/core/geom/vec3/v3_array_normalize.d.ts.map +0 -1
  1783. package/src/core/geom/vec3/v3_array_normalize.js +0 -7
  1784. package/src/core/geom/vec3/v3_array_scale.d.ts +0 -7
  1785. package/src/core/geom/vec3/v3_array_scale.d.ts.map +0 -1
  1786. package/src/core/geom/vec3/v3_array_scale.js +0 -7
  1787. package/src/core/geom/vec3/v3_compute_interior_angle.d.ts +0 -7
  1788. package/src/core/geom/vec3/v3_compute_interior_angle.d.ts.map +0 -1
  1789. package/src/core/geom/vec3/v3_compute_interior_angle.js +0 -7
  1790. package/src/core/geom/vec3/v3_dot_array_array.d.ts +0 -7
  1791. package/src/core/geom/vec3/v3_dot_array_array.d.ts.map +0 -1
  1792. package/src/core/geom/vec3/v3_dot_array_array.js +0 -7
  1793. package/src/core/geom/vec3/v3_matrix4_rotate.d.ts +0 -7
  1794. package/src/core/geom/vec3/v3_matrix4_rotate.d.ts.map +0 -1
  1795. package/src/core/geom/vec3/v3_matrix4_rotate.js +0 -7
  1796. package/src/core/geom/vec3/v3_multiply_scalar.d.ts +0 -7
  1797. package/src/core/geom/vec3/v3_multiply_scalar.d.ts.map +0 -1
  1798. package/src/core/geom/vec3/v3_multiply_scalar.js +0 -7
  1799. package/src/core/geom/vec3/v3_quat3_apply.d.ts +0 -7
  1800. package/src/core/geom/vec3/v3_quat3_apply.d.ts.map +0 -1
  1801. package/src/core/geom/vec3/v3_quat3_apply.js +0 -7
  1802. package/src/core/geom/vec3/v3_quat3_apply_inverse.d.ts +0 -7
  1803. package/src/core/geom/vec3/v3_quat3_apply_inverse.d.ts.map +0 -1
  1804. package/src/core/geom/vec3/v3_quat3_apply_inverse.js +0 -7
  1805. package/src/core/geom/vec3/v3_triple_cross_product.d.ts +0 -7
  1806. package/src/core/geom/vec3/v3_triple_cross_product.d.ts.map +0 -1
  1807. package/src/core/geom/vec3/v3_triple_cross_product.js +0 -7
  1808. package/src/core/geom/vec4/v4_multiply_mat4.d.ts +0 -7
  1809. package/src/core/geom/vec4/v4_multiply_mat4.d.ts.map +0 -1
  1810. package/src/core/geom/vec4/v4_multiply_mat4.js +0 -7
  1811. package/src/core/math/fabsf.d.ts +0 -6
  1812. package/src/core/math/fabsf.d.ts.map +0 -1
  1813. package/src/core/math/fabsf.js +0 -6
  1814. package/src/core/model/object/optional_equality.d.ts +0 -10
  1815. package/src/core/model/object/optional_equality.d.ts.map +0 -1
  1816. package/src/core/model/object/optional_equality.js +0 -27
  1817. package/src/core/primitives/strings/string_compute_byte_size.d.ts +0 -7
  1818. package/src/core/primitives/strings/string_compute_byte_size.d.ts.map +0 -1
  1819. package/src/core/primitives/strings/string_compute_byte_size.js +0 -21
  1820. package/src/engine/graphics/FrameThrottle.d.ts +0 -2
  1821. package/src/engine/graphics/FrameThrottle.d.ts.map +0 -1
  1822. package/src/engine/graphics/FrameThrottle.js +0 -2
  1823. package/src/engine/graphics/sh3/path_tracer/geometry/compute_triangle_group_aabb3.d.ts +0 -2
  1824. package/src/engine/graphics/sh3/path_tracer/geometry/compute_triangle_group_aabb3.d.ts.map +0 -1
  1825. package/src/engine/graphics/sh3/path_tracer/geometry/compute_triangle_group_aabb3.js +0 -2
  1826. package/src/engine/graphics/texture/isImageBitmap.d.ts +0 -2
  1827. package/src/engine/graphics/texture/isImageBitmap.d.ts.map +0 -1
  1828. package/src/engine/graphics/texture/isImageBitmap.js +0 -2
  1829. package/src/engine/graphics3/AnimationGraphSystem3.d.ts +0 -10
  1830. package/src/engine/graphics3/AnimationGraphSystem3.d.ts.map +0 -1
  1831. package/src/engine/graphics3/AnimationGraphSystem3.js +0 -10
  1832. package/src/engine/graphics3/AnimationSystem3.d.ts +0 -10
  1833. package/src/engine/graphics3/AnimationSystem3.d.ts.map +0 -1
  1834. package/src/engine/graphics3/AnimationSystem3.js +0 -10
  1835. package/src/engine/graphics3/CameraSystem3.d.ts +0 -10
  1836. package/src/engine/graphics3/CameraSystem3.d.ts.map +0 -1
  1837. package/src/engine/graphics3/CameraSystem3.js +0 -10
  1838. package/src/engine/graphics3/DebugDrawSystem3.d.ts +0 -10
  1839. package/src/engine/graphics3/DebugDrawSystem3.d.ts.map +0 -1
  1840. package/src/engine/graphics3/DebugDrawSystem3.js +0 -10
  1841. package/src/engine/graphics3/DecalSystem3.d.ts +0 -10
  1842. package/src/engine/graphics3/DecalSystem3.d.ts.map +0 -1
  1843. package/src/engine/graphics3/DecalSystem3.js +0 -10
  1844. package/src/engine/graphics3/FogOfWarSystem3.d.ts +0 -10
  1845. package/src/engine/graphics3/FogOfWarSystem3.d.ts.map +0 -1
  1846. package/src/engine/graphics3/FogOfWarSystem3.js +0 -10
  1847. package/src/engine/graphics3/GraphicsEngine3.d.ts +0 -10
  1848. package/src/engine/graphics3/GraphicsEngine3.d.ts.map +0 -1
  1849. package/src/engine/graphics3/GraphicsEngine3.js +0 -10
  1850. package/src/engine/graphics3/HighlightSystem.d.ts +0 -19
  1851. package/src/engine/graphics3/HighlightSystem.d.ts.map +0 -1
  1852. package/src/engine/graphics3/HighlightSystem.js +0 -27
  1853. package/src/engine/graphics3/HighlightSystem3.d.ts +0 -13
  1854. package/src/engine/graphics3/HighlightSystem3.d.ts.map +0 -1
  1855. package/src/engine/graphics3/HighlightSystem3.js +0 -15
  1856. package/src/engine/graphics3/LightSystem3.d.ts +0 -10
  1857. package/src/engine/graphics3/LightSystem3.d.ts.map +0 -1
  1858. package/src/engine/graphics3/LightSystem3.js +0 -10
  1859. package/src/engine/graphics3/MeshSystem3.d.ts +0 -10
  1860. package/src/engine/graphics3/MeshSystem3.d.ts.map +0 -1
  1861. package/src/engine/graphics3/MeshSystem3.js +0 -10
  1862. package/src/engine/graphics3/ParticipatingMediaSystem3.d.ts +0 -10
  1863. package/src/engine/graphics3/ParticipatingMediaSystem3.d.ts.map +0 -1
  1864. package/src/engine/graphics3/ParticipatingMediaSystem3.js +0 -10
  1865. package/src/engine/graphics3/PathDisplaySystem3.d.ts +0 -10
  1866. package/src/engine/graphics3/PathDisplaySystem3.d.ts.map +0 -1
  1867. package/src/engine/graphics3/PathDisplaySystem3.js +0 -10
  1868. package/src/engine/graphics3/PickingSystem3.d.ts +0 -10
  1869. package/src/engine/graphics3/PickingSystem3.d.ts.map +0 -1
  1870. package/src/engine/graphics3/PickingSystem3.js +0 -10
  1871. package/src/engine/graphics3/ShadedGeometrySystem3.d.ts +0 -10
  1872. package/src/engine/graphics3/ShadedGeometrySystem3.d.ts.map +0 -1
  1873. package/src/engine/graphics3/ShadedGeometrySystem3.js +0 -10
  1874. package/src/engine/graphics3/TerrainSystem3.d.ts +0 -10
  1875. package/src/engine/graphics3/TerrainSystem3.d.ts.map +0 -1
  1876. package/src/engine/graphics3/TerrainSystem3.js +0 -10
  1877. package/src/engine/graphics3/TooltipComponentSystem3.d.ts +0 -10
  1878. package/src/engine/graphics3/TooltipComponentSystem3.d.ts.map +0 -1
  1879. package/src/engine/graphics3/TooltipComponentSystem3.js +0 -10
  1880. package/src/engine/graphics3/Trail3DSystem3.d.ts +0 -10
  1881. package/src/engine/graphics3/Trail3DSystem3.d.ts.map +0 -1
  1882. package/src/engine/graphics3/Trail3DSystem3.js +0 -10
  1883. package/src/engine/graphics3/VolumetricLightMapSystem3.d.ts +0 -10
  1884. package/src/engine/graphics3/VolumetricLightMapSystem3.d.ts.map +0 -1
  1885. package/src/engine/graphics3/VolumetricLightMapSystem3.js +0 -10
  1886. package/src/engine/graphics3/WaterSystem3.d.ts +0 -10
  1887. package/src/engine/graphics3/WaterSystem3.d.ts.map +0 -1
  1888. package/src/engine/graphics3/WaterSystem3.js +0 -10
  1889. package/src/engine/network/PriorityFetch.d.ts +0 -59
  1890. package/src/engine/network/PriorityFetch.d.ts.map +0 -1
  1891. package/src/engine/network/PriorityFetch.js +0 -193
  1892. package/src/engine/network/convertPathToURL.d.ts +0 -2
  1893. package/src/engine/network/convertPathToURL.d.ts.map +0 -1
  1894. package/src/engine/network/convertPathToURL.js +0 -2
  1895. package/src/format/image/png/crc32.d.ts +0 -2
  1896. package/src/format/image/png/crc32.d.ts.map +0 -1
  1897. package/src/format/image/png/crc32.js +0 -7
  1898. package/src/generation/foliage/config/BranchLevelConfig.d.ts +0 -288
  1899. package/src/generation/foliage/config/BranchLevelConfig.d.ts.map +0 -1
  1900. package/src/generation/foliage/config/BranchLevelConfig.js +0 -536
  1901. package/src/shade/renderer/camera/OrbitalCameraController.d.ts +0 -63
  1902. package/src/shade/renderer/camera/OrbitalCameraController.d.ts.map +0 -1
  1903. package/src/shade/renderer/camera/OrbitalCameraController.js +0 -374
  1904. package/src/shade/renderer/deferred/chunk_shade_standard_material_direct_heavy.d.ts +0 -16
  1905. package/src/shade/renderer/deferred/chunk_shade_standard_material_direct_heavy.d.ts.map +0 -1
  1906. package/src/shade/renderer/deferred/chunk_shade_standard_material_direct_heavy.js +0 -17
  1907. package/src/shade/renderer/geometry/sdf/SDF_BUILD_SETTINGS_STRUCT.js +0 -8
  1908. package/src/shade/renderer/geometry/sdf/SFD_BUILD_WORKGROUP_SIZE.js +0 -1
  1909. package/src/shade/renderer/geometry/sdf/chunk_blas_query_sdf.js +0 -49
  1910. package/src/shade/renderer/geometry/sdf/chunk_blas_query_volume_sign.js +0 -90
  1911. package/src/shade/renderer/geometry/sdf/shader_build_sdf.js +0 -126
  1912. package/src/shade/renderer/light/environment/octahedral_uv_to_direction.d.ts +0 -8
  1913. package/src/shade/renderer/light/environment/octahedral_uv_to_direction.d.ts.map +0 -1
  1914. package/src/shade/renderer/light/environment/octahedral_uv_to_direction.js +0 -10
  1915. package/src/shade/renderer/particles/shaders/shader_particle_init_free_list.js +0 -62
  1916. package/src/shade/renderer/shadow/vsm/VSMMoverTracker.js +0 -153
  1917. package/src/shade/renderer/shadow/vsm/VSM_MOVER_LAYOUT.js +0 -75
  1918. package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_append_mover.js +0 -32
  1919. package/src/shade/renderer/shadow/vsm/shader/shader_vsm_movers.js +0 -184
  1920. package/src/shade/renderer/shadow/vsm/shader/shader_vsm_skinned_movers.js +0 -109
@@ -0,0 +1,220 @@
1
+ # Annual Shoots: Leaves on Real-Sized Shoots
2
+
3
+ ## Problem
4
+
5
+ The oak's leaf cards are a median 0.90 m long (species card 0.95 x 0.85 m). Each draws 5 leaves at about 0.3-0.4 m
6
+ against a real 6-12 cm, and each moves as one rigid plate, so wind displaces large patches of the crown together. The
7
+ cards are big because they stand in for twigs the skeleton never grows: the oak's leaf carriers (generator 2) are a
8
+ median 1.24 m long, where a current-year oak shoot averages 5.5 cm.
9
+
10
+ Shrinking the cards alone thins the crown: at 0.25 m cards the oak's leaf area falls from 163 to 45 m^2 and its side
11
+ opacity from 0.75 to 0.33, because the density rule ties leaf area per metre of carrier to card size. (Both opacities
12
+ came from a raster window that clipped the crown; see "Landed".)
13
+
14
+ ## Sources
15
+
16
+ **[BB2000]** Buck-Sorlin, G.H. & Bell, A.D. (2000). Models of crown architecture in *Quercus petraea* and *Q. robur*:
17
+ shoot lengths and bud numbers. *Forestry* 73(1): 1-19. Peripheral branches at mid-crown of two *Q. petraea* (70-120
18
+ years) and one *Q. robur* (30 years); no difference found between the species in bud patterns or length distributions.
19
+
20
+ | Quantity | Value | Where |
21
+ | :--- | :--- | :--- |
22
+ | Extension unit (one season's shoot) length, all oaks | mean 5.5 cm, median 3.8 cm, sd 5.0 | Table 4 |
23
+ | Same, the *Q. robur* | mean 7.2 cm, median 5.8 cm | Table 4 |
24
+ | Longest shoot by branching order | 30 cm (order 1) to 8 cm (order 4) | p. 9 |
25
+ | Modal length | 3 cm (order 1) to 2 cm (order 4) | p. 9 |
26
+ | Length distribution | negative binomial, orders 1-2 (p = 0.58, 0.60); Poisson with mean - 1, orders 3-4 | p. 10-11 |
27
+ | Terminal shoot length | 11.7 +- 6.1 cm, about 1-31 cm | p. 11-12 |
28
+ | Lateral lengths, subapical zone (0.8-0.99) | means 3.4-9.0 cm | p. 11 |
29
+ | Lateral lengths, median zone (0.3-0.55) | means 3.4-7.0 cm, at most about 15 cm | p. 11 |
30
+ | Where laterals grow out | none below 0.3; 23.3% at 0.3-0.55; almost none at 0.55-0.8 (female flowers); 71.4% at 0.8-0.99 | p. 11, Fig. 7 |
31
+ | Share of all new shoots | subapical-zone laterals 44.4%, median-zone laterals 14.4% | p. 11 |
32
+ | Subapical buds (pseudo-whorl under the terminal bud) | almost always 4 | p. 7, 17 |
33
+ | Median buds | modal 6-10, range 0-21; length = 0.98 m - 2.7 cm (all orders) | p. 8, Table 5 |
34
+ | Shoot types | spring flush 92.7%, Lammas 5.2%, sylleptic 2.1% | Table 3 |
35
+ | Current shoot diameter | d = 0.27 + 0.02 l (cm), never above 5.5 mm | Table 7, p. 13 |
36
+ | Branching orders on a branch | up to 7 | p. 15 |
37
+
38
+ Subapical and median buds each sit in the axil of a leaf; basal buds have none (footnote 3, p. 5).
39
+
40
+ **[BB1998]** Buck-Sorlin, G.H. & Bell, A.D. (1998). A quantification of shoot shedding in pedunculate oak (*Quercus
41
+ robur* L.). *Botanical Journal of the Linnean Society* 127: 371-391. Everything shed in one year by one free-standing
42
+ *Q. robur* (about 14 m, 40 years).
43
+
44
+ | Quantity | Value | Where |
45
+ | :--- | :--- | :--- |
46
+ | Shoot fragments shed in a year | 14,767 (13,185 actively shed, 1,582 broken) | p. 376 |
47
+ | Age of shed fragments with current growth | 21.3% current, 33.8% 1 year, 21.6% 2 years, 23.3% 3-10 years | p. 382-383 |
48
+ | Unbranched / a single extension unit | 70.5% / 35.8% (live); 90.7% / 66.6% (dead) | p. 381 |
49
+ | Longest extension unit under 5 cm | 83.7% | p. 377 |
50
+ | Most at risk | the highest branching orders; short shoots whose terminal bud seldom extends the axis | p. 388 |
51
+ | Where | shoots up to about 10 years old: the outer metre of the crown | p. 388 |
52
+ | How | always at the base of a module (the axis from one bud), never along it | p. 388 |
53
+ | Net effect | "the surplus of peripheral shoots apparently produced every year is mostly thinned out within 2 years" | p. 388 |
54
+
55
+ **[W1989]** Wilson, B.F. (1989). Tree branches as populations of twigs. *Can. J. Bot.* 67: 434-442, as cited in
56
+ [BB2000] p. 15: twig populations fluctuate but show no long-term change in numbers.
57
+
58
+ **[TP2015]** *Tree Physiology* (2015) table comparing *Q. robur* and *Q. faginea*: 11.2 +- 0.9 leaves per shoot. The age
59
+ of the trees is not stated.
60
+
61
+ ## Derived
62
+
63
+ - **Shoots per mother shoot per year: about 2.65.** On [BB2000]'s branch o1b1, laterals were 44.4% + 14.4% of new
64
+ shoots, which is 71.4% + 23.3% of laterals, so laterals were 62.2% of all new shoots and terminals 37.8%. If every
65
+ mother shoot grew its terminal bud, each yielded 1 terminal, 1.17 subapical laterals (29% of its 4 subapical buds)
66
+ and 0.38 median laterals.
67
+ - **Survival: about 38% of new shoots a year.** A population that holds steady [W1989] keeps 1 / 2.65 of what it
68
+ produces, which matches "mostly thinned out within 2 years" [BB1998].
69
+ - **Leaves per shoot: 4 + median buds**, 9-14 for typical lengths, against 11.2 in [TP2015].
70
+
71
+ ## Decisions
72
+
73
+ Alex's direction (2026-10-25): appearance, flexibility and working well with the other parameters come before
74
+ real-world accuracy.
75
+
76
+ 1. **The leaf-bearing unit is the current-year shoot.** A deciduous oak's leaves sit on this year's growth only. One
77
+ card per current-year shoot draws that shoot's leaves crowded at its tip (a new `rosette` leaf arrangement in the
78
+ atlas). The card covers the shoot plus its leaves, about 0.2 m for the oak.
79
+ 2. **The peripheral twig system is grown year by year** in a pass after the framework, from an explicit rule list,
80
+ `TreeSpeciesConfig.shoot_rules` (`ShootSystemRule`: carrier generator, shoot generator, years, vigour, and the
81
+ demography above as defaults). The shoot generator is an ordinary `BranchGeneratorConfig` for the twigs' look. A
82
+ module (the axis grown from one bud) is one skeleton branch, one segment per year, so shedding removes a module at
83
+ its base, as [BB1998] observed.
84
+ 3. **Every year**, each living module adds a terminal extension unit, and each unit grown the year before bursts its
85
+ buds: about 1.17 laterals in its subapical zone and 0.38 in its median zone. Lengths are drawn from [BB2000]'s
86
+ distributions, shorter with branching order.
87
+ 4. **Shedding** keeps, of each year's new shoots, the expected `vigour / 2.65` share, taking the highest-order and
88
+ shortest first [BB1998]. A deterministic dither keeps counts close to their expectation, so the crown does not
89
+ swing with seed luck.
90
+ 5. **Density closure (the one unsourced part).** Steady state fixes how a population changes, not how big it is. Each
91
+ carrier's own last `years` of growth seeds the system: its extension units are laid back from its tip, and each
92
+ one's buds start lineages. `vigour` (default above 1, a growing crown) is the authored knob that sets how full the
93
+ crown is; at 1 the periphery holds steady. LAI is reported as a check, not fitted.
94
+ 6. **Leaves only on current growth** is keyed on a runtime fact: the skeleton records where each module's current-year
95
+ unit starts. A carrier without that record keeps today's density rule, so every other preset is unchanged.
96
+ 7. **Levels.** All modules take the carrier's level + 1, the twig layer, so the LOD chain and the wind rig treat them as
97
+ one layer. Branching order is tracked inside the pass only.
98
+ 8. **Joints** come from the existing derived placement. Each current shoot carrying a card will likely take its own
99
+ joint, which is the leaf-scale motion this work is for. The `max_joints` safety net rises from 4,096 to 16,384 so
100
+ the oak does not reach it; that number is chosen.
101
+
102
+ Not modelled: Lammas and sylleptic shoots (7.3% of shoots), male and female short shoots, and shedding of shoots older
103
+ than the simulated `years`.
104
+
105
+ ## Plan
106
+
107
+ 1. `ShootSystemRule` config with [BB2000]/[BB1998] defaults, wired into `TreeSpeciesConfig`.
108
+ 2. `tree_skeleton_grow_shoots`: the demography as a pure, seeded function producing module records, then written into
109
+ the skeleton before the pipe-model pass, with radii from [BB2000] Table 7.
110
+ 3. Foliage: one card per current-year shoot; the `rosette` arrangement; segment mechanics take the same leaf area.
111
+ 4. The oak preset grows shoots on generators 2 and 4, with cards sized for 6-12 cm leaves.
112
+ 5. Specs: outgrowth positions and counts, steady survival at vigour 1, length means by order, leaves only on current
113
+ growth, mechanics leaf area equal to the cards'. Mutation-test them.
114
+ 6. Measure the oak (cards, joints, leaf area, opacity, triangles, generation time) and look at it in the playground.
115
+
116
+ ## Landed
117
+
118
+ Built as planned, with these differences.
119
+
120
+ - **Pass order.** The shoots are written after the pipe-model pass, not before. The pipe pass would otherwise thicken
121
+ the framework under shoots already placed against it, and they would end up inside its wood. Twig radii are not
122
+ left to the pipe model: each axis's radius is computed bottom-up from [BB2000] Table 7. Each unit takes the
123
+ largest of:
124
+ - its current-shoot diameter, aged by one year per unit below the tip;
125
+ - the pipe area of what it carries;
126
+ - 1 / 0.82 of its thickest lateral.
127
+
128
+ The radius floor is 1.9 mm, the thinnest tip the bark mesher draws cleanly, and the framework's own floor in
129
+ `tree_skeleton_grow.spec.js`. A carrier's young end is thickened the same way, then swept so it still tapers.
130
+ - **No twig grows through wood.** All carriers are thickened first. Then each axis's path is computed and tested
131
+ against a spatial hash of the framework (`FrameworkHash`). An axis that would cross the framework is a blocked bud
132
+ and does not grow, nor does anything on it. Its own junction with its mother is exempt. Measured at seed 1337: 286
133
+ of 2,639 modules are blocked, and 195 more lose their mother that way.
134
+ - **Plagiotropic mothers** knock out ventral buds as the framework's do: a bud turns by the golden angle, up to 5
135
+ times, until it clears the downward cone.
136
+ - **Each segment now bends under its own load.** Before, only what a segment carried loaded it, so a twig of one unit,
137
+ carrying its card at the tip, had zero compliance. A segment's own drag and mass now act at L / 6 from its base.
138
+ Together with the twig layer, this moved the oak's boughs, so `elastic_modulus` was refitted from 3.33e7 to 4.55e7.
139
+ Over 12 seeds, the median primary bough of the oak, bent as one cantilever, is back at its old compliance (ratio
140
+ 0.999). Against their sway before, maple boughs move 1.12x, pine 1.14x and birch 1.04x.
141
+ - **The oak preset**, tuned for its look:
142
+ - Its secondary branches (generator 2) are 1.4x longer, with 12 to a bough where there were 8.
143
+ - Shoot rules run on generators 1, 2 and 4, with `years: 10` and `vigour: 1.3`.
144
+ - The cards are `TriStarCluster` cards of 0.17 x 0.17 m. Each carries a `rosette` of 11 leaflets.
145
+ - **`max_joints`** rose to 16,384, as planned.
146
+
147
+ **Measured, oak at seed 1337, master (6aff5265e) against now:**
148
+
149
+ | | master | now |
150
+ | :--- | ---: | ---: |
151
+ | current shoots | none | 2,158 |
152
+ | cards | 842 | 2,261 |
153
+ | median card length | 0.90 m | 0.17 m (p10 0.14, p90 0.20) |
154
+ | skeleton nodes | 766 | 9,860 |
155
+ | wind joints (1 cm) | 447 | 5,703 |
156
+ | leaf area | 164 m^2 | 93 m^2 |
157
+ | LAI over the crown's top silhouette | 4.0 | 3.2 |
158
+ | side opacity over the silhouette | 0.64 (40.0 m^2) | 0.49 (26.7 m^2) |
159
+ | top opacity | 0.74 (40.8 m^2) | 0.61 (29.3 m^2) |
160
+ | generation, best of 8 | 291 ms | 441 ms |
161
+
162
+ The playground draws the oak at LOD 0 in 82,761 triangles.
163
+
164
+ **Opacity is set by the framework's gaps, not by the leaf.** The crown is more see-through than master's. Each leaf now
165
+ sits on its own twig, and the gaps between boughs show. Raising the leaf does little:
166
+
167
+ | years : vigour | shoots | joints | leaf | LAI | side opacity |
168
+ | :--- | ---: | ---: | ---: | ---: | ---: |
169
+ | 10 : 1.3 (preset) | 2,158 | 5,703 | 93 m^2 | 3.2 | 0.49 |
170
+ | 12 : 1.3 | 3,042 | 8,066 | 129 m^2 | 4.2 | 0.55 |
171
+ | 10 : 1.5 | 4,919 | 10,455 | 202 m^2 | 6.7 | 0.62 |
172
+ | 10 : 1.7 | 9,442 | 15,719 | 372 m^2 | 12.1 | 0.67 |
173
+
174
+ At vigour 1.7, four times the leaf area gives 0.67. A fuller crown is a framework change: more or longer boughs.
175
+
176
+ **Correction (2026-10-26).** The first version of these tables came from a probe whose raster window was a fixed 14 m
177
+ square. It clipped the oak's top view, and master's side view too, whose 0.9 m cards reach past it. With a window
178
+ fitted to the leaves, master's oak reads side 0.64 over 40.0 m^2, top 0.74 over 40.8 m^2, LAI 4.0 (first stated as
179
+ 0.75 over 33.9, 0.83 over 21.9 and 7.5), and the oak with shoots LAI 3.2 (first stated as 5.2, "an oak crown's"). It is
180
+ lower than master's, not equal to a real crown's.
181
+
182
+ **Other presets** keep their cards. They have no `shoot_rules`, so they change only through the new self-load and
183
+ modulus. Joints at seed 1337, master against now: pine 525 to 544, birch 186 to 185, willow 514 to 513, maple 313 to
184
+ 332, spruce 423 to 435, palm 65 to 65, shrub 46 to 54, fern 26 to 24. Their card counts are unchanged.
185
+
186
+ **Specs.**
187
+ - **Demography:** `shoot_demography.spec.js`, 6 specs.
188
+ - **Shoot layer:** `tree_skeleton_grow_shoots.spec.js`, 10 specs:
189
+ - The twig layer and its records.
190
+ - The framework is untouched by the shoot rules.
191
+ - One card per current shoot, anchored on its current unit.
192
+ - A single-unit twig bends.
193
+ - Determinism.
194
+ - Twig against mother radius.
195
+ - Year-old wood against Table 7.
196
+ - Every atlas variant is used.
197
+ - A carrier's young end and its tip against Table 7.
198
+ - **Mutation testing:** 11 mutants, all killed:
199
+ - zone widened;
200
+ - no shedding;
201
+ - no order shortening;
202
+ - no framework avoidance;
203
+ - no plagiotropic knockout;
204
+ - no self-load;
205
+ - leaves along the whole carrier;
206
+ - no carrier thickening;
207
+ - no twig radius floor;
208
+ - no ageing;
209
+ - one maturity for every card.
210
+ - **Existing specs:**
211
+ - `tree_skeleton_grow.spec.js` allows twigs Table 7's slenderness, up to 50, against 26 for the framework.
212
+ - Its interpenetration check skips twig against twig, and twig against its mother within one segment of the
213
+ junction.
214
+ - The density and reach specs moved from the oak to the maple, which still has density-rule cards.
215
+
216
+ **Not done.**
217
+ - Lammas and sylleptic shoots.
218
+ - Shedding of shoots older than `years`.
219
+ - Shoots for the other broadleaf presets. Maple and birch would take the same rules once their own shoot lengths are
220
+ sourced.
@@ -0,0 +1,172 @@
1
+ # Crown Filling by Light
2
+
3
+ Follows `SHOOT_SYSTEMS_ALL_SPECIES_BRIEF_2026_10_26.md`, which grew every woody species' twigs from sourced shoot
4
+ demography and left the crowns barren.
5
+
6
+ ## Problem
7
+
8
+ Each carrier grows its twig system alone for a fixed number of years, at a fixed vigour (net shoots a shoot leaves a
9
+ year), with shoots shed by a chosen rank of age, order and length. Nothing in that knows where the crown is empty or
10
+ crowded. Seed 1337, against master's metre-long cards:
11
+
12
+ | preset | leaf area, master -> now | side opacity, master -> now |
13
+ | :--- | ---: | ---: |
14
+ | birch | 45 -> 2 m^2 | 0.44 -> 0.10 |
15
+ | willow | 241 -> 7 m^2 | 0.67 -> 0.18 |
16
+ | pine | 174 -> 24 m^2 | 0.69 -> 0.33 |
17
+ | spruce | 161 -> 20 m^2 | 0.57 -> 0.34 |
18
+ | maple | 150 -> 63 m^2 | 0.66 -> 0.43 |
19
+ | oak | 164 -> 113 m^2 | 0.64 -> 0.51 |
20
+
21
+ **The target** is the US Forest Inventory's crown ratings of 15,011 leaf-on trees seen from the side (Randolph 2006,
22
+ USDA GTR SRS-94, Tables 1-4). Healthy crowns block a mean 45% of their outline (oaks, maples, birches 46-51%), and their
23
+ foliated parts let about 15% of skylight through (interquartile 10-20%). From below, open-grown crowns intercept 0.75-0.92
24
+ of light (Nowak 1996, Forest Science 42: 504-507, Table 2).
25
+
26
+ ## Principle
27
+
28
+ A real crown is full because it grows until it shades itself. Shoots in light make more shoots; shoots in shade make
29
+ fewer, and an axis in deep shade dies. The papers already in hand measure exactly this:
30
+
31
+ - **Spruce.** Rb, the net shoots a shoot leaves a year, rises with the light a branch receives: about 0.65 at
32
+ 4-5 mol m^-2 d^-1 to about 2.2 at 10-12, against 37.1 under open sky, so 0.12 to 0.30 of full light. Below 1 in deep
33
+ shade, a branch's foliage shrinks with age (Niinemets & Lukjanova 2003, New Phytol. 158: 75-89, Fig. 5b, Table 1).
34
+ - **Pine.** Branching stops at a relative light of 0.20-0.25 (Ilonen et al. 1979, Silva Fennica 13: 319-321). A shoot
35
+ with no needles left is dead (Kellomäki & Kurttio 1991, p. 104).
36
+ - **Birch.** The bud population grows 1.52 a year in the top of the crown, 0.999 at its bottom (Maillette 1982, J.
37
+ Appl. Ecol. 19: 219-238, Table 1).
38
+ - **Red maple.** Shaded branches die, so foliage stays at the crown's periphery (Wilson 1966, Harvard Forest Paper 14,
39
+ p. 19).
40
+
41
+ So vigour becomes a function of light, and the crown's leaf area becomes an outcome: growth stops where the crown has
42
+ shaded its own interior to the light at which shoots no longer replace themselves.
43
+
44
+ ## Design
45
+
46
+ The framework (trunk, boughs and branches from the generator graph) stays as it is. Everything younger grows by light.
47
+ `tree_skeleton_grow_shoots` is rebuilt around one tree-wide simulation:
48
+
49
+ 1. **One season loop for the whole tree.** Every carrier's twig system grows in the same loop, so the systems compete
50
+ for the same light. `years` and the light response move from the per-carrier `ShootSystemRule` to a species-level
51
+ `ShootGrowthConfig`. The rules keep what differs by carrier: bud zones, lengths, orders, angles.
52
+ 2. **Shoots have geometry as they grow.** Each new unit's start, heading and end are fixed in its season (tropisms,
53
+ zigzag, insertion and phyllotaxis, as the writer does today), so light can be measured where the leaves are. The
54
+ writer then only turns the surviving axes into skeleton branches.
55
+ 3. **The light field.** Each season, the leaf area of every leaf-bearing unit is deposited in a voxel grid over the
56
+ crown.
57
+ - **Light at each voxel:** relative irradiance from the sky by Beer-Lambert, `exp(-G Omega LAD path)`.
58
+ - **Extinction:** `G = 0.5`, the projection of a spherical leaf angle distribution.
59
+ - **Clumping:** `Omega` is the species' shoot clumping; Scots pine about 0.58 from its silhouette-to-area ratio of
60
+ 0.146 (Smolander, Stenberg & Linder 1994, Tree Physiol. 14: 971-980), broadleaves 1 for want of data.
61
+ - **Sky:** a standard overcast sky, radiance `(1 + 2 sin elevation) / 3` (Moon & Spencer 1942), weighted for a
62
+ horizontal receiver as hemispherical photographs measure it.
63
+ - **Directions:** lattice directions, so each is one sweep of the grid. The cost is grid cells times directions,
64
+ whatever the leaf count.
65
+ 4. **Vigour follows light.** An axis in relative light `Q` leaves `Rb(Q)` net shoots a year. `Rb` rises linearly from 1
66
+ at the species' compensation light to its full vigour at its saturation light, flat above, and falls below 1 under
67
+ compensation. A season's new shoots on an axis survive at `Rb(Q) / yield`, its gross yield of new shoots. The shoots
68
+ kept are the best lit, with a dithered count so the total is exact on average. This replaces the chosen
69
+ age/order/length rank.
70
+ 5. **Death by shade is not a separate rule.** A terminal that is shed takes its axis with it [BB1998], and in shade the
71
+ terminal is shed. A shaded branch thins and dies as `Rb < 1` makes it.
72
+ 6. **Long enough to fill.** `years` covers the time the periphery takes to reach the light limit, so crown fullness is
73
+ set by light, not by when the simulation stops. The equilibrium is measured, not assumed.
74
+ 7. **Wood.** The [BB2000] Table 7 diameter holds only for current and year-old units, the shoots it was measured on.
75
+ Older wood is the pipe model plus what its laterals need where they join, for twig and carrier alike.
76
+ 8. **Framework avoidance** is tested when a unit grows, as now.
77
+
78
+ **Per-species light response:**
79
+
80
+ | preset | compensation `Q` | saturation `Q` | full vigour | source |
81
+ | :--- | ---: | ---: | ---: | :--- |
82
+ | spruce | 0.16 | 0.30 | 2.19 | [NL2003] Fig. 5b line through (0.12, 0.65), (0.30, 2.2); Table 1 max |
83
+ | pine | 0.22 | 0.30 | 1.867 | Ilonen 1979 (0.20-0.25); saturation spruce's; [NL2003] Fig. 2 |
84
+ | birch | 0.22 | 0.30 | 1.52 | top of crown [M1982]; light points pine's |
85
+ | oak, maple, willow, shrub | chosen | chosen | chosen | none found |
86
+
87
+ **Gaps.** Only spruce has a measured light curve. Pine has its compensation point. The others borrow the curve's
88
+ shape, and that is marked in the code.
89
+
90
+ ## Measuring
91
+
92
+ - **Fullness:** crown density and foliage transparency against Randolph 2006, and interception from below against Nowak
93
+ 1996, measured with the crown opacity benchmark being built in a sibling session. Until that lands, the scratchpad
94
+ probe stands in.
95
+ - **Specs, from the principle:**
96
+ - In a uniform light field, the twig population changes by `Rb(Q)` a year.
97
+ - Shoots in shade die.
98
+ - Leaf area stops growing with `years` once the crown is full.
99
+ - Doubling `years` past equilibrium changes leaf area little.
100
+ - A crown with more framework does not end up with proportionally more leaf.
101
+
102
+ ## Plan
103
+
104
+ 1. `ShootGrowthConfig`; the rule loses `years` and `vigour`.
105
+ 2. `shoot_light_field`: voxel leaf area, sky sweeps, irradiance query. Specs against Beer-Lambert in closed form.
106
+ 3. The tree-wide simulation with geometry, light-driven survival, framework avoidance at growth.
107
+ 4. The writer and radii on the simulated axes.
108
+ 5. Presets: light response per species.
109
+ 6. Specs green (including the willow seam and the season order), mutation-tested.
110
+ 7. Measure every preset against the targets; look at each in the playground.
111
+
112
+ ## Landed (2026-10-26, uncommitted)
113
+
114
+ As designed, plus what building it turned up:
115
+
116
+ - **The simulation:** `shoot_systems_simulate` runs every carrier's twig system in one season loop against a
117
+ `ShootLightField` (leaf-area voxels of `light_cell`, 17 lattice sweeps of the overcast sky, matches Beer-Lambert in
118
+ closed form within 0.01). Each season: extension with tropisms, short-shoot survival `short_shoot_survival x
119
+ min(1, Rb(Q))`, bursts, syllepsis, shedding to `Rb(Q) / yield` (rank: log keep share, age, order, length, jitter),
120
+ the cascade of a shed mother, then the wood.
121
+ - **Dynamic girth** (Alex's pick over a forecast radius): `ShootGirth` thickens the wood each season with what it
122
+ carries, never thinning: the pipe model at the species' `pipe_model_exponent` over the shoots' Table 7 radius, Table
123
+ 7 for a unit of its age, and `1 / SHOOT_LATERAL_RADIUS_RATIO` of a lateral where it joins, on twigs, carriers and the
124
+ framework above them. A shoot grows only where it clears today's wood; a shoot the wood has grown into by the end
125
+ of a season dies with all it carries. The framework hash (`ShootFrameworkHash`, allocation-free) is rebuilt each
126
+ season.
127
+ - **Framework ages** come from the leader growth: a branch is born when its parent's tip passed its seat, so a carrier
128
+ carries `round(age)` units over its whole length.
129
+ - **Cards follow leaves:** a unit carries its leaves (`leaves_per_unit + leaves_per_metre L`, times `leaf_survival` at
130
+ its age) over the leaves one card draws (`foliage_card_leaf_count`), dithered; short shoots get their own rosette
131
+ tiles (`foliage_atlas_tiles.js`).
132
+ - **Skinning seats** (found by the willow seam spec once twigs grew on twigs): where more than four joints meet, the
133
+ four kept are those that leave the seat least far from where all of them would carry it, and a dropped joint folds
134
+ into the kept one that carries the point most alike. "How far apart" is each joint on the path between them turning
135
+ by its reference-wind rotation about its pivot (`TreeSkeleton.joint_rotation`, written by
136
+ `tree_skeleton_assign_skin_joints`). Willow seats over the 1 cm tolerance: 178 by weight-then-hops, 6 by
137
+ weight-times-hops, 0 now.
138
+
139
+ **Specs restated from their principle** (each mutation-tested red):
140
+ - interpenetration: a child may meet its mother's wood only in the crotch, the run of its first segments that still
141
+ lie in her wood, and a child whose tip is in her wood is buried; twigs no longer get a year-old-girth allowance. The
142
+ spec finds candidate pairs by a grid (it was n^2 and timed out at 90k segments).
143
+ - conifer tiers: they come from the whorls (spiral boughs: empty bands 5.4x fewer on spruce, 3.9x on pine);
144
+ plagiotropism no longer moves them (0.95x).
145
+ - spire: the leader's top unit, clothed in at least half the needles a unit of `leader_growth` carries.
146
+ - autumn order: the leaves that fell were more exposed and younger than those kept, by a quarter of the summer spread.
147
+ - shoot demography: from `tree_skeleton_grow`'s records (zones, the four-bud whorl, ancestry, light response).
148
+
149
+ **Measured at seed 1337** with master's `foliage_measure_leaf_area` and `tree_crown_opacity` (copied in for the run):
150
+
151
+ | preset | leaf m^2 | crown LAI | side density | side transparency | below density | below transparency | generate |
152
+ | :--- | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
153
+ | oak | 90.9 | 3.11 | 0.51 | 0.44 | 0.53 | 0.38 | 0.9 s |
154
+ | pine | 35.0 | 1.60 | 0.38 | 0.60 | 0.41 | 0.53 | 1.0 s |
155
+ | birch | 64.5 | 6.59 | 0.56 | 0.38 | 0.80 | 0.15 | 2.5 s |
156
+ | willow | 136.3 | 3.68 | 0.69 | 0.30 | 0.71 | 0.25 | 2.0 s |
157
+ | maple | 36.3 | 1.42 | 0.33 | 0.55 | 0.32 | 0.43 | 1.1 s |
158
+ | spruce | 117.8 | 4.44 | 0.36 | 0.28 | 0.45 | 0.25 | 3.1 s |
159
+ | shrub | 57.8 | 4.65 | 0.62 | 0.34 | 0.77 | 0.18 | 0.3 s |
160
+
161
+ (generate: skeleton and cards, `probe_crowns.mjs`.) FIA's targets are density 45-51% and transparency about 15%
162
+ [Randolph 2006].
163
+
164
+ **Open, measured:**
165
+ - Every preset is far more see-through than FIA's 15%; only oak's density is in range.
166
+ - **The shrub was barren** at a chosen Rb of 1.3 (2.1 m^2, crown LAI 0.18): light did not limit it, the stool's young
167
+ stems seeded few lineages, and 1.3 of a gross yield of 7.17 kept under one burst shoot in five even in full sun. No
168
+ net shoot yield was found for hazel (Grisafi et al. 2024 report one season's bud fates; orchard LAI 0.80-2.86,
169
+ Oeztuerk et al. 2018, is per ground area). Alex's pick: full-sun vigour is the gross yield the rule's Grisafi
170
+ numbers give (`shoot_expected_yield`, 7.17), so only shade sheds hazel shoots. Light saturates the crown from about
171
+ 2.8 up. The shrub row above is measured at that vigour; master's leaf-area and opacity specs pass on this tree.
172
+ - Engulfment took birch from 115 to 83 m^2 (probe), willow from 167 to 157, spruce from 140 to 121.
@@ -0,0 +1,86 @@
1
+ # Crown Fullness: what keeps the crowns bare
2
+
3
+ Alex, 2026-10-26: oak, pine, maple and spruce "look largely naked" as a whole, though their leaves look right.
4
+
5
+ ## Measured (seed 1337, master 7d610267e)
6
+
7
+ **What sheds the shoots.** The light of every shoot candidate, as the simulation judged it:
8
+
9
+ | preset | DBH | height | crown width | leaf | framework | twigs | candidates kept | below compensation | saturated |
10
+ | :--- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
11
+ | oak | 87 cm | 8.6 m | 6.1 m | 89 m² | 151 m | 1,811 | 47% | 15% | 71% |
12
+ | pine | 73 cm | 10.6 m | 5.0 m | 16 m² | 71 m | 838 | 67% | 0% | 100% |
13
+ | maple | 88 cm | 8.6 m | 6.3 m | 49 m² | 114 m | 2,600 | 83% | 14% | 60% |
14
+ | spruce | 69 cm | 10.7 m | 6.3 m | 80 m² | 78 m | 40,061 | 93% | 6% | 82% |
15
+
16
+ Light does not bind these crowns: most candidates sit in saturating light.
17
+
18
+ **Vigour does not fill them** (`ShootGrowthConfig.vigour` raised 2× and 4×):
19
+
20
+ | preset | leaf ×1 / ×2 / ×4 | side density ×1 / ×2 / ×4 |
21
+ | :--- | :--- | :--- |
22
+ | oak | 89 / 101 / 82 m² | 0.50 / 0.46 / 0.45 |
23
+ | pine | 16 / 35 / 35 m² | 0.34 / 0.42 / 0.42 |
24
+ | maple | 51 / 48 / 47 m² | 0.41 / 0.40 / 0.40 |
25
+ | spruce | 78 / 74 / 72 m² | 0.33 / 0.33 / 0.33 |
26
+
27
+ Above its gross yield every burst shoot is kept. The twig systems then stop growing outward for want of buds and
28
+ room, not of light.
29
+
30
+ **The framework does** (every non-root `BranchSpawnRule.count` doubled):
31
+
32
+ | preset | leaf ×1 → ×2 | crown LAI | side density | side transparency | below density |
33
+ | :--- | :--- | :--- | :--- | :--- | :--- |
34
+ | oak | 89 → 188 m² | 3.1 → 5.3 | 0.50 → 0.66 | 0.42 → 0.33 | 0.58 → 0.71 |
35
+ | pine | 16 → 38 m² | 0.7 → 1.4 | 0.34 → 0.48 | 0.64 → 0.56 | 0.35 → 0.46 |
36
+ | maple | 51 → 116 m² | 2.0 → 4.3 | 0.41 → 0.62 | 0.42 → 0.37 | 0.42 → 0.63 |
37
+ | spruce | 78 → 199 m² | 3.0 → 6.0 | 0.33 → 0.51 | 0.31 → 0.24 | 0.42 → 0.59 |
38
+
39
+ FIA rates healthy crowns at 45-51% density and about 15% transparency [Randolph 2006].
40
+
41
+ ## Diagnosis
42
+
43
+ The crowns are bare because their framework is sparse, and the framework's density is authored:
44
+ - `count: 5` boughs, `count: 2` branches each, and so on, chosen per preset, not sourced;
45
+ - each carrier wears a twig sleeve of limited reach;
46
+ - between sleeves the crown is empty, and no twig system can reach across, at any vigour.
47
+
48
+ The crown-filling principle ("fullness is set by light, not by when the simulation stops") holds for the twigs but
49
+ not for the framework they hang on.
50
+
51
+ The trunks are also far too thick for their height (an 87 cm DBH oak 8.6 m tall), the pipe model's known
52
+ over-thickening. That is a separate defect; it makes trunk-based leaf targets meaningless here.
53
+
54
+ ## Targets
55
+
56
+ **Expected whole-tree leaf area.** These are trees of the size the presets mean to be, not of their over-thick trunks;
57
+ all sources are forest-grown trees.
58
+
59
+ | preset | measured | expected | basis |
60
+ | :--- | ---: | ---: | :--- |
61
+ | oak (DBH 40 cm, h 14 m) | 89 m² | 280-430 m² one-sided | Forrester et al. 2017 (*Q. robur*, Table A.5); Gómez-García & Pérez-Rodríguez 2015 leaf mass × SLA 12.9-16.2 m²/kg |
62
+ | maple (DBH 30 cm, h 13 m) | 49 m² | ~130 m² one-sided | Martin et al. 1998, *Can. J. For. Res.* 28: 1648-1659, *A. rubrum*, Table 4 (n = 11, DBH 6-52 cm) |
63
+ | pine (DBH 25 cm, h 11 m) | 16 m² | 35-64 m² projected | Forrester et al. 2017; Repola 2009, *Silva Fennica* 43: 184 needle mass × projected SLA 3.9-5.7 m²/kg |
64
+ | spruce (DBH 25 cm, h 11 m) | 78 m² | 100-150 m² projected | Forrester et al. 2017; Repola 2009 × SLA 3.3-5.0 m²/kg |
65
+
66
+ - Every preset carries a third to two-thirds of the leaf a real tree of its size does.
67
+ - Doubling the framework brings oak, maple and spruce into their ranges, and pine near its lower end. That fits the
68
+ diagnosis.
69
+ - European oak allometries run about twice the American oaks' (Martin et al. 1998) at the same DBH.
70
+ - No open-grown allometry, crown-level LAI or leaf area density was found for these species.
71
+ - The research subagent's working files are in the session scratchpad.
72
+
73
+ ## The fork
74
+
75
+ 1. **Grow the framework from shoots too** (self-organizing, as Palubicki et al. 2009 do):
76
+ - The same bud demography and light that fill the periphery grow the whole crown. The boughs are the shoots that
77
+ survived and thickened, and branch spacing is an outcome of self-shading.
78
+ - The generator graph keeps what shoots cannot give: the trunk, whorl and architectural model, roots, stubs.
79
+ - This is the principled end state and a large refactor of `tree_skeleton_grow`.
80
+ 2. **Derive the framework's density from the twigs' reach:**
81
+ - A carrier's twig system wears a sleeve of measurable reach. Carriers are spaced so the sleeves tile the crown,
82
+ as card density was derived from the leaf sleeve.
83
+ - The generator graph stays and its counts become outcomes.
84
+ - Smaller, but the framework's other shape choices stay authored.
85
+ 3. **Source the counts per species:** branches per whorl and per metre of stem are measured for pine and spruce;
86
+ oak and maple are thinner.