@woosh/meep-engine 3.20.0 → 3.21.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 (701) hide show
  1. package/build/bundle-worker-terrain.js +1 -1
  2. package/editor/Editor.d.ts.map +1 -1
  3. package/editor/enableEditor.d.ts.map +1 -1
  4. package/editor/particles/effect/ParticleEffectDocument.d.ts.map +1 -1
  5. package/editor/particles/effect/ParticleReferenceSimulation.d.ts.map +1 -1
  6. package/editor/templates/entity_templates.d.ts.map +1 -1
  7. package/editor/tools/v2/GizmoNode.d.ts +1 -1
  8. package/editor/tools/v2/GizmoNode.d.ts.map +1 -1
  9. package/editor/view/ecs/HierarchicalEntityListView.d.ts +3 -3
  10. package/editor/view/ecs/HierarchicalEntityListView.d.ts.map +1 -1
  11. package/editor/view/makeEntityDecorators.d.ts.map +1 -1
  12. package/editor/view/node-graph/NodeGraphClipboard.d.ts.map +1 -1
  13. package/editor/view/tools/ToolSettingsView.d.ts +1 -1
  14. package/editor/view/tools/ToolSettingsView.d.ts.map +1 -1
  15. package/package.json +12 -12
  16. package/src/core/IdPool.d.ts.map +1 -1
  17. package/src/core/binary/32BitEncoder.d.ts.map +1 -1
  18. package/src/core/binary/BinaryBuffer.d.ts +1 -1
  19. package/src/core/binary/BinaryBuffer.d.ts.map +1 -1
  20. package/src/core/bvh2/binary/2/BinaryUint32BVH.d.ts +1 -1
  21. package/src/core/bvh2/binary/2/BinaryUint32BVH.d.ts.map +1 -1
  22. package/src/core/bvh2/bvh3/BVH.d.ts +3 -3
  23. package/src/core/bvh2/bvh3/BVH.d.ts.map +1 -1
  24. package/src/core/bvh2/bvh3/BVH.js +1 -2
  25. package/src/core/bvh2/bvh3/query/bvh_query_user_data_nearest_to_point_filtered.d.ts.map +1 -1
  26. package/src/core/bvh2/traversal/aabb3_detailed_volume_intersection_callback_based.d.ts.map +1 -1
  27. package/src/core/cache/Cache.d.ts +1 -1
  28. package/src/core/cache/Cache.d.ts.map +1 -1
  29. package/src/core/cache/wtinylfu/CacheWTinylfu.d.ts.map +1 -1
  30. package/src/core/collection/list/List.d.ts.map +1 -1
  31. package/src/core/collection/list/ListForwarder.d.ts +1 -1
  32. package/src/core/collection/list/ListForwarder.d.ts.map +1 -1
  33. package/src/core/collection/map/HashMap.d.ts.map +1 -1
  34. package/src/core/collection/set/ArraySet.d.ts.map +1 -1
  35. package/src/core/collection/table/RowFirstTable.d.ts +1 -1
  36. package/src/core/collection/table/RowFirstTable.d.ts.map +1 -1
  37. package/src/core/collection/table/bind/TableRecord.d.ts +1 -1
  38. package/src/core/collection/table/bind/TableRecord.d.ts.map +1 -1
  39. package/src/core/color/Color.d.ts +8 -8
  40. package/src/core/color/Color.d.ts.map +1 -1
  41. package/src/core/color/hsv/hsv_to_rgb_uint8.d.ts.map +1 -1
  42. package/src/core/color/hsv/rgb_to_hsv.d.ts.map +1 -1
  43. package/src/core/events/signal/Signal.d.ts +1 -1
  44. package/src/core/events/signal/Signal.d.ts.map +1 -1
  45. package/src/core/events/signal/signal_aggregate_by_time_window.d.ts.map +1 -1
  46. package/src/core/fsm/simple/SimpleStateMachineDescription.d.ts.map +1 -1
  47. package/src/core/geom/2d/aabb/AABB2.d.ts +4 -4
  48. package/src/core/geom/2d/aabb/AABB2.d.ts.map +1 -1
  49. package/src/core/geom/2d/bvh/BVH2D.d.ts +1 -1
  50. package/src/core/geom/2d/bvh/BVH2D.d.ts.map +1 -1
  51. package/src/core/geom/2d/triangle/tri2_rasterize_conservative.d.ts.map +1 -1
  52. package/src/core/geom/3d/aabb/AABB3.d.ts +6 -6
  53. package/src/core/geom/3d/aabb/AABB3.d.ts.map +1 -1
  54. package/src/core/geom/3d/atlas/atlas_bench_lib.d.ts.map +1 -1
  55. package/src/core/geom/3d/atlas/atlas_compute_charts.d.ts.map +1 -1
  56. package/src/core/geom/3d/atlas/atlas_generate.d.ts.map +1 -1
  57. package/src/core/geom/3d/atlas/pack/atlas_pack_charts.d.ts.map +1 -1
  58. package/src/core/geom/3d/atlas/param/atlas_chart_param_validity.d.ts.map +1 -1
  59. package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_bff.d.ts.map +1 -1
  60. package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_lscm.d.ts.map +1 -1
  61. package/src/core/geom/3d/atlas/segment/atlas_compute_planar_regions.d.ts.map +1 -1
  62. package/src/core/geom/3d/atlas/segment/atlas_segment_charts.d.ts.map +1 -1
  63. package/src/core/geom/3d/atlas/segment/atlas_segment_charts_atomic.d.ts.map +1 -1
  64. package/src/core/geom/3d/mat4/m4_decompose.d.ts +7 -1
  65. package/src/core/geom/3d/mat4/m4_decompose.d.ts.map +1 -1
  66. package/src/core/geom/3d/quadric/Quadric3.d.ts +11 -11
  67. package/src/core/geom/3d/quadric/Quadric3.d.ts.map +1 -1
  68. package/src/core/geom/3d/ray/Ray3.d.ts +3 -3
  69. package/src/core/geom/3d/ray/Ray3.d.ts.map +1 -1
  70. package/src/core/geom/3d/shape/TransformedShape3D.d.ts +1 -1
  71. package/src/core/geom/3d/shape/TransformedShape3D.d.ts.map +1 -1
  72. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.d.ts.map +1 -1
  73. package/src/core/geom/3d/tetrahedra/delaunay/debug/push_boundary_with_validation.d.ts.map +1 -1
  74. package/src/core/geom/3d/tetrahedra/delaunay/debug/validate_cavity_boundary.d.ts.map +1 -1
  75. package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_carve_outside_surface.d.ts.map +1 -1
  76. package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_improve_quality.d.ts.map +1 -1
  77. package/src/core/geom/3d/tetrahedra/validate_tetrahedral_mesh.d.ts.map +1 -1
  78. package/src/core/geom/3d/tetrahedra/validate_tetrahedron_neighbourhood.d.ts.map +1 -1
  79. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_to_indexed_geometry.d.ts.map +1 -1
  80. package/src/core/geom/3d/util/aabb3_emit_point_grid.d.ts.map +1 -1
  81. package/src/core/geom/Quaternion.d.ts +4 -4
  82. package/src/core/geom/Quaternion.d.ts.map +1 -1
  83. package/src/core/geom/Vector1.d.ts +1 -1
  84. package/src/core/geom/Vector1.d.ts.map +1 -1
  85. package/src/core/geom/Vector2.d.ts +2 -2
  86. package/src/core/geom/Vector2.d.ts.map +1 -1
  87. package/src/core/geom/Vector3.d.ts +3 -3
  88. package/src/core/geom/Vector3.d.ts.map +1 -1
  89. package/src/core/geom/Vector4.d.ts +4 -4
  90. package/src/core/geom/Vector4.d.ts.map +1 -1
  91. package/src/core/geom/packing/max-rect/find_best_container.d.ts.map +1 -1
  92. package/src/core/geom/vec3/v3_hash.d.ts +12 -0
  93. package/src/core/geom/vec3/v3_hash.d.ts.map +1 -0
  94. package/src/core/geom/vec3/v3_hash.js +19 -0
  95. package/src/core/geom/vec3/v3_lerp.d.ts +3 -1
  96. package/src/core/geom/vec3/v3_lerp.d.ts.map +1 -1
  97. package/src/core/geom/vec3/v3_set.d.ts +14 -0
  98. package/src/core/geom/vec3/v3_set.d.ts.map +1 -0
  99. package/src/core/geom/vec3/v3_set.js +17 -0
  100. package/src/core/geom/vec3/v3_slerp.d.ts +3 -1
  101. package/src/core/geom/vec3/v3_slerp.d.ts.map +1 -1
  102. package/src/core/geom/vec4/v4_equals_array.d.ts +11 -0
  103. package/src/core/geom/vec4/v4_equals_array.d.ts.map +1 -0
  104. package/src/core/geom/vec4/v4_equals_array.js +16 -0
  105. package/src/core/geom/vec4/v4_hash.d.ts +12 -0
  106. package/src/core/geom/vec4/v4_hash.d.ts.map +1 -0
  107. package/src/core/geom/vec4/v4_hash.js +18 -0
  108. package/src/core/geom/vec4/v4_set.d.ts +15 -0
  109. package/src/core/geom/vec4/v4_set.d.ts.map +1 -0
  110. package/src/core/geom/vec4/v4_set.js +19 -0
  111. package/src/core/graph/convert_graph_to_dot_string.d.ts +1 -1
  112. package/src/core/graph/convert_graph_to_dot_string.d.ts.map +1 -1
  113. package/src/core/graph/metis/native/bisection/split_graph_two_way.d.ts.map +1 -1
  114. package/src/core/graph/metis/native/metis_partition_kway.d.ts.map +1 -1
  115. package/src/core/graph/metis/native/refine/fm_kway.d.ts.map +1 -1
  116. package/src/core/json/abstractJSONSerializer.d.ts.map +1 -1
  117. package/src/core/lang/reactive/AbstractCachingParser.d.ts.map +1 -1
  118. package/src/core/localization/Localization.d.ts.map +1 -1
  119. package/src/core/math/linalg/cg/cg_solve.d.ts.map +1 -1
  120. package/src/core/math/noise/create_simplex_noise_2d.d.ts.map +1 -1
  121. package/src/core/math/physics/mie/compute_bhmie_optical_properties.d.ts.map +1 -1
  122. package/src/core/math/physics/mie/compute_mie_particle_properties_rgb.d.ts.map +1 -1
  123. package/src/core/math/random/seededRandom_Mulberry32.d.ts +1 -1
  124. package/src/core/math/random/seededRandom_Mulberry32.d.ts.map +1 -1
  125. package/src/core/model/ModuleRegistry.d.ts.map +1 -1
  126. package/src/core/model/node-graph/visual/layout/layout_assign_coordinates.d.ts.map +1 -1
  127. package/src/core/model/node-graph/visual/layout/layout_node_graph.d.ts.map +1 -1
  128. package/src/core/model/node-graph/visual/layout/layout_order_layers.d.ts.map +1 -1
  129. package/src/core/model/reactive/model/ReactiveExpression.d.ts.map +1 -1
  130. package/src/core/model/validate_enum_schema.d.ts.map +1 -1
  131. package/src/core/process/Future.d.ts.map +1 -1
  132. package/src/core/process/task/Task.d.ts.map +1 -1
  133. package/src/core/process/task/util/countTask.d.ts.map +1 -1
  134. package/src/core/process/task/util/randomCountTask.d.ts.map +1 -1
  135. package/src/core/process/worker/WorkerBuilder.d.ts.map +1 -1
  136. package/src/engine/Clock.d.ts +1 -1
  137. package/src/engine/Clock.d.ts.map +1 -1
  138. package/src/engine/EngineHarness.d.ts.map +1 -1
  139. package/src/engine/animation/Animations.d.ts.map +1 -1
  140. package/src/engine/animation/EntityAnimation.d.ts.map +1 -1
  141. package/src/engine/animation/TransitionFunctions.d.ts.map +1 -1
  142. package/src/engine/animation/Tween.d.ts.map +1 -1
  143. package/src/engine/animation/curve/editor/uploadViaElement.d.ts.map +1 -1
  144. package/src/engine/animation/curve/view/AnimationCurveView.d.ts +1 -1
  145. package/src/engine/animation/curve/view/AnimationCurveView.d.ts.map +1 -1
  146. package/src/engine/asset/AssetManager.d.ts.map +1 -1
  147. package/src/engine/asset/AssetRequest.d.ts.map +1 -1
  148. package/src/engine/asset/loaders/AssetLoader.d.ts.map +1 -1
  149. package/src/engine/asset/loaders/image/avif/encode_image_source.d.ts.map +1 -1
  150. package/src/engine/asset/loaders/image/avif/threaded_image_encoder.d.ts.map +1 -1
  151. package/src/engine/browserInfo.d.ts.map +1 -1
  152. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts +1 -1
  153. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts.map +1 -1
  154. package/src/engine/control/first-person/abilities/LedgeGrab.js +9 -9
  155. package/src/engine/control/first-person/abilities/Mantle.js +8 -8
  156. package/src/engine/control/first-person/abilities/ScrambleUp.js +2 -2
  157. package/src/engine/control/first-person/abilities/WallJump.js +2 -2
  158. package/src/engine/control/first-person/abilities/WallRun.js +3 -3
  159. package/src/engine/control/first-person/collision/KinematicMover.d.ts +1 -1
  160. package/src/engine/control/first-person/collision/KinematicMover.d.ts.map +1 -1
  161. package/src/engine/control/first-person/collision/KinematicMover.js +19 -46
  162. package/src/engine/control/first-person/sensors/FirstPersonSensors.d.ts +17 -5
  163. package/src/engine/control/first-person/sensors/FirstPersonSensors.d.ts.map +1 -1
  164. package/src/engine/control/first-person/sensors/FirstPersonSensors.js +20 -7
  165. package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.d.ts.map +1 -1
  166. package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.js +9 -8
  167. package/src/engine/control/first-person/test/buildTestPlayer.d.ts.map +1 -1
  168. package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
  169. package/src/engine/ecs/EntityManager.d.ts.map +1 -1
  170. package/src/engine/ecs/EntityObserver.d.ts.map +1 -1
  171. package/src/engine/ecs/System.d.ts.map +1 -1
  172. package/src/engine/ecs/animation/Animation.d.ts +1 -1
  173. package/src/engine/ecs/animation/Animation.d.ts.map +1 -1
  174. package/src/engine/ecs/async/SystemWorkerLoopback.d.ts +3 -3
  175. package/src/engine/ecs/async/SystemWorkerLoopback.d.ts.map +1 -1
  176. package/src/engine/ecs/dynamic_actions/DynamicActorSystem.d.ts.map +1 -1
  177. package/src/engine/ecs/grid/pick.d.ts.map +1 -1
  178. package/src/engine/ecs/guid/UUID.d.ts +1 -1
  179. package/src/engine/ecs/guid/UUID.d.ts.map +1 -1
  180. package/src/engine/ecs/ik/OneBoneSurfaceAlignmentSolver.d.ts.map +1 -1
  181. package/src/engine/ecs/ik/OneBoneSurfaceAlignmentSolver.js +26 -9
  182. package/src/engine/ecs/parent/EntityNode.d.ts +1 -1
  183. package/src/engine/ecs/parent/EntityNode.d.ts.map +1 -1
  184. package/src/engine/ecs/parent/FaceEditor.d.ts +7 -7
  185. package/src/engine/ecs/parent/FaceEditor.d.ts.map +1 -1
  186. package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.d.ts.map +1 -1
  187. package/src/engine/ecs/storage/binary/object/BinaryObjectSerializationAdapter2.d.ts +2 -2
  188. package/src/engine/ecs/storage/binary/object/BinaryObjectSerializationAdapter2.d.ts.map +1 -1
  189. package/src/engine/ecs/terrain/TerrainClouds.d.ts +1 -1
  190. package/src/engine/ecs/terrain/ecs/Terrain.d.ts +1 -1
  191. package/src/engine/ecs/terrain/ecs/Terrain.d.ts.map +1 -1
  192. package/src/engine/ecs/terrain/ecs/TerrainSystem.d.ts.map +1 -1
  193. package/src/engine/ecs/terrain/overlay/TerrainOverlay.d.ts +1 -1
  194. package/src/engine/ecs/terrain/overlay/TerrainOverlay.d.ts.map +1 -1
  195. package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts +1 -1
  196. package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts.map +1 -1
  197. package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts +1 -1
  198. package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts.map +1 -1
  199. package/src/engine/ecs/terrain/util/obtainTerrain.d.ts.map +1 -1
  200. package/src/engine/ecs/transform/Transform64.d.ts +6 -6
  201. package/src/engine/ecs/transform/Transform64.d.ts.map +1 -1
  202. package/src/engine/ecs/transform-attachment/TransformAttachment.d.ts +1 -1
  203. package/src/engine/ecs/transform-attachment/TransformAttachment.d.ts.map +1 -1
  204. package/src/engine/graphics/FrameRunner.d.ts.map +1 -1
  205. package/src/engine/graphics/ecs/camera/camera_traverse_active.d.ts.map +1 -1
  206. package/src/engine/graphics/ecs/camera/pp/PerfectPanner.d.ts +1 -1
  207. package/src/engine/graphics/ecs/camera/pp/PerfectPanner.d.ts.map +1 -1
  208. package/src/engine/graphics/ecs/highlight/HighlightDefinition.d.ts +1 -1
  209. package/src/engine/graphics/ecs/highlight/HighlightDefinition.d.ts.map +1 -1
  210. package/src/engine/graphics/ecs/make_bvh_depth_range_computer.d.ts.map +1 -1
  211. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMesh.d.ts +4 -4
  212. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMesh.d.ts.map +1 -1
  213. package/src/engine/graphics/ecs/path/tube/TubePathStyle.d.ts +1 -1
  214. package/src/engine/graphics/ecs/path/tube/TubePathStyle.d.ts.map +1 -1
  215. package/src/engine/graphics/ecs/path/tube/build/computeFrenetFrames.d.ts.map +1 -1
  216. package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts +3 -3
  217. package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts.map +1 -1
  218. package/src/engine/graphics/geometry/buffered/build_height_field_geometry.d.ts +1 -1
  219. package/src/engine/graphics/geometry/buffered/build_height_field_geometry.d.ts.map +1 -1
  220. package/src/engine/graphics/geometry/buffered/query/GeometrySpatialQueryAccelerator.d.ts +1 -1
  221. package/src/engine/graphics/geometry/buffered/query/GeometrySpatialQueryAccelerator.d.ts.map +1 -1
  222. package/src/engine/graphics/make_ray_from_viewport_position.d.ts.map +1 -1
  223. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +1 -1
  224. package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.d.ts.map +1 -1
  225. package/src/engine/graphics/particles/particular/engine/utils/distribute_points_on_indexed_triangles.d.ts.map +1 -1
  226. package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.d.ts.map +1 -1
  227. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts +3 -3
  228. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts.map +1 -1
  229. package/src/engine/graphics/render/frame_graph/FrameGraph.d.ts.map +1 -1
  230. package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.d.ts +1 -1
  231. package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.d.ts.map +1 -1
  232. package/src/engine/graphics/render/layers/RenderLayer.d.ts +3 -3
  233. package/src/engine/graphics/render/layers/RenderLayer.d.ts.map +1 -1
  234. package/src/engine/graphics/render/visibility/IncrementalDeltaSet.d.ts +1 -1
  235. package/src/engine/graphics/render/visibility/IncrementalDeltaSet.d.ts.map +1 -1
  236. package/src/engine/graphics/render/visibility/VisibilityComputer.d.ts +2 -2
  237. package/src/engine/graphics/render/visibility/VisibilityComputer.d.ts.map +1 -1
  238. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts +1 -1
  239. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts.map +1 -1
  240. package/src/engine/graphics/sh3/path_tracer/populate_path_traced_scene_from_ecd.d.ts.map +1 -1
  241. package/src/engine/graphics/sh3/path_tracer/populate_path_traced_scene_from_ecd.js +5 -1
  242. package/src/engine/graphics/texture/3d/SingleChannelSampler3D.d.ts +1 -1
  243. package/src/engine/graphics/texture/3d/SingleChannelSampler3D.d.ts.map +1 -1
  244. package/src/engine/graphics/texture/sampler/Sampler2D.d.ts.map +1 -1
  245. package/src/engine/graphics/texture/sampler/filter/sampler2d_scale_down_generic.d.ts +1 -1
  246. package/src/engine/graphics/texture/sampler/filter/sampler2d_scale_down_generic.d.ts.map +1 -1
  247. package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_max.d.ts +1 -1
  248. package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_max.d.ts.map +1 -1
  249. package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_min.d.ts +1 -1
  250. package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_min.d.ts.map +1 -1
  251. package/src/engine/graphics/texture/sampler/sampler2d_combine.d.ts.map +1 -1
  252. package/src/engine/graphics/texture/sampler/sampler2d_compute_texel_value_conversion_scale_to_uint8.d.ts.map +1 -1
  253. package/src/engine/graphics/texture/sampler/search/make_edge_condition_channel_threshold.d.ts.map +1 -1
  254. package/src/engine/graphics/texture/sampler/search/sampler2d_find_pixels.d.ts.map +1 -1
  255. package/src/engine/graphics/texture/virtual/VirtualTextureTileLoader.d.ts +3 -3
  256. package/src/engine/graphics/texture/virtual/VirtualTextureTileLoader.d.ts.map +1 -1
  257. package/src/engine/graphics/texture/virtual/VirtualTextureUsage.d.ts +1 -1
  258. package/src/engine/graphics/texture/virtual/VirtualTextureUsage.d.ts.map +1 -1
  259. package/src/engine/graphics/texture/virtual/debug/UsageDebugView.d.ts +2 -2
  260. package/src/engine/graphics/texture/virtual/debug/UsageDebugView.d.ts.map +1 -1
  261. package/src/engine/graphics/texture/virtual/debug/UsagePyramidDebugView.d.ts +1 -1
  262. package/src/engine/graphics/texture/virtual/debug/UsagePyramidDebugView.d.ts.map +1 -1
  263. package/src/engine/graphics/texture/virtual/tile/decompose_finger_print.d.ts.map +1 -1
  264. package/src/engine/graphics3/HighlightOutlineSystem.d.ts.map +1 -1
  265. package/src/engine/graphics3/ParticipatingMedia.d.ts +1 -1
  266. package/src/engine/graphics3/ParticipatingMedia.d.ts.map +1 -1
  267. package/src/engine/graphics3/VolumetricLightMap.d.ts +1 -1
  268. package/src/engine/graphics3/VolumetricLightMap.d.ts.map +1 -1
  269. package/src/engine/graphics3/decal/graph_build_decal_clusters.d.ts.map +1 -1
  270. package/src/engine/graphics3/highlight/pack_highlight_table.d.ts.map +1 -1
  271. package/src/engine/graphics3/preview/make_model_preview_scene.d.ts.map +1 -1
  272. package/src/engine/graphics3/terrain/GPUTerrainSplatRenderer.d.ts.map +1 -1
  273. package/src/engine/graphics3/terrain/pack_terrain_row_table.d.ts.map +1 -1
  274. package/src/engine/grid/obstacle/GridObstacle.d.ts.map +1 -1
  275. package/src/engine/input/devices/GamepadDevice.d.ts +1 -1
  276. package/src/engine/input/devices/GamepadDevice.d.ts.map +1 -1
  277. package/src/engine/input/devices/PointerDevice.d.ts +1 -1
  278. package/src/engine/input/devices/PointerDevice.d.ts.map +1 -1
  279. package/src/engine/input/ecs/controllers/KeyboardCameraController.d.ts.map +1 -1
  280. package/src/engine/input/ecs/controllers/KeyboardCameraController.js +11 -2
  281. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts +1 -1
  282. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts.map +1 -1
  283. package/src/engine/intelligence/behavior/ecs/SendEventBehavior.d.ts.map +1 -1
  284. package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts.map +1 -1
  285. package/src/engine/intelligence/behavior/util/RotationBehavior.d.ts.map +1 -1
  286. package/src/engine/intelligence/behavior/util/RotationBehavior.js +14 -2
  287. package/src/engine/intelligence/blackboard/Blackboard.d.ts.map +1 -1
  288. package/src/engine/intelligence/mcts/MonteCarlo.d.ts +1 -1
  289. package/src/engine/intelligence/mcts/MonteCarlo.d.ts.map +1 -1
  290. package/src/engine/intelligence/mcts/StateNode.d.ts.map +1 -1
  291. package/src/engine/intelligence/optimization/RandomOptimizer.d.ts +1 -1
  292. package/src/engine/intelligence/optimization/RandomOptimizer.d.ts.map +1 -1
  293. package/src/engine/knowledge/database/StaticKnowledgeDataTable.d.ts.map +1 -1
  294. package/src/engine/knowledge/database/StaticKnowledgeDatabase.d.ts +1 -1
  295. package/src/engine/knowledge/database/StaticKnowledgeDatabase.d.ts.map +1 -1
  296. package/src/engine/navigation/ecs/path_following/PathFollower.d.ts +2 -2
  297. package/src/engine/navigation/ecs/path_following/PathFollower.d.ts.map +1 -1
  298. package/src/engine/network/NetworkSession.d.ts.map +1 -1
  299. package/src/engine/network/PriorityFetch.d.ts +2 -2
  300. package/src/engine/network/PriorityFetch.d.ts.map +1 -1
  301. package/src/engine/network/diagnostics/BandwidthMeter.d.ts.map +1 -1
  302. package/src/engine/network/ecs/owner_authorization.d.ts.map +1 -1
  303. package/src/engine/network/orchestrator/NetworkPeer.d.ts.map +1 -1
  304. package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts.map +1 -1
  305. package/src/engine/network/replication/Replicator.d.ts +1 -1
  306. package/src/engine/network/replication/Replicator.d.ts.map +1 -1
  307. package/src/engine/network/sim/SimActionExecutor.d.ts +1 -1
  308. package/src/engine/network/sim/SimActionExecutor.d.ts.map +1 -1
  309. package/src/engine/network/time/RenderPlayout.d.ts.map +1 -1
  310. package/src/engine/network/transport/Channel.d.ts.map +1 -1
  311. package/src/engine/network/transport/fragments/FragmentRetention.d.ts.map +1 -1
  312. package/src/engine/physics/body/SolverBodyState.d.ts +11 -11
  313. package/src/engine/physics/body/SolverBodyState.d.ts.map +1 -1
  314. package/src/engine/physics/body/SolverBodyState.js +13 -13
  315. package/src/engine/physics/broadphase/compute_fat_world_aabb.d.ts +4 -4
  316. package/src/engine/physics/broadphase/compute_fat_world_aabb.d.ts.map +1 -1
  317. package/src/engine/physics/broadphase/compute_fat_world_aabb.js +2 -2
  318. package/src/engine/physics/broadphase/generate_pairs.d.ts +3 -3
  319. package/src/engine/physics/broadphase/generate_pairs.d.ts.map +1 -1
  320. package/src/engine/physics/broadphase/generate_pairs.js +1 -1
  321. package/src/engine/physics/ccd/linear_sweep.d.ts +2 -3
  322. package/src/engine/physics/ccd/linear_sweep.d.ts.map +1 -1
  323. package/src/engine/physics/ccd/linear_sweep.js +4 -5
  324. package/src/engine/physics/constraint/solve_constraints.js +3 -3
  325. package/src/engine/physics/ecs/BodyKind.d.ts +1 -1
  326. package/src/engine/physics/ecs/BodyKind.js +1 -1
  327. package/src/engine/physics/ecs/Collider.d.ts +1 -1
  328. package/src/engine/physics/ecs/Collider.js +1 -1
  329. package/src/engine/physics/ecs/Joint.d.ts +15 -10
  330. package/src/engine/physics/ecs/Joint.d.ts.map +1 -1
  331. package/src/engine/physics/ecs/Joint.js +27 -18
  332. package/src/engine/physics/ecs/JointSerializationAdapter.d.ts.map +1 -1
  333. package/src/engine/physics/ecs/JointSerializationAdapter.js +8 -6
  334. package/src/engine/physics/ecs/PhysicsSystem.d.ts +40 -77
  335. package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
  336. package/src/engine/physics/ecs/PhysicsSystem.js +113 -75
  337. package/src/engine/physics/ecs/RigidBody.d.ts +17 -12
  338. package/src/engine/physics/ecs/RigidBody.d.ts.map +1 -1
  339. package/src/engine/physics/ecs/RigidBody.js +58 -24
  340. package/src/engine/physics/ecs/RigidBodySerializationAdapter.d.ts.map +1 -1
  341. package/src/engine/physics/ecs/RigidBodySerializationAdapter.js +13 -12
  342. package/src/engine/physics/ecs/find_non_finite_physics_state.d.ts +1 -1
  343. package/src/engine/physics/ecs/find_non_finite_physics_state.js +1 -1
  344. package/src/engine/physics/fluid/FluidField.d.ts.map +1 -1
  345. package/src/engine/physics/fluid/REVIEW_02_PLAN.md +4 -4
  346. package/src/engine/physics/fluid/SliceVisualiser.d.ts.map +1 -1
  347. package/src/engine/physics/fluid/ecs/FluidComponent.d.ts +10 -10
  348. package/src/engine/physics/fluid/ecs/FluidComponent.js +10 -10
  349. package/src/engine/physics/fluid/ecs/FluidEffectorsComponent.d.ts +2 -2
  350. package/src/engine/physics/fluid/ecs/FluidEffectorsComponent.js +2 -2
  351. package/src/engine/physics/fluid/ecs/FluidObstacle.d.ts +3 -3
  352. package/src/engine/physics/fluid/ecs/FluidObstacle.js +3 -3
  353. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +1 -1
  354. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.js +4 -4
  355. package/src/engine/physics/fluid/ecs/FluidSystem.d.ts +2 -2
  356. package/src/engine/physics/fluid/ecs/FluidSystem.js +3 -3
  357. package/src/engine/physics/fluid/ecs/WorkerFluidSystem.d.ts +1 -1
  358. package/src/engine/physics/fluid/ecs/WorkerFluidSystem.js +2 -2
  359. package/src/engine/physics/fluid/ecs/fluid_reanchor_field.d.ts +3 -3
  360. package/src/engine/physics/fluid/ecs/fluid_reanchor_field.d.ts.map +1 -1
  361. package/src/engine/physics/fluid/ecs/fluid_reanchor_field.js +3 -3
  362. package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.d.ts +3 -3
  363. package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.d.ts.map +1 -1
  364. package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.js +2 -2
  365. package/src/engine/physics/fluid/effector/AbstractFluidEffector.d.ts +3 -3
  366. package/src/engine/physics/fluid/effector/AbstractFluidEffector.d.ts.map +1 -1
  367. package/src/engine/physics/fluid/effector/AbstractFluidEffector.js +2 -2
  368. package/src/engine/physics/fluid/effector/ImpulseFluidEffector.js +2 -2
  369. package/src/engine/physics/fluid/effector/WakeFluidEffector.d.ts +4 -4
  370. package/src/engine/physics/fluid/effector/WakeFluidEffector.js +8 -8
  371. package/src/engine/physics/inertia/world_inverse_inertia.d.ts +8 -17
  372. package/src/engine/physics/inertia/world_inverse_inertia.d.ts.map +1 -1
  373. package/src/engine/physics/inertia/world_inverse_inertia.js +11 -11
  374. package/src/engine/physics/integration/integrate_position.d.ts +6 -7
  375. package/src/engine/physics/integration/integrate_position.d.ts.map +1 -1
  376. package/src/engine/physics/integration/integrate_position.js +5 -6
  377. package/src/engine/physics/integration/integrate_velocity.d.ts +4 -4
  378. package/src/engine/physics/integration/integrate_velocity.d.ts.map +1 -1
  379. package/src/engine/physics/integration/integrate_velocity.js +7 -7
  380. package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.d.ts +4 -4
  381. package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.d.ts.map +1 -1
  382. package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.js +3 -3
  383. package/src/engine/physics/narrowphase/convex_decomposition.d.ts.map +1 -1
  384. package/src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.d.ts +1 -2
  385. package/src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.d.ts.map +1 -1
  386. package/src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.js +1 -2
  387. package/src/engine/physics/narrowphase/narrowphase_step.d.ts +7 -6
  388. package/src/engine/physics/narrowphase/narrowphase_step.d.ts.map +1 -1
  389. package/src/engine/physics/narrowphase/narrowphase_step.js +8 -8
  390. package/src/engine/physics/queries/PhysicsSurfacePoint.d.ts +10 -5
  391. package/src/engine/physics/queries/PhysicsSurfacePoint.d.ts.map +1 -1
  392. package/src/engine/physics/queries/PhysicsSurfacePoint.js +10 -6
  393. package/src/engine/physics/queries/overlap_shape.d.ts +5 -14
  394. package/src/engine/physics/queries/overlap_shape.d.ts.map +1 -1
  395. package/src/engine/physics/queries/overlap_shape.js +4 -4
  396. package/src/engine/physics/queries/raycast.d.ts.map +1 -1
  397. package/src/engine/physics/queries/shape_cast.d.ts +9 -1
  398. package/src/engine/physics/queries/shape_cast.d.ts.map +1 -1
  399. package/src/engine/physics/queries/shape_cast.js +2 -2
  400. package/src/engine/physics/solver/solve_contacts.d.ts +2 -2
  401. package/src/engine/physics/solver/solve_contacts.d.ts.map +1 -1
  402. package/src/engine/physics/solver/solve_contacts.js +2 -2
  403. package/src/engine/physics/vehicle/RaycastVehicle.d.ts +4 -8
  404. package/src/engine/physics/vehicle/RaycastVehicle.d.ts.map +1 -1
  405. package/src/engine/physics/vehicle/RaycastVehicle.js +16 -12
  406. package/src/engine/save/Storage.d.ts.map +1 -1
  407. package/src/engine/sound/SoundEngine.d.ts +1 -1
  408. package/src/engine/sound/SoundEngine.d.ts.map +1 -1
  409. package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts.map +1 -1
  410. package/src/engine/sound/ecs/audio/AudioEmitterSystem.js +27 -2
  411. package/src/engine/sound/simulation/AcousticSimulator.d.ts +2 -2
  412. package/src/engine/sound/simulation/AcousticSimulator.d.ts.map +1 -1
  413. package/src/engine/sound/simulation/core/VolumeField.d.ts +1 -1
  414. package/src/engine/sound/simulation/core/VolumeField.d.ts.map +1 -1
  415. package/src/engine/sound/simulation/probe/AcousticProbeField.d.ts.map +1 -1
  416. package/src/engine/sound/simulation/probe/probe_delaunay_edges.d.ts.map +1 -1
  417. package/src/engine/sound/simulation/probe/probe_densify_portals.d.ts.map +1 -1
  418. package/src/engine/sound/simulation/probe/probe_detect_portals.d.ts.map +1 -1
  419. package/src/engine/sound/simulation/probe/probe_place_sdf_cover.d.ts.map +1 -1
  420. package/src/engine/sound/simulation/probe/probe_refine_connectivity.d.ts.map +1 -1
  421. package/src/engine/sound/simulation/render/ProbeReverbRenderer.d.ts +1 -1
  422. package/src/engine/sound/simulation/render/ProbeReverbRenderer.d.ts.map +1 -1
  423. package/src/engine/sound/simulation/render/foaReverbImpulseResponse.d.ts.map +1 -1
  424. package/src/engine/sound/sopra/SopraEngine.d.ts.map +1 -1
  425. package/src/engine/sound/sopra/legacy/SoundEmitter.d.ts +3 -3
  426. package/src/engine/sound/sopra/legacy/SoundEmitter.d.ts.map +1 -1
  427. package/src/engine/sound/sopra/legacy/SoundTrack.d.ts +3 -3
  428. package/src/engine/sound/sopra/legacy/SoundTrack.d.ts.map +1 -1
  429. package/src/engine/sound/sopra/util/buildAttenuationCurve.d.ts.map +1 -1
  430. package/src/engine/ui/notification/NotificationManager.d.ts.map +1 -1
  431. package/src/engine/ui/notification/ViewEmitter.d.ts +1 -1
  432. package/src/engine/ui/notification/ViewEmitter.d.ts.map +1 -1
  433. package/src/engine/ui/tiles2d/TileGrid.d.ts.map +1 -1
  434. package/src/extractName.d.ts.map +1 -1
  435. package/src/format/image/avif/api/convert_to_rgba.d.ts.map +1 -1
  436. package/src/format/image/avif/av1/encode/encode_av1_still.d.ts.map +1 -1
  437. package/src/format/image/avif/heif/write_avif_file.d.ts +2 -2
  438. package/src/format/image/avif/heif/write_avif_file.d.ts.map +1 -1
  439. package/src/format/image/jpeg/JpegImage.d.ts.map +1 -1
  440. package/src/format/image/png/PNG.d.ts.map +1 -1
  441. package/src/format/image/png/chunk/png_chunk_decode_iTXt.d.ts.map +1 -1
  442. package/src/format/image/png/chunk/png_chunk_decode_zTXt.d.ts.map +1 -1
  443. package/src/format/scene/gltf/ext/GltfBufferViewExtensionSet.d.ts.map +1 -1
  444. package/src/format/scene/gltf/gltf_node_world_matrices.d.ts.map +1 -1
  445. package/src/format/scene/usd/unpack_usdz.d.ts.map +1 -1
  446. package/src/format/scene/usd/usd_triangulate.d.ts.map +1 -1
  447. package/src/format/texture/basis/astc_integer_sequence.d.ts.map +1 -1
  448. package/src/generation/grid/actions/ContinuousGridCellActionWriteObstacle.d.ts.map +1 -1
  449. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.d.ts.map +1 -1
  450. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.js +22 -3
  451. package/src/generation/markers/transform/MarkerNodeTransformerRecordPropertyClosure.d.ts.map +1 -1
  452. package/src/generation/theme/ThemeEngine.d.ts +2 -2
  453. package/src/generation/theme/ThemeEngine.d.ts.map +1 -1
  454. package/src/shade/descriptor/ObjectDescriptorBase.d.ts +1 -1
  455. package/src/shade/descriptor/ObjectDescriptorBase.d.ts.map +1 -1
  456. package/src/shade/descriptor/texture/TextureDescriptor.d.ts +1 -1
  457. package/src/shade/device/ShadeGPUCommandContext.d.ts +1 -1
  458. package/src/shade/device/ShadeGPUCommandContext.d.ts.map +1 -1
  459. package/src/shade/device/pass/ShadeGPUComputePassEncoder.d.ts +1 -1
  460. package/src/shade/device/pass/ShadeGPUComputePassEncoder.d.ts.map +1 -1
  461. package/src/shade/device/pass/ShadeGPURenderPassEncoder.d.ts +1 -1
  462. package/src/shade/device/pass/ShadeGPURenderPassEncoder.d.ts.map +1 -1
  463. package/src/shade/device/timing/GPUTimerArray.d.ts.map +1 -1
  464. package/src/shade/device/timing/GPUTimerStats.d.ts +1 -1
  465. package/src/shade/device/timing/GPUTimerStats.d.ts.map +1 -1
  466. package/src/shade/device/timing/GPU_PROFILER_PROPOSAL_2026_08_28.md +894 -894
  467. package/src/shade/playground/basis_textures/texture_inventory.d.ts.map +1 -1
  468. package/src/shade/playground/bvh_repro/bvh_repro_device.d.ts.map +1 -1
  469. package/src/shade/playground/ground_seam/capture_scene_color.d.ts.map +1 -1
  470. package/src/shade/playground/ground_seam/measure_flicker.d.ts.map +1 -1
  471. package/src/shade/playground/particle_system/index.html +0 -1
  472. package/src/shade/playground/particle_system/main.js +1 -2
  473. package/src/shade/playground/particle_system/particle_prototype.d.ts.map +1 -1
  474. package/src/shade/playground/particle_system/particle_scene.d.ts +5 -6
  475. package/src/shade/playground/particle_system/particle_scene.d.ts.map +1 -1
  476. package/src/shade/playground/particle_system/particle_scene.js +6 -7
  477. package/src/shade/playground/skinned_blas_refit/sweep_views.js +2 -2
  478. package/src/shade/playground/skinned_blas_refit/verify_traversal_reachability.js +1 -1
  479. package/src/shade/playground/vgeo_viewer/README.md +123 -0
  480. package/src/shade/playground/vgeo_viewer/cut_geometry.d.ts +61 -0
  481. package/src/shade/playground/vgeo_viewer/cut_geometry.d.ts.map +1 -0
  482. package/src/shade/playground/vgeo_viewer/cut_geometry.js +497 -0
  483. package/src/shade/playground/vgeo_viewer/index.html +77 -0
  484. package/src/shade/playground/vgeo_viewer/main.d.ts +2 -0
  485. package/src/shade/playground/vgeo_viewer/main.d.ts.map +1 -0
  486. package/src/shade/playground/vgeo_viewer/main.js +1288 -0
  487. package/src/shade/playground/vgeo_viewer/sample_asset.d.ts +18 -0
  488. package/src/shade/playground/vgeo_viewer/sample_asset.d.ts.map +1 -0
  489. package/src/shade/playground/vgeo_viewer/sample_asset.js +117 -0
  490. package/src/shade/playground/vgeo_viewer/select_cut.d.ts +154 -0
  491. package/src/shade/playground/vgeo_viewer/select_cut.d.ts.map +1 -0
  492. package/src/shade/playground/vgeo_viewer/select_cut.js +437 -0
  493. package/src/shade/renderer/DynamicResolutionScaling.d.ts +1 -1
  494. package/src/shade/renderer/DynamicResolutionScaling.d.ts.map +1 -1
  495. package/src/shade/renderer/Renderer.d.ts +5 -5
  496. package/src/shade/renderer/Renderer.d.ts.map +1 -1
  497. package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
  498. package/src/shade/renderer/animation/skin_normalize_mesh_frame.d.ts.map +1 -1
  499. package/src/shade/renderer/camera/Camera.d.ts +3 -3
  500. package/src/shade/renderer/camera/Camera.d.ts.map +1 -1
  501. package/src/shade/renderer/camera/GPUCameraContext.d.ts +1 -1
  502. package/src/shade/renderer/camera/GPUCameraContext.d.ts.map +1 -1
  503. package/src/shade/renderer/camera/OrthographicCamera.d.ts +4 -4
  504. package/src/shade/renderer/camera/OrthographicCamera.d.ts.map +1 -1
  505. package/src/shade/renderer/camera/PerspectiveCamera.d.ts +2 -2
  506. package/src/shade/renderer/camera/PerspectiveCamera.d.ts.map +1 -1
  507. package/src/shade/renderer/camera/orbital/OrbitalCameraController.d.ts +11 -3
  508. package/src/shade/renderer/camera/orbital/OrbitalCameraController.d.ts.map +1 -1
  509. package/src/shade/renderer/camera/orbital/OrbitalCameraController.js +25 -5
  510. package/src/shade/renderer/extension/FrameContext.d.ts +1 -1
  511. package/src/shade/renderer/extension/FrameContext.d.ts.map +1 -1
  512. package/src/shade/renderer/extension/GBufferTextures.d.ts +4 -4
  513. package/src/shade/renderer/extension/GBufferTextures.d.ts.map +1 -1
  514. package/src/shade/renderer/extension/PresentTarget.d.ts +1 -1
  515. package/src/shade/renderer/extension/PresentTarget.d.ts.map +1 -1
  516. package/src/shade/renderer/extension/RENDER_EXTENSION_DESIGN.md +918 -918
  517. package/src/shade/renderer/extension/SceneColor.d.ts +1 -1
  518. package/src/shade/renderer/extension/SceneColor.d.ts.map +1 -1
  519. package/src/shade/renderer/extension/ViewTextures.d.ts +4 -4
  520. package/src/shade/renderer/extension/ViewTextures.d.ts.map +1 -1
  521. package/src/shade/renderer/geometry/Attribute.d.ts +1 -1
  522. package/src/shade/renderer/geometry/Attribute.d.ts.map +1 -1
  523. package/src/shade/renderer/geometry/Geometry.d.ts +1 -1
  524. package/src/shade/renderer/geometry/Geometry.d.ts.map +1 -1
  525. package/src/shade/renderer/geometry/bvh/bvh2_check_bounds.d.ts.map +1 -1
  526. package/src/shade/renderer/geometry/bvh/bvh2_derive_topology.d.ts.map +1 -1
  527. package/src/shade/renderer/geometry/meshlet/MeshletBatch.d.ts +3 -3
  528. package/src/shade/renderer/geometry/meshlet/MeshletBatch.d.ts.map +1 -1
  529. package/src/shade/renderer/geometry/virtual/build/gltf/gltf_collect_geometries.d.ts.map +1 -1
  530. package/src/shade/renderer/geometry/virtual/format/attribute/VGEO_ATTRIBUTES.d.ts.map +1 -1
  531. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_read_frame_extent.d.ts +29 -0
  532. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_read_frame_extent.d.ts.map +1 -0
  533. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_read_frame_extent.js +59 -0
  534. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_scan_frames.d.ts +0 -1
  535. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_scan_frames.d.ts.map +1 -1
  536. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_scan_frames.js +2 -23
  537. package/src/shade/renderer/geometry/virtual/format/read/VGeoByteSource.d.ts +94 -0
  538. package/src/shade/renderer/geometry/virtual/format/read/VGeoByteSource.d.ts.map +1 -0
  539. package/src/shade/renderer/geometry/virtual/format/read/VGeoByteSource.js +170 -0
  540. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerHeader.d.ts +122 -0
  541. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerHeader.d.ts.map +1 -0
  542. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerHeader.js +143 -0
  543. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.d.ts +185 -0
  544. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.d.ts.map +1 -0
  545. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.js +572 -0
  546. package/src/shade/renderer/geometry/virtual/format/read/VGeoDirectory.d.ts +64 -0
  547. package/src/shade/renderer/geometry/virtual/format/read/VGeoDirectory.d.ts.map +1 -0
  548. package/src/shade/renderer/geometry/virtual/format/read/VGeoDirectory.js +80 -0
  549. package/src/shade/renderer/geometry/virtual/format/read/VGeoPage.d.ts +198 -0
  550. package/src/shade/renderer/geometry/virtual/format/read/VGeoPage.d.ts.map +1 -0
  551. package/src/shade/renderer/geometry/virtual/format/read/VGeoPage.js +232 -0
  552. package/src/shade/renderer/geometry/virtual/format/read/VGeoPageWant.d.ts +51 -0
  553. package/src/shade/renderer/geometry/virtual/format/read/VGeoPageWant.d.ts.map +1 -0
  554. package/src/shade/renderer/geometry/virtual/format/read/VGeoPageWant.js +55 -0
  555. package/src/shade/renderer/geometry/virtual/format/read/VGeoReadOptions.d.ts +68 -0
  556. package/src/shade/renderer/geometry/virtual/format/read/VGeoReadOptions.d.ts.map +1 -0
  557. package/src/shade/renderer/geometry/virtual/format/read/VGeoReadOptions.js +72 -0
  558. package/src/shade/renderer/geometry/virtual/format/read/vgeo_fetch_byte_source.d.ts +28 -0
  559. package/src/shade/renderer/geometry/virtual/format/read/vgeo_fetch_byte_source.d.ts.map +1 -0
  560. package/src/shade/renderer/geometry/virtual/format/read/vgeo_fetch_byte_source.js +108 -0
  561. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_directory.d.ts +23 -0
  562. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_directory.d.ts.map +1 -0
  563. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_directory.js +83 -0
  564. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_header.d.ts +53 -0
  565. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_header.d.ts.map +1 -0
  566. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_header.js +211 -0
  567. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_page.d.ts +26 -0
  568. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_page.d.ts.map +1 -0
  569. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_page.js +271 -0
  570. package/src/shade/renderer/global_illumination/brick4/cpu/brick4_bake_for_scene.d.ts.map +1 -1
  571. package/src/shade/renderer/global_illumination/clipmap/GPUClipMap3D.d.ts +2 -2
  572. package/src/shade/renderer/global_illumination/clipmap/GPUClipMap3D.d.ts.map +1 -1
  573. package/src/shade/renderer/global_illumination/lpv/LightProbeVolume.d.ts +1 -1
  574. package/src/shade/renderer/global_illumination/lpv/LightProbeVolume.d.ts.map +1 -1
  575. package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.d.ts +1 -1
  576. package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.d.ts.map +1 -1
  577. package/src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.d.ts +1 -1
  578. package/src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.d.ts.map +1 -1
  579. package/src/shade/renderer/gpu_primitive/bvh/check_bvh_structure.d.ts.map +1 -1
  580. package/src/shade/renderer/light/LightCollection.d.ts +2 -2
  581. package/src/shade/renderer/light/LightCollection.d.ts.map +1 -1
  582. package/src/shade/renderer/light/model/PointLight.d.ts +1 -1
  583. package/src/shade/renderer/light/model/PointLight.d.ts.map +1 -1
  584. package/src/shade/renderer/light/model/SpotLight.d.ts +1 -1
  585. package/src/shade/renderer/light/model/SpotLight.d.ts.map +1 -1
  586. package/src/shade/renderer/loader/gltf/fix_up_material_sides.d.ts.map +1 -1
  587. package/src/shade/renderer/loader/gltf/gltf_create_material.d.ts +1 -1
  588. package/src/shade/renderer/loader/gltf/gltf_create_material.d.ts.map +1 -1
  589. package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +2 -2
  590. package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts.map +1 -1
  591. package/src/shade/renderer/loader/usd/usd_decode_image.d.ts +1 -1
  592. package/src/shade/renderer/loader/usd/usd_decode_image.d.ts.map +1 -1
  593. package/src/shade/renderer/material/util/material_convert_metallic_roughness_to_specular_glossiness.d.ts.map +1 -1
  594. package/src/shade/renderer/material/util/material_convert_specular_glossiness_to_metallic_roughness.d.ts.map +1 -1
  595. package/src/shade/renderer/particles/DESIGN.md +18 -7
  596. package/src/shade/renderer/particles/GPUParticleSystem.d.ts +24 -10
  597. package/src/shade/renderer/particles/GPUParticleSystem.d.ts.map +1 -1
  598. package/src/shade/renderer/particles/GPUParticleSystem.js +77 -72
  599. package/src/shade/renderer/particles/coherence/graph_particle_bucket.d.ts +17 -16
  600. package/src/shade/renderer/particles/coherence/graph_particle_bucket.d.ts.map +1 -1
  601. package/src/shade/renderer/particles/coherence/graph_particle_bucket.js +35 -22
  602. package/src/shade/renderer/particles/graph/ParticleGroupBuilder.d.ts +6 -6
  603. package/src/shade/renderer/particles/graph/ParticleGroupBuilder.d.ts.map +1 -1
  604. package/src/shade/renderer/particles/graph/ParticleNodeGroup.d.ts.map +1 -1
  605. package/src/shade/renderer/particles/graph/ParticleValueType.d.ts +1 -1
  606. package/src/shade/renderer/particles/graph/ParticleValueType.d.ts.map +1 -1
  607. package/src/shade/renderer/particles/graph/make_particle_group.d.ts.map +1 -1
  608. package/src/shade/renderer/particles/graph/particle_graph_authoring.d.ts.map +1 -1
  609. package/src/shade/renderer/particles/graph/particle_group_json.d.ts.map +1 -1
  610. package/src/shade/renderer/particles/graph_particles.d.ts +11 -0
  611. package/src/shade/renderer/particles/graph_particles.d.ts.map +1 -1
  612. package/src/shade/renderer/particles/graph_particles.js +55 -37
  613. package/src/shade/renderer/particles/graph_particles_billboard.d.ts.map +1 -1
  614. package/src/shade/renderer/particles/isa/ParticleVMISA.d.ts.map +1 -1
  615. package/src/shade/renderer/particles/isa/particle_assembly.d.ts.map +1 -1
  616. package/src/shade/renderer/particles/layout/ParticleLayout.d.ts.map +1 -1
  617. package/src/shade/renderer/particles/optimizer/dag/particle_vector_lift.d.ts.map +1 -1
  618. package/src/shade/renderer/particles/optimizer/dag/particle_vector_pack.d.ts.map +1 -1
  619. package/src/shade/renderer/particles/optimizer/optimize_particle_program.d.ts +1 -1
  620. package/src/shade/renderer/particles/optimizer/optimize_particle_program.d.ts.map +1 -1
  621. package/src/shade/renderer/particles/optimizer/particle_program_equivalence.d.ts.map +1 -1
  622. package/src/shade/renderer/particles/runtime/create_particle_effect.d.ts.map +1 -1
  623. package/src/shade/renderer/particles/sort/graph_particle_sort.d.ts +17 -13
  624. package/src/shade/renderer/particles/sort/graph_particle_sort.d.ts.map +1 -1
  625. package/src/shade/renderer/particles/sort/graph_particle_sort.js +43 -33
  626. package/src/shade/renderer/particles/vm/ParticleVMReference.d.ts.map +1 -1
  627. package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.d.ts +1 -1
  628. package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.d.ts.map +1 -1
  629. package/src/shade/renderer/postprocess/graph_pass_composit_red_as_rgba.d.ts.map +1 -1
  630. package/src/shade/renderer/postprocess/nss/NSS.d.ts +4 -4
  631. package/src/shade/renderer/postprocess/nss/NSS.d.ts.map +1 -1
  632. package/src/shade/renderer/postprocess/ssr/SSR.d.ts +3 -3
  633. package/src/shade/renderer/postprocess/ssr/SSR.d.ts.map +1 -1
  634. package/src/shade/renderer/postprocess/taa/TAA.d.ts +2 -2
  635. package/src/shade/renderer/postprocess/taa/TAA.d.ts.map +1 -1
  636. package/src/shade/renderer/rasterize/bucket/prepare_meshlet_draw_commands_by_material.d.ts.map +1 -1
  637. package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts.map +1 -1
  638. package/src/shade/renderer/scene/InstanceBatch.d.ts +1 -1
  639. package/src/shade/renderer/scene/InstanceBatch.d.ts.map +1 -1
  640. package/src/shade/renderer/scene/Node3D.d.ts +3 -3
  641. package/src/shade/renderer/scene/Node3D.d.ts.map +1 -1
  642. package/src/shade/renderer/scene/bvh/StaticSceneBVH.d.ts.map +1 -1
  643. package/src/shade/renderer/shader/compiler/CodeChunk.d.ts.map +1 -1
  644. package/src/shade/renderer/shader/graph/graph_prepare_pass_input_data.d.ts.map +1 -1
  645. package/src/shade/renderer/shader/graph/graph_prepare_pass_input_data.js +11 -0
  646. package/src/shade/renderer/shader/type/WebGPUStruct.d.ts +1 -1
  647. package/src/shade/renderer/shader/type/WebGPUStruct.d.ts.map +1 -1
  648. package/src/shade/renderer/texture/GPUTextureContext.d.ts +1 -1
  649. package/src/shade/renderer/texture/GPUTextureContext.d.ts.map +1 -1
  650. package/src/shade/renderer/texture/format/sampler_descriptor_unpack.d.ts.map +1 -1
  651. package/src/shade/renderer/texture/source/ShadeImage.d.ts +7 -7
  652. package/src/shade/renderer/texture/source/ShadeImage.d.ts.map +1 -1
  653. package/src/shade/renderer/texture/virtual/VTPageTable.d.ts.map +1 -1
  654. package/src/shade/renderer/view/GPUViewContext.d.ts +2 -2
  655. package/src/shade/renderer/view/GPUViewContext.d.ts.map +1 -1
  656. package/src/shade/renderer/view/GPUViewSkyContext.d.ts +1 -1
  657. package/src/shade/renderer/view/GPUViewSkyContext.d.ts.map +1 -1
  658. package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts +2 -2
  659. package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts.map +1 -1
  660. package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts +1 -1
  661. package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts.map +1 -1
  662. package/src/shade/wgsl/emulator/CPUBitmapData.d.ts.map +1 -1
  663. package/src/view/View.d.ts +1 -1
  664. package/src/view/View.d.ts.map +1 -1
  665. package/src/view/elements/button/ButtonView.d.ts +1 -1
  666. package/src/view/elements/button/ButtonView.d.ts.map +1 -1
  667. package/src/view/elements/progress/SmoothProgressBar.d.ts +2 -2
  668. package/src/view/elements/progress/SmoothProgressBar.d.ts.map +1 -1
  669. package/src/view/elements/radial/RadialMenuElement.d.ts +3 -3
  670. package/src/view/elements/radial/RadialMenuElement.d.ts.map +1 -1
  671. package/src/view/elements/windrose/WindRoseDiagram.d.ts.map +1 -1
  672. package/src/view/layout/DockLayoutView.d.ts.map +1 -1
  673. package/src/view/layout/DrawerView.d.ts +2 -2
  674. package/src/view/layout/DrawerView.d.ts.map +1 -1
  675. package/src/view/layout/SplitView.d.ts +9 -9
  676. package/src/view/layout/SplitView.d.ts.map +1 -1
  677. package/src/view/minimap/MinimapMarkerCollection.d.ts +3 -2
  678. package/src/view/minimap/MinimapMarkerCollection.d.ts.map +1 -1
  679. package/src/view/minimap/MinimapMarkerCollection.js +28 -5
  680. package/src/view/minimap/dom/MinimapMarkerView.js +65 -34
  681. package/src/view/minimap/gl/MarkerGL.d.ts +15 -3
  682. package/src/view/minimap/gl/MarkerGL.d.ts.map +1 -1
  683. package/src/view/minimap/gl/MarkerGL.js +31 -4
  684. package/src/engine/physics/BULLET_REVIEW.md +0 -945
  685. package/src/engine/physics/CANNON_REVIEW.md +0 -1300
  686. package/src/engine/physics/CONSTRAINT_SOLVER_BENCH_LOG.md +0 -208
  687. package/src/engine/physics/CONSTRAINT_SOLVER_IMPROVEMENTS_PLAN.md +0 -364
  688. package/src/engine/physics/INTEPOLATION_SYSTEM_PLAN.md +0 -287
  689. package/src/engine/physics/JOLT_REVIEW.md +0 -913
  690. package/src/engine/physics/PLAN.md +0 -1120
  691. package/src/engine/physics/RAPIER_REVIEW.md +0 -934
  692. package/src/engine/physics/REVIEW_001_ACTION_PLAN.md +0 -642
  693. package/src/engine/physics/REVIEW_002.md +0 -151
  694. package/src/engine/physics/REVIEW_003.md +0 -166
  695. package/src/shade/descriptor/util/optional_clone.d.ts +0 -7
  696. package/src/shade/descriptor/util/optional_clone.d.ts.map +0 -1
  697. package/src/shade/descriptor/util/optional_equality.d.ts +0 -10
  698. package/src/shade/descriptor/util/optional_equality.d.ts.map +0 -1
  699. package/src/shade/descriptor/util/optional_hash.d.ts +0 -9
  700. package/src/shade/descriptor/util/optional_hash.d.ts.map +0 -1
  701. package/src/shade/renderer/geometry/virtual/format/prototypeVGEOFormatViewer.js +0 -2063
@@ -0,0 +1,271 @@
1
+ import { VGEO_ATTRIBUTE } from "../attribute/VGEO_ATTRIBUTE.js";
2
+ import { VGEO_ATTRIBUTES } from "../attribute/VGEO_ATTRIBUTES.js";
3
+ import { VGEO_CHILD_OFFSET } from "../frame/VGEO_CHILD_OFFSET.js";
4
+ import { VGEO_CHILD_TABLE_ENTRY_SIZE } from "../frame/VGEO_CHILD_TABLE_ENTRY_SIZE.js";
5
+ import { VGEO_CLUSTER_OFFSET } from "../cluster/VGEO_CLUSTER_OFFSET.js";
6
+ import { VGEO_CLUSTER_RECORD_SIZE } from "../cluster/VGEO_CLUSTER_RECORD_SIZE.js";
7
+ import { VGEO_CODEC_LZ4 } from "../frame/VGEO_CODEC_LZ4.js";
8
+ import { VGEO_CODEC_RAW } from "../frame/VGEO_CODEC_RAW.js";
9
+ import { vgeo_decode_frame_blob } from "../frame/vgeo_decode_frame_blob.js";
10
+ import { VGEO_FRAME_HEADER_SIZE } from "../frame/VGEO_FRAME_HEADER_SIZE.js";
11
+ import { VGEO_FRAME_OFFSET } from "../frame/VGEO_FRAME_OFFSET.js";
12
+ import { vgeo_frame_decode_bound } from "../frame/vgeo_frame_decode_bound.js";
13
+ import { VGEO_GROUP_RECORD_SIZE } from "../page/VGEO_GROUP_RECORD_SIZE.js";
14
+ import { VGEO_PAGE_HEADER_SIZE } from "../page/VGEO_PAGE_HEADER_SIZE.js";
15
+ import { VGEO_PAGE_MAGIC } from "../frame/VGEO_PAGE_MAGIC.js";
16
+ import { VGEO_PAGE_OFFSET } from "../page/VGEO_PAGE_OFFSET.js";
17
+ import { vgeo_read_frame_extent } from "../frame/vgeo_read_frame_extent.js";
18
+ import { VGeoPage } from "./VGeoPage.js";
19
+
20
+ /**
21
+ * Everything in the container is little-endian (`VGEO_FORMAT.md` §2).
22
+ * @type {boolean}
23
+ */
24
+ const LE = true;
25
+
26
+ /**
27
+ * The `encoding_flags` bit that says a cluster's normal section holds one constant-compressed word
28
+ * for the whole cluster instead of one per vertex.
29
+ * @type {number}
30
+ */
31
+ const NORMAL_COMPRESSION_FLAG = VGEO_ATTRIBUTES[VGEO_ATTRIBUTE.NORMAL].compression_flag;
32
+
33
+ /**
34
+ * Turn one fetched frame into a page.
35
+ *
36
+ * This is the unit of incremental reading. It is handed the bytes of exactly one frame — the range a
37
+ * parent's child table named, or the header's `root_page_fetch_size` — and it needs nothing else:
38
+ * no whole-file image, no directory, no other page. That is a property of the format rather than of
39
+ * this function (§5: blobs are independent, no match reaches outside the page), and it is the whole
40
+ * reason a reader can be partial at all.
41
+ *
42
+ * Both refusals below happen before a byte is allocated. The second matters more than it looks:
43
+ * `decoded_size` is four bytes of untrusted file, and honouring one that no block of that length
44
+ * could produce turns corruption into an out-of-memory throw rather than a rejected file.
45
+ *
46
+ * @param {Uint8Array} frame_bytes the frame's exact range, from its first byte
47
+ * @param {number} page_index the frame ordinal this range was fetched as — the caller knows it from
48
+ * the child-table entry or the directory record that named the range
49
+ * @returns {VGeoPage}
50
+ * @throws {Error} when the range is not a frame, uses a codec with no decoder here, or does not
51
+ * decode as its own header says
52
+ *
53
+ * @author Alex Goldring
54
+ * @copyright Company Named Limited (c) 2026
55
+ */
56
+ export function vgeo_read_page(frame_bytes, page_index) {
57
+ const frame_view = new DataView(
58
+ frame_bytes.buffer, frame_bytes.byteOffset, frame_bytes.byteLength
59
+ );
60
+
61
+ if (frame_bytes.byteLength < VGEO_FRAME_HEADER_SIZE) {
62
+ throw new Error(
63
+ `page ${page_index}: ${frame_bytes.byteLength} bytes is shorter than a frame header`
64
+ );
65
+ }
66
+
67
+ const magic = frame_view.getUint32(VGEO_FRAME_OFFSET.MAGIC, LE);
68
+
69
+ /*
70
+ A prefix scan must not use the magic as its terminator (§5), but this is not a scan: the range
71
+ came from a child-table entry or a directory record that claimed a frame lives exactly here. A
72
+ wrong magic therefore means the pointer was wrong, and saying so is worth far more than
73
+ decoding whatever the bytes happen to be.
74
+ */
75
+ if (magic !== VGEO_PAGE_MAGIC) {
76
+ throw new Error(
77
+ `page ${page_index}: the fetched range starts 0x${magic.toString(16)},`
78
+ + ` not a page frame (0x${VGEO_PAGE_MAGIC.toString(16)})`
79
+ );
80
+ }
81
+
82
+ // Rebased to the fetched range rather than the file: the offsets on the extent are what the
83
+ // decoder indexes `frame_bytes` with, and the caller keeps the absolute one.
84
+ const frame = vgeo_read_frame_extent(frame_view, 0, page_index);
85
+
86
+ if (frame.codec !== VGEO_CODEC_RAW && frame.codec !== VGEO_CODEC_LZ4) {
87
+ throw new Error(
88
+ `page ${page_index} uses codec ${frame.codec};`
89
+ + ` this reader decodes ${VGEO_CODEC_RAW} (raw) and ${VGEO_CODEC_LZ4} (lz4)`
90
+ );
91
+ }
92
+
93
+ if (frame.decoded_size > vgeo_frame_decode_bound(frame.codec, frame.stored_size)) {
94
+ throw new Error(
95
+ `page ${page_index} claims ${frame.decoded_size} decoded bytes,`
96
+ + ` more than codec ${frame.codec} could produce from ${frame.stored_size} stored`
97
+ );
98
+ }
99
+
100
+ if (frame.extent > frame_bytes.byteLength) {
101
+ throw new Error(
102
+ `page ${page_index}: its frame runs to ${frame.extent} bytes`
103
+ + ` and ${frame_bytes.byteLength} were fetched`
104
+ );
105
+ }
106
+
107
+ const result = new VGeoPage();
108
+
109
+ result.index = page_index;
110
+ result.codec = frame.codec;
111
+ result.stored_size = frame.stored_size;
112
+ result.decoded_size = frame.decoded_size;
113
+ result.fetch_size = frame.fetch_size;
114
+
115
+ const bytes = new Uint8Array(frame.decoded_size);
116
+
117
+ vgeo_decode_frame_blob(bytes, 0, frame_bytes, frame);
118
+
119
+ result.bytes = bytes;
120
+ result.data = new DataView(bytes.buffer);
121
+
122
+ read_child_table(result, frame_view, frame);
123
+ read_page_header(result);
124
+ read_group_table(result);
125
+ read_cluster_table(result);
126
+
127
+ return result;
128
+ }
129
+
130
+ /**
131
+ * The child table is plaintext inside the frame, never compressed — which is exactly what lets a
132
+ * traversal read fetch ranges without decoding anything. So it is read from the frame's own bytes
133
+ * and not from the decoded page, which does not contain it.
134
+ *
135
+ * @param {VGeoPage} page
136
+ * @param {DataView} frame_view over the fetched frame
137
+ * @param {VGeoFrameExtent} frame rebased to `frame_view`
138
+ */
139
+ function read_child_table(page, frame_view, frame) {
140
+ const count = frame.child_page_count;
141
+
142
+ page.child_page_index = new Uint32Array(count);
143
+ page.child_frame_offset = new Float64Array(count);
144
+ page.child_fetch_size = new Uint32Array(count);
145
+ page.child_decoded_size = new Uint32Array(count);
146
+
147
+ for (let i = 0; i < count; i++) {
148
+ const entry = VGEO_FRAME_HEADER_SIZE + i * VGEO_CHILD_TABLE_ENTRY_SIZE;
149
+
150
+ page.child_page_index[i] = frame_view.getUint32(entry + VGEO_CHILD_OFFSET.PAGE_INDEX, LE);
151
+
152
+ /*
153
+ A u64 offset into a Float64Array. Every offset the format can express past 2^53 names a
154
+ file no browser will hold anyway, and a double indexes the ones it can exactly — while
155
+ BigInt here would put a heap object on the hot path of every child-table read.
156
+ */
157
+ page.child_frame_offset[i] =
158
+ Number(frame_view.getBigUint64(entry + VGEO_CHILD_OFFSET.FRAME_OFFSET, LE));
159
+
160
+ page.child_fetch_size[i] = frame_view.getUint32(entry + VGEO_CHILD_OFFSET.FETCH_SIZE, LE);
161
+ page.child_decoded_size[i] = frame_view.getUint32(entry + VGEO_CHILD_OFFSET.DECODED_SIZE, LE);
162
+ }
163
+ }
164
+
165
+ /**
166
+ * @param {VGeoPage} page
167
+ */
168
+ function read_page_header(page) {
169
+ const data = page.data;
170
+
171
+ if (page.bytes.byteLength < VGEO_PAGE_HEADER_SIZE) {
172
+ throw new Error(
173
+ `page ${page.index}: decoded to ${page.bytes.byteLength} bytes,`
174
+ + ` shorter than a page header`
175
+ );
176
+ }
177
+
178
+ page.cluster_count = data.getUint16(VGEO_PAGE_OFFSET.CLUSTER_COUNT, LE);
179
+ page.min_level = data.getUint8(VGEO_PAGE_OFFSET.MIN_LEVEL);
180
+ page.max_level = data.getUint8(VGEO_PAGE_OFFSET.MAX_LEVEL);
181
+ page.node_count = data.getUint16(VGEO_PAGE_OFFSET.NODE_COUNT, LE);
182
+ page.payload_offset = data.getUint32(VGEO_PAGE_OFFSET.PAYLOAD_OFFSET, LE);
183
+ page.payload_size = data.getUint32(VGEO_PAGE_OFFSET.PAYLOAD_SIZE, LE);
184
+ }
185
+
186
+ /**
187
+ * @param {VGeoPage} page
188
+ */
189
+ function read_group_table(page) {
190
+ const data = page.data;
191
+
192
+ const count = data.getUint16(VGEO_PAGE_OFFSET.GROUP_COUNT, LE);
193
+
194
+ page.group_cluster_first = new Uint16Array(count);
195
+ page.group_cluster_count = new Uint16Array(count);
196
+ page.group_parent_count = new Uint16Array(count);
197
+
198
+ for (let i = 0; i < count; i++) {
199
+ const record = VGEO_PAGE_HEADER_SIZE + i * VGEO_GROUP_RECORD_SIZE;
200
+
201
+ page.group_cluster_first[i] = data.getUint16(record, LE);
202
+ page.group_cluster_count[i] = data.getUint16(record + 2, LE);
203
+ page.group_parent_count[i] = data.getUint16(record + 4, LE);
204
+ }
205
+ }
206
+
207
+ /**
208
+ * @param {VGeoPage} page
209
+ */
210
+ function read_cluster_table(page) {
211
+ const data = page.data;
212
+
213
+ const count = page.cluster_count;
214
+
215
+ const table = data.getUint32(VGEO_PAGE_OFFSET.CLUSTER_TABLE_OFFSET, LE);
216
+
217
+ const end = table + count * VGEO_CLUSTER_RECORD_SIZE;
218
+
219
+ if (end > page.bytes.byteLength) {
220
+ throw new Error(
221
+ `page ${page.index}: its ${count} cluster records end at ${end},`
222
+ + ` past the ${page.bytes.byteLength} bytes it decoded to`
223
+ );
224
+ }
225
+
226
+ page.self_sphere = new Float32Array(count * 4);
227
+ page.bounds_sphere = new Float32Array(count * 4);
228
+ page.self_error = new Float32Array(count);
229
+ page.parent_error = new Float32Array(count);
230
+ page.child_ref = new Uint16Array(count);
231
+ page.child_group = new Uint16Array(count);
232
+ page.encoding_flags = new Uint32Array(count);
233
+ page.cluster_payload_offset = new Uint32Array(count);
234
+ page.vertex_count = new Uint8Array(count);
235
+ page.triangle_count = new Uint8Array(count);
236
+ page.group_of_cluster = new Uint16Array(count);
237
+
238
+ for (let i = 0; i < count; i++) {
239
+ const record = table + i * VGEO_CLUSTER_RECORD_SIZE;
240
+
241
+ for (let c = 0; c < 4; c++) {
242
+ page.self_sphere[i * 4 + c] =
243
+ data.getFloat32(record + VGEO_CLUSTER_OFFSET.SELF_SPHERE + c * 4, LE);
244
+ page.bounds_sphere[i * 4 + c] =
245
+ data.getFloat32(record + VGEO_CLUSTER_OFFSET.BOUNDS_SPHERE + c * 4, LE);
246
+ }
247
+
248
+ page.self_error[i] = data.getFloat32(record + VGEO_CLUSTER_OFFSET.SELF_ERROR, LE);
249
+ page.parent_error[i] = data.getFloat32(record + VGEO_CLUSTER_OFFSET.PARENT_ERROR, LE);
250
+ page.child_ref[i] = data.getUint16(record + VGEO_CLUSTER_OFFSET.CHILD_REF, LE);
251
+ page.child_group[i] = data.getUint16(record + VGEO_CLUSTER_OFFSET.CHILD_GROUP, LE);
252
+ page.encoding_flags[i] = data.getUint32(record + VGEO_CLUSTER_OFFSET.ENCODING_FLAGS, LE);
253
+ page.cluster_payload_offset[i] =
254
+ data.getUint32(record + VGEO_CLUSTER_OFFSET.PAYLOAD_OFFSET, LE);
255
+ page.vertex_count[i] = data.getUint8(record + VGEO_CLUSTER_OFFSET.VERTEX_COUNT);
256
+ page.triangle_count[i] = data.getUint8(record + VGEO_CLUSTER_OFFSET.TRIANGLE_COUNT);
257
+
258
+ if ((page.encoding_flags[i] & NORMAL_COMPRESSION_FLAG) === 0) {
259
+ page.per_vertex_normal_cluster_count++;
260
+ }
261
+ }
262
+
263
+ for (let group = 0; group < page.group_cluster_first.length; group++) {
264
+ const first = page.group_cluster_first[group];
265
+ const members = page.group_cluster_count[group];
266
+
267
+ for (let i = 0; i < members; i++) {
268
+ page.group_of_cluster[first + i] = group;
269
+ }
270
+ }
271
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"brick4_bake_for_scene.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/global_illumination/brick4/cpu/brick4_bake_for_scene.js"],"names":[],"mappings":"AAQA;;;;;;;GAOG;AACH;;YAF4D,WAAW;GA2DtE"}
1
+ {"version":3,"file":"brick4_bake_for_scene.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/global_illumination/brick4/cpu/brick4_bake_for_scene.js"],"names":[],"mappings":"AAQA;;;;;;;GAOG;AACH,uGAFa,QAAQ;IAAC,IAAI,yBAAyB;IAAC,MAAM,EAAE,WAAW,CAAA;CAAC,CAAC,CA2DxE"}
@@ -19,7 +19,7 @@ export class GPUClipMap3D {
19
19
  *
20
20
  * @param {number} v
21
21
  */
22
- set cascade_resolution(arg: number);
22
+ set cascade_resolution(v: number);
23
23
  /**
24
24
  *
25
25
  * @return {number}
@@ -29,7 +29,7 @@ export class GPUClipMap3D {
29
29
  *
30
30
  * @param {number} v
31
31
  */
32
- set cascade_count(arg: number);
32
+ set cascade_count(v: number);
33
33
  /**
34
34
  *
35
35
  * @return {number}
@@ -1 +1 @@
1
- {"version":3,"file":"GPUClipMap3D.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/global_illumination/clipmap/GPUClipMap3D.js"],"names":[],"mappings":"AAMA;IA4DI;;;OAGG;IACH,+BAiCC;IA/DD;;;OAGG;IACH,iCAIC;IAQD;;;OAGG;IACH,+BAIC;IAyCD,eAOC;IAuCD;;;OAGG;IACH,oCAWC;IAED;;;OAGG;IACH,iCAEC;IAED;;;OAGG;IACH,+BAYC;IAED;;;OAGG;IACH,4BAEC;IAED,gBAGC;;CACJ;kCA3MiC,oCAAoC;+BADvC,gCAAgC"}
1
+ {"version":3,"file":"GPUClipMap3D.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/global_illumination/clipmap/GPUClipMap3D.js"],"names":[],"mappings":"AAMA;IA4DI;;;OAGG;IACH,+BAiCC;IA/DD;;;OAGG;IACH,iCAIC;IAQD;;;OAGG;IACH,+BAIC;IAyCD,eAOC;IAuCD;;;OAGG;IACH,kCAWC;IAED;;;OAGG;IACH,iCAEC;IAED;;;OAGG;IACH,6BAYC;IAED;;;OAGG;IACH,4BAEC;IAED,gBAGC;;CACJ;kCA3MiC,oCAAoC;+BADvC,gCAAgC"}
@@ -12,7 +12,7 @@ export class LightProbeVolume {
12
12
  * @returns {TetrahedralMesh}
13
13
  */
14
14
  get mesh(): TetrahedralMesh;
15
- set positions(arg: Float32Array);
15
+ set positions(data: Float32Array);
16
16
  /**
17
17
  *
18
18
  * @returns {Float32Array}
@@ -1 +1 @@
1
- {"version":3,"file":"LightProbeVolume.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/global_illumination/lpv/LightProbeVolume.js"],"names":[],"mappings":"AAUA;;GAEG;AACH;IASI;;;OAGG;IACH,iCAEC;IAKD;;;OAGG;IACH,4BAEC;IAUD,iCAMC;IAdD;;;OAGG;IACH,8BAEC;IAUD;;;OAGG;IACH,0BAEC;IAID;;;OAGG;IACH,sBAEC;IAED,eAEC;IAED;;;;;OAKG;IACH,aAJW,MAAM,KACN,MAAM,KACN,MAAM,UAehB;IAED;;;OAGG;IACH,oBAFW,MAAM,QAiBhB;IAuBD,mBAUC;IAED;;;;OAIG;IACH,mBAHW,KAAK,cACL,UAAQ;QAAC,CAAC,EAAC,MAAM,CAAC;QAAC,CAAC,EAAC,MAAM,CAAC;QAAC,CAAC,EAAC,MAAM,CAAA;KAAC,QAchD;;CACJ;oBAjKY,OAAO,wCAAwC,EAAE,KAAK;gCAJnC,wDAAwD"}
1
+ {"version":3,"file":"LightProbeVolume.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/global_illumination/lpv/LightProbeVolume.js"],"names":[],"mappings":"AAUA;;GAEG;AACH;IASI;;;OAGG;IACH,iCAEC;IAKD;;;OAGG;IACH,4BAEC;IAUD,kCAMC;IAdD;;;OAGG;IACH,8BAEC;IAUD;;;OAGG;IACH,0BAEC;IAID;;;OAGG;IACH,sBAEC;IAED,eAEC;IAED;;;;;OAKG;IACH,aAJW,MAAM,KACN,MAAM,KACN,MAAM,UAehB;IAED;;;OAGG;IACH,oBAFW,MAAM,QAiBhB;IAuBD,mBAUC;IAED;;;;OAIG;IACH,mBAHW,KAAK,cACL,UAAQ;QAAC,CAAC,EAAC,MAAM,CAAC;QAAC,CAAC,EAAC,MAAM,CAAC;QAAC,CAAC,EAAC,MAAM,CAAA;KAAC,QAchD;;CACJ;oBAjKY,OAAO,wCAAwC,EAAE,KAAK;gCAJnC,wDAAwD"}
@@ -15,7 +15,7 @@ export class GPULightProbeVolumeRenderer {
15
15
  *
16
16
  * @param {GPUTextureContext} v
17
17
  */
18
- set environment(arg: GPUTextureContext);
18
+ set environment(v: GPUTextureContext);
19
19
  /**
20
20
  *
21
21
  * @returns {GPUTextureContext}
@@ -1 +1 @@
1
- {"version":3,"file":"GPULightProbeVolumeRenderer.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.js"],"names":[],"mappings":"AAqBA;IA+GI;;;;OAIG;IACH,qEAMC;IAhCD;;;;OAIG;IACH,+DAcC;IAtFD;;;OAGG;IACH,wCAEC;IAdD;;;OAGG;IACH,qCAEC;IAoCD;;;OAGG;IACH,6BAEC;IAYD;;;OAGG;IACH,0CASC;IAyDD;;;OAGG;IACH,gCAFW,MAAM,4BAahB;IAED;;;;;OAKG;IACH,qBAJW,sBAAsB,gBACtB,MAAM,qBACN,MAAM,QA6ChB;IAED,aAgGC;IAED;;;OAGG;IACH,sCAFW,MAAM,QA8ChB;IAED;;;OAGG;IACH,eAFY,MAAM,CAUjB;IAED,gBACC;;CACJ;kCAnYiC,uCAAuC;uCAFlC,8CAA8C"}
1
+ {"version":3,"file":"GPULightProbeVolumeRenderer.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.js"],"names":[],"mappings":"AAqBA;IA+GI;;;;OAIG;IACH,qEAMC;IAhCD;;;;OAIG;IACH,+DAcC;IAtFD;;;OAGG;IACH,sCAEC;IAdD;;;OAGG;IACH,qCAEC;IAoCD;;;OAGG;IACH,6BAEC;IAYD;;;OAGG;IACH,0CASC;IAyDD;;;OAGG;IACH,gCAFW,MAAM,4BAahB;IAED;;;;;OAKG;IACH,qBAJW,sBAAsB,gBACtB,MAAM,qBACN,MAAM,QA6ChB;IAED,aAgGC;IAED;;;OAGG;IACH,sCAFW,MAAM,QA8ChB;IAED;;;OAGG;IACH,eAFY,MAAM,CAUjB;IAED,gBACC;;CACJ;kCAnYiC,uCAAuC;uCAFlC,8CAA8C"}
@@ -8,7 +8,7 @@ export class SpatialHashRadianceCache {
8
8
  get buffer_hash_entries(): GPUBuffer;
9
9
  get buffer_voxel_data(): GPUBuffer;
10
10
  get size(): number;
11
- set scene_scale(arg: number);
11
+ set scene_scale(value: number);
12
12
  get scene_scale(): number;
13
13
  /**
14
14
  *
@@ -1 +1 @@
1
- {"version":3,"file":"SpatialHashRadianceCache.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.js"],"names":[],"mappings":"AAaA;IAkDI;;;;OAIG;IACH,8CAFW,MAAM,EAkBhB;IA1DD,qCAEC;IASD,mCAEC;IAQD,mBAEC;IAQD,6BAIC;IARD,0BAEC;IAiCD;;;;;;;;OAQG;IACH,gHAyGC;IAED,gBAEC;IAED,gBAEC;IAED,cAiBC;IAGD,gBAUC;IAED;;;OAqBC;IAED;;;OAGG;IACH,+BAYC;;CACJ"}
1
+ {"version":3,"file":"SpatialHashRadianceCache.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.js"],"names":[],"mappings":"AAaA;IAkDI;;;;OAIG;IACH,8CAFW,MAAM,EAkBhB;IA1DD,qCAEC;IASD,mCAEC;IAQD,mBAEC;IAQD,+BAIC;IARD,0BAEC;IAiCD;;;;;;;;OAQG;IACH,gHAyGC;IAED,gBAEC;IAED,gBAEC;IAED,cAiBC;IAGD,gBAUC;IAED;;;OAqBC;IAED;;;OAGG;IACH,+BAYC;;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"check_bvh_structure.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/gpu_primitive/bvh/check_bvh_structure.js"],"names":[],"mappings":"AAwBA;;;;;;;;;;;;GAYG;AACH,qCAHW,WAAW,GAAC,MAAM,EAAE;WACV,WAAW;YAAU,YAAY;EASrD;AAED;;;;;;;GAOG;AACH,qCALW,WAAW,UACX,YAAY,QACZ,MAAM,GACJ;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAC,CAY7E;AAED;;;;;;GAMG;AACH,kCAJW,MAAM,EAAE,QACR,MAAM,EAAE,GACN,MAAM,CAQlB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,0CALW,WAAW,GAAC,MAAM,EAAE,cACpB,MAAM,qBACN,MAAM,EAAE,GAAC,WAAW;cACP,MAAM,EAAE;cAAY,MAAM,EAAE;qBAAmB,MAAM,EAAE;eAAa,MAAM;SAAO,MAAM;0BAAwB,IAAI,MAAM,EAAE,MAAM,CAAC;WAAS,WAAW;YAAU,YAAY;EA2HnM;AAED;;;;;GAKG;AACH,wDAHW,MAAM,EAAE,GACN,MAAM,CAOlB;AAhOD;;GAEG;AACH,4BAFU,MAAM,CAEwB;AAExC;;;;;;;;GAQG;AACH,mCAFU,MAAM,CAEuB"}
1
+ {"version":3,"file":"check_bvh_structure.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/gpu_primitive/bvh/check_bvh_structure.js"],"names":[],"mappings":"AAwBA;;;;;;;;;;;;GAYG;AACH,qCAHW,WAAW,GAAC,MAAM,EAAE,GAClB;IAAC,KAAK,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAC,CAStD;AAED;;;;;;;GAOG;AACH,qCALW,WAAW,UACX,YAAY,QACZ,MAAM,GACJ;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAC,CAY7E;AAED;;;;;;GAMG;AACH,kCAJW,MAAM,EAAE,QACR,MAAM,EAAE,GACN,MAAM,CAQlB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,0CALW,WAAW,GAAC,MAAM,EAAE,cACpB,MAAM,qBACN,MAAM,EAAE,GAAC,WAAW,GAClB;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,IAAI,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAC,CA2HpM;AAED;;;;;GAKG;AACH,wDAHW,MAAM,EAAE,GACN,MAAM,CAOlB;AAhOD;;GAEG;AACH,4BAFU,MAAM,CAEwB;AAExC;;;;;;;;GAQG;AACH,mCAFU,MAAM,CAEuB"}
@@ -8,7 +8,7 @@ export class LightCollection {
8
8
  * Must be an octahedral-encoded spherical texture
9
9
  * @param {ShadeTexture} v
10
10
  */
11
- set environment(arg: ShadeTexture);
11
+ set environment(v: ShadeTexture);
12
12
  /**
13
13
  *
14
14
  * @returns {ShadeTexture}
@@ -23,7 +23,7 @@ export class LightCollection {
23
23
  *
24
24
  * @param {boolean} v
25
25
  */
26
- set needsUpdate(arg: boolean);
26
+ set needsUpdate(v: boolean);
27
27
  /**
28
28
  *
29
29
  * @param {Light} light
@@ -1 +1 @@
1
- {"version":3,"file":"LightCollection.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/light/LightCollection.js"],"names":[],"mappings":"AAGA;IAQI;;;OAGG;IACH,wBAEC;IAgBD;;;OAGG;IACH,mCAMC;IAlBD;;;OAGG;IACH,gCAEC;IAiBD;;;OAGG;IACH,sBAEC;IAED;;;OAGG;IACH,8BAIC;IAED;;;OAGG;IACH,wBAIC;IAED;;;;;OAKG;IACH,sBAFa,OAAO,CAUnB;;CACJ"}
1
+ {"version":3,"file":"LightCollection.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/light/LightCollection.js"],"names":[],"mappings":"AAGA;IAQI;;;OAGG;IACH,wBAEC;IAgBD;;;OAGG;IACH,iCAMC;IAlBD;;;OAGG;IACH,gCAEC;IAiBD;;;OAGG;IACH,sBAEC;IAED;;;OAGG;IACH,4BAIC;IAED;;;OAGG;IACH,wBAIC;IAED;;;;;OAKG;IACH,sBAFa,OAAO,CAUnB;;CACJ"}
@@ -1,6 +1,6 @@
1
1
  export class PointLight extends Light {
2
2
  distance: number;
3
- set intensity_lumens(arg: number);
3
+ set intensity_lumens(value: number);
4
4
  /**
5
5
  * Luminous power (Φ) in lumens. View of `intensity` (in cd) using the
6
6
  * isotropic point-source conversion `cd = lm / (4π)`.
@@ -1 +1 @@
1
- {"version":3,"file":"PointLight.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/light/model/PointLight.js"],"names":[],"mappings":"AAEA;IAII,iBAAa;IAgBb,kCAEC;IAZD;;;;;OAKG;IACH,+BAEC;IAOL;;;OAGG;IACH,uBAFU,OAAO,CAEgB;CANhC;sBAzBqB,YAAY"}
1
+ {"version":3,"file":"PointLight.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/light/model/PointLight.js"],"names":[],"mappings":"AAEA;IAII,iBAAa;IAgBb,oCAEC;IAZD;;;;;OAKG;IACH,+BAEC;IAOL;;;OAGG;IACH,uBAFU,OAAO,CAEgB;CANhC;sBAzBqB,YAAY"}
@@ -14,7 +14,7 @@ export class SpotLight extends Light {
14
14
  * @type {number}
15
15
  */
16
16
  penumbra: number;
17
- set intensity_lumens(arg: number);
17
+ set intensity_lumens(value: number);
18
18
  /**
19
19
  * Luminous power (Φ) in lumens. View of `intensity` (in cd) using the
20
20
  * cone-solid-angle conversion `cd = lm / (2π(1 − cos θ))`, where θ is the
@@ -1 +1 @@
1
- {"version":3,"file":"SpotLight.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/light/model/SpotLight.js"],"names":[],"mappings":"AAGA;IACI;;;OAGG;IACH,UAFU,MAAM,CAEO;IAEvB;;;OAGG;IACH,OAFU,MAAM,CAEI;IAEpB;;;OAGG;IACH,UAFU,MAAM,CAEH;IAyBb,kCAGC;IApBD;;;;;;;;;;;OAWG;IACH,+BAGC;IAQL;;;OAGG;IACH,sBAFU,OAAO,CAEc;CAN9B;sBAhDqB,YAAY"}
1
+ {"version":3,"file":"SpotLight.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/light/model/SpotLight.js"],"names":[],"mappings":"AAGA;IACI;;;OAGG;IACH,UAFU,MAAM,CAEO;IAEvB;;;OAGG;IACH,OAFU,MAAM,CAEI;IAEpB;;;OAGG;IACH,UAFU,MAAM,CAEH;IAyBb,oCAGC;IApBD;;;;;;;;;;;OAWG;IACH,+BAGC;IAQL;;;OAGG;IACH,sBAFU,OAAO,CAEc;CAN9B;sBAhDqB,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"fix_up_material_sides.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/loader/gltf/fix_up_material_sides.js"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,8CAHW,MAAM;yBACiB,MAAM;sBAAoB,MAAM;EAoGjE"}
1
+ {"version":3,"file":"fix_up_material_sides.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/loader/gltf/fix_up_material_sides.js"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,8CAHW,MAAM,GACJ;IAAC,mBAAmB,EAAC,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAC,CAoGlE"}
@@ -5,7 +5,7 @@
5
5
  * @returns {StandardShadeMaterial}
6
6
  */
7
7
  export function gltf_create_material(gltf_material: {
8
- pbrMetallicRoughness?: any;
8
+ pbrMetallicRoughness?;
9
9
  normalTexture?: number;
10
10
  doubleSided?: boolean;
11
11
  }, textures: ShadeTexture[]): StandardShadeMaterial;
@@ -1 +1 @@
1
- {"version":3,"file":"gltf_create_material.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/loader/gltf/gltf_create_material.js"],"names":[],"mappings":"AAgBA;;;;;GAKG;AACH;;oBAJiD,MAAM;kBAAc,OAAO;aACjE,cAAc,GACZ,qBAAqB,CAoQjC;sCAnRqC,yCAAyC"}
1
+ {"version":3,"file":"gltf_create_material.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/loader/gltf/gltf_create_material.js"],"names":[],"mappings":"AAgBA;;;;;GAKG;AACH,oDAJW;IAAC,oBAAoB,CAAC,CAAC;IAAA,aAAa,CAAC,EAAC,MAAM,CAAC;IAAA,WAAW,CAAC,EAAC,OAAO,CAAA;CAAC,YAClE,cAAc,GACZ,qBAAqB,CAoQjC;sCAnRqC,yCAAyC"}
@@ -65,8 +65,8 @@ export class TinyGltf {
65
65
  * @return {Promise<{asset}|*>}
66
66
  */
67
67
  loadFromJson(json: {
68
- bufferViews: any;
69
- asset: any;
68
+ bufferViews;
69
+ asset;
70
70
  accessors: [];
71
71
  nodes: [];
72
72
  samplers?: [];
@@ -1 +1 @@
1
- {"version":3,"file":"tiny-gltf.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/loader/gltf/tiny-gltf.js"],"names":[],"mappings":"AA4UA;IAoEI;;;;;;;;;;;;;OAaG;IACH,+CAFU,aAAa,CAEgC;IA3BvD;;;;OAIG;IACH,qFAFW,qBAAqB,EAQ/B;IAjED,oBAA2B;IAE3B;;;;;;;;OAQG;IACH,iDAAmD;IAEnD;;;;;;;;;OASG;IACH,SAFU,IAAI,MAAM,EAAE,IAAI,GAAC,IAAI,GAAC,WAAW,CAAC,GAAC,SAAS,CAElC;IAqKpB;;;OAGG;IACH,iBAHW,MAAM,GACJ,QAAQ,QAAQ,CAAC,CAgB7B;IAED;;;;;;OAMG;IACH,4BAJW,WAAW,WACX,MAAM,GACL,QAAQ;QAAC,KAAK,CAAA;KAAC,MAAE,CAAC,CAM7B;IAED;;;;;;OAMG;IACH;;;mBALwC,EAAE;eAAO,EAAE;mBAAW,EAAE;iBAAS,EAAE;mBAAW,EAAE;kBAAW,EAAE;gBAAS,EAAE;gBAAQ,EAAE;gBAC/G,MAAM,gBACN,UAAU,GACT,QAAQ;QAAC,KAAK,CAAA;KAAC,MAAE,CAAC,CAuR7B;;CAGJ;8BA5yB6B,qDAAqD"}
1
+ {"version":3,"file":"tiny-gltf.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/loader/gltf/tiny-gltf.js"],"names":[],"mappings":"AA4UA;IAoEI;;;;;;;;;;;;;OAaG;IACH,+CAFU,aAAa,CAEgC;IA3BvD;;;;OAIG;IACH,qFAFW,qBAAqB,EAQ/B;IAjED,oBAA2B;IAE3B;;;;;;;;OAQG;IACH,iDAAmD;IAEnD;;;;;;;;;OASG;IACH,SAFU,IAAI,MAAM,EAAE,IAAI,GAAC,IAAI,GAAC,WAAW,CAAC,GAAC,SAAS,CAElC;IAqKpB;;;OAGG;IACH,iBAHW,MAAM,GACJ,QAAQ,QAAQ,CAAC,CAgB7B;IAED;;;;;;OAMG;IACH,4BAJW,WAAW,WACX,MAAM,GACL,QAAQ;QAAC,KAAK,CAAA;KAAC,MAAE,CAAC,CAM7B;IAED;;;;;;OAMG;IACH,mBALW;QAAC,WAAW,CAAC;QAAA,KAAK,CAAC;QAAA,SAAS,EAAC,EAAE,CAAC;QAAA,KAAK,EAAC,EAAE,CAAC;QAAA,QAAQ,CAAC,EAAC,EAAE,CAAC;QAAA,OAAO,EAAC,EAAE,CAAC;QAAA,SAAS,EAAC,EAAE,CAAC;QAAC,QAAQ,EAAC,EAAE,CAAC;QAAC,MAAM,EAAC,EAAE,CAAC;QAAA,MAAM,EAAC,EAAE,CAAA;KAAC,WAChH,MAAM,gBACN,UAAU,GACT,QAAQ;QAAC,KAAK,CAAA;KAAC,MAAE,CAAC,CAuR7B;;CAGJ;8BA5yB6B,qDAAqD"}
@@ -7,7 +7,7 @@
7
7
  export function decode_data_url(url: string): {
8
8
  mimeType: string;
9
9
  data: Uint8Array;
10
- };
10
+ } | null;
11
11
  /**
12
12
  * Decode a PNG to 8-bit RGBA pixels.
13
13
  *
@@ -1 +1 @@
1
- {"version":3,"file":"usd_decode_image.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/loader/usd/usd_decode_image.js"],"names":[],"mappings":"AA4BA;;;;;GAKG;AACH,qCAHW,MAAM;cACQ,MAAM;UAAQ,UAAU;EAgChD;AAGD;;;;;;;;;GASG;AACH,sCAHW,UAAU,GAAC,WAAW;WACH,MAAM;YAAU,MAAM;cAAY,MAAM;YAAU,UAAU;GA0DzF;AAGD;;;;;GAKG;AACH,2DAHW;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GACrE,YAAY,CAexB;6BAnI4B,+BAA+B"}
1
+ {"version":3,"file":"usd_decode_image.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/loader/usd/usd_decode_image.js"],"names":[],"mappings":"AA4BA;;;;;GAKG;AACH,qCAHW,MAAM,GACJ;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG,IAAI,CAgCzD;AAGD;;;;;;;;;GASG;AACH,sCAHW,UAAU,GAAC,WAAW,GACpB,QAAQ;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC,CA0D5F;AAGD;;;;;GAKG;AACH,2DAHW;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GACrE,YAAY,CAexB;6BAnI4B,+BAA+B"}
@@ -1 +1 @@
1
- {"version":3,"file":"material_convert_metallic_roughness_to_specular_glossiness.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/material/util/material_convert_metallic_roughness_to_specular_glossiness.js"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,uFALW,KAAK,YACL,MAAM,aACN,MAAM;cACM,KAAK;aAAU,KAAK;gBAAc,MAAM;EA4B9D;sBAtCqB,iCAAiC"}
1
+ {"version":3,"file":"material_convert_metallic_roughness_to_specular_glossiness.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/material/util/material_convert_metallic_roughness_to_specular_glossiness.js"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,uFALW,KAAK,YACL,MAAM,aACN,MAAM,GACJ;IAAC,QAAQ,EAAC,KAAK,CAAC;IAAC,OAAO,EAAC,KAAK,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAC,CA4B/D;sBAtCqB,iCAAiC"}
@@ -1 +1 @@
1
- {"version":3,"file":"material_convert_specular_glossiness_to_metallic_roughness.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/material/util/material_convert_specular_glossiness_to_metallic_roughness.js"],"names":[],"mappings":"AAiDA;;;;;;GAMG;AACH,oFALW,KAAK,YACL,KAAK,cACL,MAAM;eACO,MAAM;gBAAc,KAAK;cAAY,MAAM;EAmClE;sBAzFqB,iCAAiC"}
1
+ {"version":3,"file":"material_convert_specular_glossiness_to_metallic_roughness.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/material/util/material_convert_specular_glossiness_to_metallic_roughness.js"],"names":[],"mappings":"AAiDA;;;;;;GAMG;AACH,oFALW,KAAK,YACL,KAAK,cACL,MAAM,GACL;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAmCnE;sBAzFqB,iCAAiC"}
@@ -311,11 +311,15 @@ or simulation, the previous compact alive list is bucketed again and its padded
311
311
  are rebuilt. This prevents a previously shared wave from executing one emitter's newly edited program
312
312
  over another emitter's particles. Ordinary frames keep the existing end-of-frame bucketing only;
313
313
  content-identical replacements need no repair. Both bucket runs on an edit frame reuse the latest
314
- graph handles for their scratch buffers, so each persistent buffer is imported once.
314
+ graph handles for their scratch, so it is created once and both runs share one dependency chain.
315
315
 
316
- The coherence list is persistent GPU state, including its padding. Growing the bucket capacity copies
317
- it to the replacement buffer before destroying the old one. The old count and indirect dispatch
318
- remain valid across growth; only the per-frame histogram/cursor/key scratch may be discarded.
316
+ The coherence list is persistent GPU state, including its padding — the one thing the bucketing
317
+ leaves behind. Growing the bucket capacity copies it to the replacement buffer before destroying the
318
+ old one; the old count and indirect dispatch remain valid across growth. The histogram, cursors, keys
319
+ and dispatch args beside it live and die inside one frame graph, so the passes that write them
320
+ declare them (a `BufferResourceDescriptor` in place of a handle) and the graph allocates and releases
321
+ them around their users. None asks for a clear: the reset pass already covers every word it will
322
+ read, and `keys` is written by the same indirect dispatch that reads it.
319
323
 
320
324
  Every row of a frame is staged through one module-static record (`EmitterRegistry`), so a flush
321
325
  allocates nothing however many rows it restages.
@@ -493,6 +497,9 @@ camera uniform's view matrix, `graph_prefix_scan_csdldf` the bin counts to offse
493
497
  payload). The sorted index list feeds the instanced draw. Both per-particle passes are bounded by
494
498
  the alive counter and dispatched by the args the bucket reset wrote from it.
495
499
 
500
+ Every buffer the sort touches is the graph's, made at the pass that writes it and released after the
501
+ draw, so a system drawn through AVBOIT — which records none of these passes — allocates none of it.
502
+
496
503
  Reordering the render list for program coherence would break transparency; depth-sorting the
497
504
  simulation list would destroy the coherence. They share no buffer and no counter slot —
498
505
  `PARTICLE_COUNTER.SORTED` belongs to the render order, `SIM_PADDED` to the simulation order.
@@ -627,9 +634,13 @@ through `GPUTextureContext`.
627
634
 
628
635
  ### Ownership: `GPUParticleSystem`
629
636
 
630
- Constructed once against a `GPUSceneContext`, in the mould of `ReSTIRDI`. It owns every persistent
631
- buffer — pool, alive lists, dead list, counters, both indirect-args buffers, the coherence and sort
632
- scratch, the emitter database (both tables), the packed program buffer, the spawn-command ring — and grows the ones that depend on the emitter set inside `execute`. The
637
+ Constructed once against a `GPUSceneContext`, in the mould of `ReSTIRDI`. It owns persistent buffers
638
+ and only those — a buffer is reserved here if and only if its contents cross the frame boundary:
639
+ pool, alive lists, dead list, counters, the coherence list, simulate's indirect dispatch args, the
640
+ emitter database (both tables), the packed program buffer, the spawn-command ring and the warm-up
641
+ queue — and grows the ones that depend on the emitter set inside `execute`. Everything else a frame
642
+ touches is the frame graph's, declared by the pass that first writes it: the bucketing scratch, the
643
+ whole depth sort, the draw args, the spawn counts and the wide register file. The
633
644
  default atlas is a 1x1 white texel. `execute({graph, camera, scene_database, color, depth, dt})`
634
645
  sweeps the scene, pushes what changed (on a command context opened only when something needs
635
646
  one), and records the whole frame through `graph_particles`, returning the colour handle after
@@ -5,15 +5,24 @@
5
5
  *
6
6
  * ## What it owns
7
7
  *
8
- * Every piece of persistent GPU state: the particle pool, the ping-pong alive lists, the dead
9
- * free-list, the counters, both indirect-args buffers, the simulation-order (coherence) scratch,
10
- * the emitter database (the emitter table and the GPU-owned state table, one buffer), the packed
11
- * program buffer, and the spawn-command ring. Buffers that depend on the emitter set — the
12
- * coherence scratch on the number of distinct programs, the program buffer on the heap, the
8
+ * Persistent GPU state, and only that: a buffer is reserved here if and only if its contents have
9
+ * to survive to the next frame. That is the particle pool, the ping-pong alive lists, the dead
10
+ * free-list, the counters, the simulation-order (coherence) list, simulate's indirect dispatch args
11
+ * (written at the end of one frame, read by the next), the emitter database (the emitter table and
12
+ * the GPU-owned state table, one buffer), the packed program buffer, and the two CPU-uploaded
13
+ * queues — the spawn-command ring and the warm-up queue. Buffers that depend on the emitter set —
14
+ * the coherence list on the number of distinct programs, the program buffer on the heap, the
13
15
  * database on its own pages, the counters on the emitter table's element capacity (they carry the
14
- * per-emitter bounds accumulator, see `bounds/`) — are grown inside
15
- * {@link execute}, the way ReSTIR's reservoirs follow the resolution. The render-order (sort)
16
- * scratch is not in that list because it is not unconditional: see below.
16
+ * per-emitter bounds accumulator, see `bounds/`) — are grown inside {@link execute}, the way
17
+ * ReSTIR's reservoirs follow the resolution.
18
+ *
19
+ * Everything else a frame touches is the frame graph's. The bucketing's bins, cursors and keys, the
20
+ * whole depth sort, the draw args, the spawn counts and the VM's wide register file are produced
21
+ * and consumed inside one graph, so the pass that first writes each one declares it and the graph
22
+ * allocates it just in time and releases it after its last reader — into the pool the rest of the
23
+ * renderer allocates from. Reserving them here instead would be six megabytes at the default
24
+ * capacity that no other feature could ever borrow, and four of them are cleared by a reset pass
25
+ * every frame regardless.
17
26
  *
18
27
  * Every pass stays within the eight storage buffers a stage gets by default: the emitter record
19
28
  * and the GPU-owned state are two tables of one database buffer, and the VM's constants and code
@@ -61,7 +70,8 @@
61
70
  * ({@link avboit_occupancy}, {@link avboit_splat}, {@link avboit_draw}). Those read the same handles
62
71
  * and composite into a volume and a set of accumulators that are sums, so an ordering would buy
63
72
  * nothing — and the sort is four passes and a scan over every live particle, plus two lists a word
64
- * per particle each, which is why the mode also decides whether those buffers exist at all.
73
+ * per particle each. Under `AVBOIT` none of those passes is recorded, so the graph never allocates
74
+ * their buffers either.
65
75
  *
66
76
  * ## Allocation
67
77
  *
@@ -310,7 +320,11 @@ export class GPUParticleSystem {
310
320
  */
311
321
  sync_membership(): void;
312
322
  /**
313
- * Sizes of the persistent buffers, in bytes, as they stand. Exposed for tests.
323
+ * Sizes of the persistent buffers, in bytes, as they stand — one entry per distinct buffer, so
324
+ * this is the feature's reserved footprint and not a list of the names it binds them under.
325
+ * `alive_read` and `alive_write` are the two `alive` entries under the frame's names for them,
326
+ * and would otherwise be counted a second time each. Exposed for tests.
327
+ *
314
328
  * @returns {Object<string, number>}
315
329
  */
316
330
  bufferSizes(): {
@@ -1 +1 @@
1
- {"version":3,"file":"GPUParticleSystem.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/particles/GPUParticleSystem.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GPUParticleSystem.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/particles/GPUParticleSystem.js"],"names":[],"mappings":"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"}