@woosh/meep-engine 3.19.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 (809) 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/particles/effect/ParticleGraphEditorView.js +2 -2
  14. package/editor/view/particles/effect/ParticleNodeParametersView.d.ts.map +1 -1
  15. package/editor/view/particles/effect/ParticleNodeParametersView.js +7 -48
  16. package/editor/view/tools/ToolSettingsView.d.ts +1 -1
  17. package/editor/view/tools/ToolSettingsView.d.ts.map +1 -1
  18. package/package.json +12 -12
  19. package/src/core/IdPool.d.ts.map +1 -1
  20. package/src/core/binary/32BitEncoder.d.ts.map +1 -1
  21. package/src/core/binary/BinaryBuffer.d.ts +1 -1
  22. package/src/core/binary/BinaryBuffer.d.ts.map +1 -1
  23. package/src/core/bvh2/binary/2/BinaryUint32BVH.d.ts +1 -1
  24. package/src/core/bvh2/binary/2/BinaryUint32BVH.d.ts.map +1 -1
  25. package/src/core/bvh2/bvh3/BVH.d.ts +3 -3
  26. package/src/core/bvh2/bvh3/BVH.d.ts.map +1 -1
  27. package/src/core/bvh2/bvh3/BVH.js +1 -2
  28. package/src/core/bvh2/bvh3/query/bvh_query_user_data_nearest_to_point_filtered.d.ts.map +1 -1
  29. package/src/core/bvh2/traversal/aabb3_detailed_volume_intersection_callback_based.d.ts.map +1 -1
  30. package/src/core/cache/Cache.d.ts +1 -1
  31. package/src/core/cache/Cache.d.ts.map +1 -1
  32. package/src/core/cache/wtinylfu/CacheWTinylfu.d.ts.map +1 -1
  33. package/src/core/collection/array/array_group_by.d.ts.map +1 -1
  34. package/src/core/collection/array/array_group_by.js +2 -11
  35. package/src/core/collection/list/List.d.ts.map +1 -1
  36. package/src/core/collection/list/ListForwarder.d.ts +1 -1
  37. package/src/core/collection/list/ListForwarder.d.ts.map +1 -1
  38. package/src/core/collection/map/HashMap.d.ts.map +1 -1
  39. package/src/core/collection/set/ArraySet.d.ts.map +1 -1
  40. package/src/core/collection/table/RowFirstTable.d.ts +1 -1
  41. package/src/core/collection/table/RowFirstTable.d.ts.map +1 -1
  42. package/src/core/collection/table/bind/TableRecord.d.ts +1 -1
  43. package/src/core/collection/table/bind/TableRecord.d.ts.map +1 -1
  44. package/src/core/color/Color.d.ts +8 -8
  45. package/src/core/color/Color.d.ts.map +1 -1
  46. package/src/core/color/hsv/hsv_to_rgb_uint8.d.ts.map +1 -1
  47. package/src/core/color/hsv/rgb_to_hsv.d.ts.map +1 -1
  48. package/src/core/events/signal/Signal.d.ts +1 -1
  49. package/src/core/events/signal/Signal.d.ts.map +1 -1
  50. package/src/core/events/signal/signal_aggregate_by_time_window.d.ts.map +1 -1
  51. package/src/core/fsm/simple/SimpleStateMachineDescription.d.ts.map +1 -1
  52. package/src/core/geom/2d/aabb/AABB2.d.ts +4 -4
  53. package/src/core/geom/2d/aabb/AABB2.d.ts.map +1 -1
  54. package/src/core/geom/2d/bvh/BVH2D.d.ts +1 -1
  55. package/src/core/geom/2d/bvh/BVH2D.d.ts.map +1 -1
  56. package/src/core/geom/2d/triangle/tri2_rasterize_conservative.d.ts.map +1 -1
  57. package/src/core/geom/3d/aabb/AABB3.d.ts +6 -6
  58. package/src/core/geom/3d/aabb/AABB3.d.ts.map +1 -1
  59. package/src/core/geom/3d/atlas/atlas_bench_lib.d.ts.map +1 -1
  60. package/src/core/geom/3d/atlas/atlas_compute_charts.d.ts.map +1 -1
  61. package/src/core/geom/3d/atlas/atlas_generate.d.ts.map +1 -1
  62. package/src/core/geom/3d/atlas/pack/atlas_pack_charts.d.ts.map +1 -1
  63. package/src/core/geom/3d/atlas/param/atlas_chart_param_validity.d.ts.map +1 -1
  64. package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_bff.d.ts.map +1 -1
  65. package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_lscm.d.ts.map +1 -1
  66. package/src/core/geom/3d/atlas/segment/atlas_compute_planar_regions.d.ts.map +1 -1
  67. package/src/core/geom/3d/atlas/segment/atlas_segment_charts.d.ts.map +1 -1
  68. package/src/core/geom/3d/atlas/segment/atlas_segment_charts_atomic.d.ts.map +1 -1
  69. package/src/core/geom/3d/mat4/m4_decompose.d.ts +7 -1
  70. package/src/core/geom/3d/mat4/m4_decompose.d.ts.map +1 -1
  71. package/src/core/geom/3d/quadric/Quadric3.d.ts +11 -11
  72. package/src/core/geom/3d/quadric/Quadric3.d.ts.map +1 -1
  73. package/src/core/geom/3d/ray/Ray3.d.ts +3 -3
  74. package/src/core/geom/3d/ray/Ray3.d.ts.map +1 -1
  75. package/src/core/geom/3d/shape/HeightMapShape3D.d.ts.map +1 -1
  76. package/src/core/geom/3d/shape/HeightMapShape3D.js +4 -9
  77. package/src/core/geom/3d/shape/TransformedShape3D.d.ts +1 -1
  78. package/src/core/geom/3d/shape/TransformedShape3D.d.ts.map +1 -1
  79. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.d.ts.map +1 -1
  80. package/src/core/geom/3d/tetrahedra/delaunay/debug/push_boundary_with_validation.d.ts.map +1 -1
  81. package/src/core/geom/3d/tetrahedra/delaunay/debug/validate_cavity_boundary.d.ts.map +1 -1
  82. package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_carve_outside_surface.d.ts.map +1 -1
  83. package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_improve_quality.d.ts.map +1 -1
  84. package/src/core/geom/3d/tetrahedra/validate_tetrahedral_mesh.d.ts.map +1 -1
  85. package/src/core/geom/3d/tetrahedra/validate_tetrahedron_neighbourhood.d.ts.map +1 -1
  86. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_to_indexed_geometry.d.ts.map +1 -1
  87. package/src/core/geom/3d/util/aabb3_emit_point_grid.d.ts.map +1 -1
  88. package/src/core/geom/Quaternion.d.ts +4 -4
  89. package/src/core/geom/Quaternion.d.ts.map +1 -1
  90. package/src/core/geom/Vector1.d.ts +1 -1
  91. package/src/core/geom/Vector1.d.ts.map +1 -1
  92. package/src/core/geom/Vector2.d.ts +2 -2
  93. package/src/core/geom/Vector2.d.ts.map +1 -1
  94. package/src/core/geom/Vector3.d.ts +3 -3
  95. package/src/core/geom/Vector3.d.ts.map +1 -1
  96. package/src/core/geom/Vector4.d.ts +4 -4
  97. package/src/core/geom/Vector4.d.ts.map +1 -1
  98. package/src/core/geom/packing/max-rect/find_best_container.d.ts.map +1 -1
  99. package/src/core/geom/vec3/v3_hash.d.ts +12 -0
  100. package/src/core/geom/vec3/v3_hash.d.ts.map +1 -0
  101. package/src/core/geom/vec3/v3_hash.js +19 -0
  102. package/src/core/geom/vec3/v3_lerp.d.ts +3 -1
  103. package/src/core/geom/vec3/v3_lerp.d.ts.map +1 -1
  104. package/src/core/geom/vec3/v3_set.d.ts +14 -0
  105. package/src/core/geom/vec3/v3_set.d.ts.map +1 -0
  106. package/src/core/geom/vec3/v3_set.js +17 -0
  107. package/src/core/geom/vec3/v3_slerp.d.ts +3 -1
  108. package/src/core/geom/vec3/v3_slerp.d.ts.map +1 -1
  109. package/src/core/geom/vec4/v4_equals_array.d.ts +11 -0
  110. package/src/core/geom/vec4/v4_equals_array.d.ts.map +1 -0
  111. package/src/core/geom/vec4/v4_equals_array.js +16 -0
  112. package/src/core/geom/vec4/v4_hash.d.ts +12 -0
  113. package/src/core/geom/vec4/v4_hash.d.ts.map +1 -0
  114. package/src/core/geom/vec4/v4_hash.js +18 -0
  115. package/src/core/geom/vec4/v4_set.d.ts +15 -0
  116. package/src/core/geom/vec4/v4_set.d.ts.map +1 -0
  117. package/src/core/geom/vec4/v4_set.js +19 -0
  118. package/src/core/graph/convert_graph_to_dot_string.d.ts +1 -1
  119. package/src/core/graph/convert_graph_to_dot_string.d.ts.map +1 -1
  120. package/src/core/graph/metis/native/bisection/split_graph_two_way.d.ts.map +1 -1
  121. package/src/core/graph/metis/native/metis_partition_kway.d.ts.map +1 -1
  122. package/src/core/graph/metis/native/refine/fm_kway.d.ts.map +1 -1
  123. package/src/core/json/abstractJSONSerializer.d.ts.map +1 -1
  124. package/src/core/lang/reactive/AbstractCachingParser.d.ts.map +1 -1
  125. package/src/core/localization/Localization.d.ts.map +1 -1
  126. package/src/core/math/linalg/cg/cg_solve.d.ts.map +1 -1
  127. package/src/core/math/noise/create_simplex_noise_2d.d.ts.map +1 -1
  128. package/src/core/math/physics/mie/compute_bhmie_optical_properties.d.ts.map +1 -1
  129. package/src/core/math/physics/mie/compute_mie_particle_properties_rgb.d.ts.map +1 -1
  130. package/src/core/math/random/seededRandom_Mulberry32.d.ts +1 -1
  131. package/src/core/math/random/seededRandom_Mulberry32.d.ts.map +1 -1
  132. package/src/core/model/ModuleRegistry.d.ts.map +1 -1
  133. package/src/core/model/node-graph/visual/layout/layout_assign_coordinates.d.ts.map +1 -1
  134. package/src/core/model/node-graph/visual/layout/layout_node_graph.d.ts.map +1 -1
  135. package/src/core/model/node-graph/visual/layout/layout_order_layers.d.ts.map +1 -1
  136. package/src/core/model/object/optional_clone.d.ts.map +1 -0
  137. package/src/{shade/descriptor/util → core/model/object}/optional_equality.d.ts +2 -2
  138. package/src/core/model/object/optional_equality.d.ts.map +1 -0
  139. package/src/{shade/descriptor/util → core/model/object}/optional_equality.js +2 -2
  140. package/src/{shade/descriptor/util → core/model/object}/optional_hash.d.ts +1 -1
  141. package/src/core/model/object/optional_hash.d.ts.map +1 -0
  142. package/src/{shade/descriptor/util → core/model/object}/optional_hash.js +3 -3
  143. package/src/core/model/reactive/model/ReactiveExpression.d.ts.map +1 -1
  144. package/src/core/model/validate_enum_schema.d.ts.map +1 -1
  145. package/src/core/process/Future.d.ts.map +1 -1
  146. package/src/core/process/task/Task.d.ts.map +1 -1
  147. package/src/core/process/task/util/countTask.d.ts.map +1 -1
  148. package/src/core/process/task/util/randomCountTask.d.ts.map +1 -1
  149. package/src/core/process/worker/WorkerBuilder.d.ts.map +1 -1
  150. package/src/engine/Clock.d.ts +1 -1
  151. package/src/engine/Clock.d.ts.map +1 -1
  152. package/src/engine/EngineHarness.d.ts.map +1 -1
  153. package/src/engine/animation/Animations.d.ts.map +1 -1
  154. package/src/engine/animation/EntityAnimation.d.ts.map +1 -1
  155. package/src/engine/animation/TransitionFunctions.d.ts.map +1 -1
  156. package/src/engine/animation/Tween.d.ts.map +1 -1
  157. package/src/engine/animation/curve/editor/uploadViaElement.d.ts.map +1 -1
  158. package/src/engine/animation/curve/view/AnimationCurveView.d.ts +1 -1
  159. package/src/engine/animation/curve/view/AnimationCurveView.d.ts.map +1 -1
  160. package/src/engine/asset/Asset.d.ts +1 -1
  161. package/src/engine/asset/Asset.d.ts.map +1 -1
  162. package/src/engine/asset/Asset.js +3 -1
  163. package/src/engine/asset/AssetManager.d.ts.map +1 -1
  164. package/src/engine/asset/AssetRequest.d.ts.map +1 -1
  165. package/src/engine/asset/loaders/AssetLoader.d.ts.map +1 -1
  166. package/src/engine/asset/loaders/image/avif/encode_image_source.d.ts.map +1 -1
  167. package/src/engine/asset/loaders/image/avif/threaded_image_encoder.d.ts.map +1 -1
  168. package/src/engine/browserInfo.d.ts.map +1 -1
  169. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts +1 -1
  170. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts.map +1 -1
  171. package/src/engine/control/first-person/abilities/LedgeGrab.js +9 -9
  172. package/src/engine/control/first-person/abilities/Mantle.js +8 -8
  173. package/src/engine/control/first-person/abilities/ScrambleUp.js +2 -2
  174. package/src/engine/control/first-person/abilities/WallJump.js +2 -2
  175. package/src/engine/control/first-person/abilities/WallRun.js +3 -3
  176. package/src/engine/control/first-person/collision/KinematicMover.d.ts +1 -1
  177. package/src/engine/control/first-person/collision/KinematicMover.d.ts.map +1 -1
  178. package/src/engine/control/first-person/collision/KinematicMover.js +19 -46
  179. package/src/engine/control/first-person/sensors/FirstPersonSensors.d.ts +17 -5
  180. package/src/engine/control/first-person/sensors/FirstPersonSensors.d.ts.map +1 -1
  181. package/src/engine/control/first-person/sensors/FirstPersonSensors.js +20 -7
  182. package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.d.ts.map +1 -1
  183. package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.js +9 -8
  184. package/src/engine/control/first-person/test/buildTestPlayer.d.ts.map +1 -1
  185. package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
  186. package/src/engine/ecs/EntityManager.d.ts.map +1 -1
  187. package/src/engine/ecs/EntityObserver.d.ts.map +1 -1
  188. package/src/engine/ecs/System.d.ts.map +1 -1
  189. package/src/engine/ecs/animation/Animation.d.ts +1 -1
  190. package/src/engine/ecs/animation/Animation.d.ts.map +1 -1
  191. package/src/engine/ecs/async/SystemWorkerLoopback.d.ts +3 -3
  192. package/src/engine/ecs/async/SystemWorkerLoopback.d.ts.map +1 -1
  193. package/src/engine/ecs/dynamic_actions/DynamicActorSystem.d.ts.map +1 -1
  194. package/src/engine/ecs/grid/pick.d.ts.map +1 -1
  195. package/src/engine/ecs/gui/hud/HeadsUpDisplaySystem.d.ts.map +1 -1
  196. package/src/engine/ecs/gui/hud/HeadsUpDisplaySystem.js +9 -10
  197. package/src/engine/ecs/guid/UUID.d.ts +1 -1
  198. package/src/engine/ecs/guid/UUID.d.ts.map +1 -1
  199. package/src/engine/ecs/ik/OneBoneSurfaceAlignmentSolver.d.ts.map +1 -1
  200. package/src/engine/ecs/ik/OneBoneSurfaceAlignmentSolver.js +26 -9
  201. package/src/engine/ecs/parent/EntityNode.d.ts +1 -1
  202. package/src/engine/ecs/parent/EntityNode.d.ts.map +1 -1
  203. package/src/engine/ecs/parent/FaceEditor.d.ts +7 -7
  204. package/src/engine/ecs/parent/FaceEditor.d.ts.map +1 -1
  205. package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.d.ts.map +1 -1
  206. package/src/engine/ecs/storage/binary/object/BinaryObjectSerializationAdapter2.d.ts +2 -2
  207. package/src/engine/ecs/storage/binary/object/BinaryObjectSerializationAdapter2.d.ts.map +1 -1
  208. package/src/engine/ecs/terrain/TerrainClouds.d.ts +1 -1
  209. package/src/engine/ecs/terrain/ecs/Terrain.d.ts +1 -1
  210. package/src/engine/ecs/terrain/ecs/Terrain.d.ts.map +1 -1
  211. package/src/engine/ecs/terrain/ecs/TerrainSystem.d.ts.map +1 -1
  212. package/src/engine/ecs/terrain/overlay/TerrainOverlay.d.ts +1 -1
  213. package/src/engine/ecs/terrain/overlay/TerrainOverlay.d.ts.map +1 -1
  214. package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts +1 -1
  215. package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts.map +1 -1
  216. package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts +1 -1
  217. package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts.map +1 -1
  218. package/src/engine/ecs/terrain/util/obtainTerrain.d.ts.map +1 -1
  219. package/src/engine/ecs/transform/Transform64.d.ts +6 -6
  220. package/src/engine/ecs/transform/Transform64.d.ts.map +1 -1
  221. package/src/engine/ecs/transform-attachment/TransformAttachment.d.ts +1 -1
  222. package/src/engine/ecs/transform-attachment/TransformAttachment.d.ts.map +1 -1
  223. package/src/engine/graphics/FrameRunner.d.ts.map +1 -1
  224. package/src/engine/graphics/ecs/camera/camera_traverse_active.d.ts.map +1 -1
  225. package/src/engine/graphics/ecs/camera/pp/PerfectPanner.d.ts +1 -1
  226. package/src/engine/graphics/ecs/camera/pp/PerfectPanner.d.ts.map +1 -1
  227. package/src/engine/graphics/ecs/highlight/HighlightDefinition.d.ts +1 -1
  228. package/src/engine/graphics/ecs/highlight/HighlightDefinition.d.ts.map +1 -1
  229. package/src/engine/graphics/ecs/make_bvh_depth_range_computer.d.ts.map +1 -1
  230. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMesh.d.ts +4 -4
  231. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMesh.d.ts.map +1 -1
  232. package/src/engine/graphics/ecs/particles/ParticleEffect.d.ts.map +1 -1
  233. package/src/engine/graphics/ecs/particles/ParticleEffect.js +6 -22
  234. package/src/engine/graphics/ecs/path/tube/TubePathStyle.d.ts +1 -1
  235. package/src/engine/graphics/ecs/path/tube/TubePathStyle.d.ts.map +1 -1
  236. package/src/engine/graphics/ecs/path/tube/build/computeFrenetFrames.d.ts.map +1 -1
  237. package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts +3 -3
  238. package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts.map +1 -1
  239. package/src/engine/graphics/geometry/buffered/build_height_field_geometry.d.ts +1 -1
  240. package/src/engine/graphics/geometry/buffered/build_height_field_geometry.d.ts.map +1 -1
  241. package/src/engine/graphics/geometry/buffered/query/GeometrySpatialQueryAccelerator.d.ts +1 -1
  242. package/src/engine/graphics/geometry/buffered/query/GeometrySpatialQueryAccelerator.d.ts.map +1 -1
  243. package/src/engine/graphics/make_ray_from_viewport_position.d.ts.map +1 -1
  244. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +1 -1
  245. package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.d.ts.map +1 -1
  246. package/src/engine/graphics/particles/particular/engine/utils/distribute_points_on_indexed_triangles.d.ts.map +1 -1
  247. package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.d.ts.map +1 -1
  248. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts +3 -3
  249. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts.map +1 -1
  250. package/src/engine/graphics/render/frame_graph/FrameGraph.d.ts.map +1 -1
  251. package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.d.ts +1 -1
  252. package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.d.ts.map +1 -1
  253. package/src/engine/graphics/render/layers/RenderLayer.d.ts +3 -3
  254. package/src/engine/graphics/render/layers/RenderLayer.d.ts.map +1 -1
  255. package/src/engine/graphics/render/visibility/IncrementalDeltaSet.d.ts +1 -1
  256. package/src/engine/graphics/render/visibility/IncrementalDeltaSet.d.ts.map +1 -1
  257. package/src/engine/graphics/render/visibility/VisibilityComputer.d.ts +2 -2
  258. package/src/engine/graphics/render/visibility/VisibilityComputer.d.ts.map +1 -1
  259. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts +1 -1
  260. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts.map +1 -1
  261. package/src/engine/graphics/sh3/path_tracer/populate_path_traced_scene_from_ecd.d.ts.map +1 -1
  262. package/src/engine/graphics/sh3/path_tracer/populate_path_traced_scene_from_ecd.js +5 -1
  263. package/src/engine/graphics/texture/3d/SingleChannelSampler3D.d.ts +1 -1
  264. package/src/engine/graphics/texture/3d/SingleChannelSampler3D.d.ts.map +1 -1
  265. package/src/engine/graphics/texture/sampler/Sampler2D.d.ts.map +1 -1
  266. package/src/engine/graphics/texture/sampler/filter/sampler2d_scale_down_generic.d.ts +1 -1
  267. package/src/engine/graphics/texture/sampler/filter/sampler2d_scale_down_generic.d.ts.map +1 -1
  268. package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_max.d.ts +1 -1
  269. package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_max.d.ts.map +1 -1
  270. package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_min.d.ts +1 -1
  271. package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_min.d.ts.map +1 -1
  272. package/src/engine/graphics/texture/sampler/sampler2d_combine.d.ts.map +1 -1
  273. package/src/engine/graphics/texture/sampler/sampler2d_compute_texel_value_conversion_scale_to_uint8.d.ts.map +1 -1
  274. package/src/engine/graphics/texture/sampler/search/make_edge_condition_channel_threshold.d.ts.map +1 -1
  275. package/src/engine/graphics/texture/sampler/search/sampler2d_find_pixels.d.ts.map +1 -1
  276. package/src/engine/graphics/texture/virtual/VirtualTextureTileLoader.d.ts +3 -3
  277. package/src/engine/graphics/texture/virtual/VirtualTextureTileLoader.d.ts.map +1 -1
  278. package/src/engine/graphics/texture/virtual/VirtualTextureUsage.d.ts +1 -1
  279. package/src/engine/graphics/texture/virtual/VirtualTextureUsage.d.ts.map +1 -1
  280. package/src/engine/graphics/texture/virtual/debug/UsageDebugView.d.ts +2 -2
  281. package/src/engine/graphics/texture/virtual/debug/UsageDebugView.d.ts.map +1 -1
  282. package/src/engine/graphics/texture/virtual/debug/UsagePyramidDebugView.d.ts +1 -1
  283. package/src/engine/graphics/texture/virtual/debug/UsagePyramidDebugView.d.ts.map +1 -1
  284. package/src/engine/graphics/texture/virtual/tile/decompose_finger_print.d.ts.map +1 -1
  285. package/src/engine/graphics3/HighlightOutlineSystem.d.ts.map +1 -1
  286. package/src/engine/graphics3/ParticipatingMedia.d.ts +1 -1
  287. package/src/engine/graphics3/ParticipatingMedia.d.ts.map +1 -1
  288. package/src/engine/graphics3/VolumetricLightMap.d.ts +1 -1
  289. package/src/engine/graphics3/VolumetricLightMap.d.ts.map +1 -1
  290. package/src/engine/graphics3/decal/graph_build_decal_clusters.d.ts.map +1 -1
  291. package/src/engine/graphics3/highlight/pack_highlight_table.d.ts.map +1 -1
  292. package/src/engine/graphics3/preview/make_model_preview_scene.d.ts.map +1 -1
  293. package/src/engine/graphics3/terrain/GPUTerrainSplatRenderer.d.ts.map +1 -1
  294. package/src/engine/graphics3/terrain/pack_terrain_row_table.d.ts.map +1 -1
  295. package/src/engine/grid/obstacle/GridObstacle.d.ts.map +1 -1
  296. package/src/engine/input/devices/GamepadDevice.d.ts +1 -1
  297. package/src/engine/input/devices/GamepadDevice.d.ts.map +1 -1
  298. package/src/engine/input/devices/PointerDevice.d.ts +1 -1
  299. package/src/engine/input/devices/PointerDevice.d.ts.map +1 -1
  300. package/src/engine/input/ecs/controllers/KeyboardCameraController.d.ts.map +1 -1
  301. package/src/engine/input/ecs/controllers/KeyboardCameraController.js +11 -2
  302. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts +1 -1
  303. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts.map +1 -1
  304. package/src/engine/intelligence/behavior/ecs/SendEventBehavior.d.ts.map +1 -1
  305. package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts.map +1 -1
  306. package/src/engine/intelligence/behavior/util/RotationBehavior.d.ts.map +1 -1
  307. package/src/engine/intelligence/behavior/util/RotationBehavior.js +14 -2
  308. package/src/engine/intelligence/blackboard/Blackboard.d.ts.map +1 -1
  309. package/src/engine/intelligence/mcts/MonteCarlo.d.ts +1 -1
  310. package/src/engine/intelligence/mcts/MonteCarlo.d.ts.map +1 -1
  311. package/src/engine/intelligence/mcts/StateNode.d.ts.map +1 -1
  312. package/src/engine/intelligence/optimization/RandomOptimizer.d.ts +1 -1
  313. package/src/engine/intelligence/optimization/RandomOptimizer.d.ts.map +1 -1
  314. package/src/engine/knowledge/database/StaticKnowledgeDataTable.d.ts.map +1 -1
  315. package/src/engine/knowledge/database/StaticKnowledgeDatabase.d.ts +1 -1
  316. package/src/engine/knowledge/database/StaticKnowledgeDatabase.d.ts.map +1 -1
  317. package/src/engine/navigation/ecs/path_following/PathFollower.d.ts +2 -2
  318. package/src/engine/navigation/ecs/path_following/PathFollower.d.ts.map +1 -1
  319. package/src/engine/network/NetworkSession.d.ts.map +1 -1
  320. package/src/engine/network/PriorityFetch.d.ts +2 -2
  321. package/src/engine/network/PriorityFetch.d.ts.map +1 -1
  322. package/src/engine/network/diagnostics/BandwidthMeter.d.ts.map +1 -1
  323. package/src/engine/network/ecs/owner_authorization.d.ts.map +1 -1
  324. package/src/engine/network/orchestrator/NetworkPeer.d.ts.map +1 -1
  325. package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts.map +1 -1
  326. package/src/engine/network/replication/Replicator.d.ts +1 -1
  327. package/src/engine/network/replication/Replicator.d.ts.map +1 -1
  328. package/src/engine/network/sim/SimActionExecutor.d.ts +1 -1
  329. package/src/engine/network/sim/SimActionExecutor.d.ts.map +1 -1
  330. package/src/engine/network/time/RenderPlayout.d.ts.map +1 -1
  331. package/src/engine/network/transport/Channel.d.ts.map +1 -1
  332. package/src/engine/network/transport/fragments/FragmentRetention.d.ts.map +1 -1
  333. package/src/engine/physics/body/SolverBodyState.d.ts +11 -11
  334. package/src/engine/physics/body/SolverBodyState.d.ts.map +1 -1
  335. package/src/engine/physics/body/SolverBodyState.js +13 -13
  336. package/src/engine/physics/broadphase/compute_fat_world_aabb.d.ts +4 -4
  337. package/src/engine/physics/broadphase/compute_fat_world_aabb.d.ts.map +1 -1
  338. package/src/engine/physics/broadphase/compute_fat_world_aabb.js +2 -2
  339. package/src/engine/physics/broadphase/generate_pairs.d.ts +3 -3
  340. package/src/engine/physics/broadphase/generate_pairs.d.ts.map +1 -1
  341. package/src/engine/physics/broadphase/generate_pairs.js +1 -1
  342. package/src/engine/physics/ccd/linear_sweep.d.ts +2 -3
  343. package/src/engine/physics/ccd/linear_sweep.d.ts.map +1 -1
  344. package/src/engine/physics/ccd/linear_sweep.js +4 -5
  345. package/src/engine/physics/constraint/solve_constraints.js +3 -3
  346. package/src/engine/physics/ecs/BodyKind.d.ts +1 -1
  347. package/src/engine/physics/ecs/BodyKind.js +1 -1
  348. package/src/engine/physics/ecs/Collider.d.ts +1 -1
  349. package/src/engine/physics/ecs/Collider.js +1 -1
  350. package/src/engine/physics/ecs/Joint.d.ts +15 -10
  351. package/src/engine/physics/ecs/Joint.d.ts.map +1 -1
  352. package/src/engine/physics/ecs/Joint.js +27 -18
  353. package/src/engine/physics/ecs/JointSerializationAdapter.d.ts.map +1 -1
  354. package/src/engine/physics/ecs/JointSerializationAdapter.js +8 -6
  355. package/src/engine/physics/ecs/PhysicsSystem.d.ts +40 -77
  356. package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
  357. package/src/engine/physics/ecs/PhysicsSystem.js +113 -75
  358. package/src/engine/physics/ecs/RigidBody.d.ts +17 -12
  359. package/src/engine/physics/ecs/RigidBody.d.ts.map +1 -1
  360. package/src/engine/physics/ecs/RigidBody.js +58 -24
  361. package/src/engine/physics/ecs/RigidBodySerializationAdapter.d.ts.map +1 -1
  362. package/src/engine/physics/ecs/RigidBodySerializationAdapter.js +13 -12
  363. package/src/engine/physics/ecs/find_non_finite_physics_state.d.ts +1 -1
  364. package/src/engine/physics/ecs/find_non_finite_physics_state.js +1 -1
  365. package/src/engine/physics/fluid/FluidField.d.ts.map +1 -1
  366. package/src/engine/physics/fluid/REVIEW_02_PLAN.md +4 -4
  367. package/src/engine/physics/fluid/SliceVisualiser.d.ts.map +1 -1
  368. package/src/engine/physics/fluid/ecs/FluidComponent.d.ts +10 -10
  369. package/src/engine/physics/fluid/ecs/FluidComponent.js +10 -10
  370. package/src/engine/physics/fluid/ecs/FluidEffectorsComponent.d.ts +2 -2
  371. package/src/engine/physics/fluid/ecs/FluidEffectorsComponent.js +2 -2
  372. package/src/engine/physics/fluid/ecs/FluidObstacle.d.ts +3 -3
  373. package/src/engine/physics/fluid/ecs/FluidObstacle.js +3 -3
  374. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +1 -1
  375. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.js +4 -4
  376. package/src/engine/physics/fluid/ecs/FluidSystem.d.ts +2 -2
  377. package/src/engine/physics/fluid/ecs/FluidSystem.js +3 -3
  378. package/src/engine/physics/fluid/ecs/WorkerFluidSystem.d.ts +1 -1
  379. package/src/engine/physics/fluid/ecs/WorkerFluidSystem.js +2 -2
  380. package/src/engine/physics/fluid/ecs/fluid_reanchor_field.d.ts +3 -3
  381. package/src/engine/physics/fluid/ecs/fluid_reanchor_field.d.ts.map +1 -1
  382. package/src/engine/physics/fluid/ecs/fluid_reanchor_field.js +3 -3
  383. package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.d.ts +3 -3
  384. package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.d.ts.map +1 -1
  385. package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.js +2 -2
  386. package/src/engine/physics/fluid/effector/AbstractFluidEffector.d.ts +3 -3
  387. package/src/engine/physics/fluid/effector/AbstractFluidEffector.d.ts.map +1 -1
  388. package/src/engine/physics/fluid/effector/AbstractFluidEffector.js +2 -2
  389. package/src/engine/physics/fluid/effector/ImpulseFluidEffector.js +2 -2
  390. package/src/engine/physics/fluid/effector/WakeFluidEffector.d.ts +4 -4
  391. package/src/engine/physics/fluid/effector/WakeFluidEffector.js +8 -8
  392. package/src/engine/physics/inertia/world_inverse_inertia.d.ts +8 -17
  393. package/src/engine/physics/inertia/world_inverse_inertia.d.ts.map +1 -1
  394. package/src/engine/physics/inertia/world_inverse_inertia.js +11 -11
  395. package/src/engine/physics/integration/integrate_position.d.ts +6 -7
  396. package/src/engine/physics/integration/integrate_position.d.ts.map +1 -1
  397. package/src/engine/physics/integration/integrate_position.js +5 -6
  398. package/src/engine/physics/integration/integrate_velocity.d.ts +4 -4
  399. package/src/engine/physics/integration/integrate_velocity.d.ts.map +1 -1
  400. package/src/engine/physics/integration/integrate_velocity.js +7 -7
  401. package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.d.ts +4 -4
  402. package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.d.ts.map +1 -1
  403. package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.js +3 -3
  404. package/src/engine/physics/narrowphase/convex_decomposition.d.ts.map +1 -1
  405. package/src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.d.ts +1 -2
  406. package/src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.d.ts.map +1 -1
  407. package/src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.js +1 -2
  408. package/src/engine/physics/narrowphase/narrowphase_step.d.ts +7 -6
  409. package/src/engine/physics/narrowphase/narrowphase_step.d.ts.map +1 -1
  410. package/src/engine/physics/narrowphase/narrowphase_step.js +8 -8
  411. package/src/engine/physics/queries/PhysicsSurfacePoint.d.ts +10 -5
  412. package/src/engine/physics/queries/PhysicsSurfacePoint.d.ts.map +1 -1
  413. package/src/engine/physics/queries/PhysicsSurfacePoint.js +10 -6
  414. package/src/engine/physics/queries/overlap_shape.d.ts +5 -14
  415. package/src/engine/physics/queries/overlap_shape.d.ts.map +1 -1
  416. package/src/engine/physics/queries/overlap_shape.js +4 -4
  417. package/src/engine/physics/queries/raycast.d.ts.map +1 -1
  418. package/src/engine/physics/queries/shape_cast.d.ts +9 -1
  419. package/src/engine/physics/queries/shape_cast.d.ts.map +1 -1
  420. package/src/engine/physics/queries/shape_cast.js +2 -2
  421. package/src/engine/physics/solver/solve_contacts.d.ts +2 -2
  422. package/src/engine/physics/solver/solve_contacts.d.ts.map +1 -1
  423. package/src/engine/physics/solver/solve_contacts.js +2 -2
  424. package/src/engine/physics/vehicle/RaycastVehicle.d.ts +4 -8
  425. package/src/engine/physics/vehicle/RaycastVehicle.d.ts.map +1 -1
  426. package/src/engine/physics/vehicle/RaycastVehicle.js +16 -12
  427. package/src/engine/save/Storage.d.ts.map +1 -1
  428. package/src/engine/sound/SoundEngine.d.ts +1 -1
  429. package/src/engine/sound/SoundEngine.d.ts.map +1 -1
  430. package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts.map +1 -1
  431. package/src/engine/sound/ecs/audio/AudioEmitterSystem.js +27 -2
  432. package/src/engine/sound/simulation/AcousticSimulator.d.ts +2 -2
  433. package/src/engine/sound/simulation/AcousticSimulator.d.ts.map +1 -1
  434. package/src/engine/sound/simulation/core/VolumeField.d.ts +1 -1
  435. package/src/engine/sound/simulation/core/VolumeField.d.ts.map +1 -1
  436. package/src/engine/sound/simulation/probe/AcousticProbeField.d.ts.map +1 -1
  437. package/src/engine/sound/simulation/probe/probe_delaunay_edges.d.ts.map +1 -1
  438. package/src/engine/sound/simulation/probe/probe_densify_portals.d.ts.map +1 -1
  439. package/src/engine/sound/simulation/probe/probe_detect_portals.d.ts.map +1 -1
  440. package/src/engine/sound/simulation/probe/probe_place_sdf_cover.d.ts.map +1 -1
  441. package/src/engine/sound/simulation/probe/probe_refine_connectivity.d.ts.map +1 -1
  442. package/src/engine/sound/simulation/render/ProbeReverbRenderer.d.ts +1 -1
  443. package/src/engine/sound/simulation/render/ProbeReverbRenderer.d.ts.map +1 -1
  444. package/src/engine/sound/simulation/render/foaReverbImpulseResponse.d.ts.map +1 -1
  445. package/src/engine/sound/sopra/SopraEngine.d.ts.map +1 -1
  446. package/src/engine/sound/sopra/legacy/SoundEmitter.d.ts +3 -3
  447. package/src/engine/sound/sopra/legacy/SoundEmitter.d.ts.map +1 -1
  448. package/src/engine/sound/sopra/legacy/SoundTrack.d.ts +3 -3
  449. package/src/engine/sound/sopra/legacy/SoundTrack.d.ts.map +1 -1
  450. package/src/engine/sound/sopra/util/buildAttenuationCurve.d.ts.map +1 -1
  451. package/src/engine/ui/notification/NotificationManager.d.ts.map +1 -1
  452. package/src/engine/ui/notification/ViewEmitter.d.ts +1 -1
  453. package/src/engine/ui/notification/ViewEmitter.d.ts.map +1 -1
  454. package/src/engine/ui/tiles2d/TileGrid.d.ts.map +1 -1
  455. package/src/extractName.d.ts.map +1 -1
  456. package/src/format/image/avif/api/convert_to_rgba.d.ts.map +1 -1
  457. package/src/format/image/avif/av1/encode/encode_av1_still.d.ts.map +1 -1
  458. package/src/format/image/avif/heif/write_avif_file.d.ts +2 -2
  459. package/src/format/image/avif/heif/write_avif_file.d.ts.map +1 -1
  460. package/src/format/image/jpeg/JpegImage.d.ts.map +1 -1
  461. package/src/format/image/png/PNG.d.ts.map +1 -1
  462. package/src/format/image/png/chunk/png_chunk_decode_iTXt.d.ts.map +1 -1
  463. package/src/format/image/png/chunk/png_chunk_decode_zTXt.d.ts.map +1 -1
  464. package/src/format/scene/gltf/ext/GltfBufferViewExtensionSet.d.ts.map +1 -1
  465. package/src/format/scene/gltf/gltf_node_world_matrices.d.ts.map +1 -1
  466. package/src/format/scene/usd/unpack_usdz.d.ts.map +1 -1
  467. package/src/format/scene/usd/usd_triangulate.d.ts.map +1 -1
  468. package/src/format/texture/basis/astc_integer_sequence.d.ts.map +1 -1
  469. package/src/generation/grid/actions/ContinuousGridCellActionWriteObstacle.d.ts.map +1 -1
  470. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.d.ts.map +1 -1
  471. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.js +22 -3
  472. package/src/generation/markers/transform/MarkerNodeTransformerRecordPropertyClosure.d.ts.map +1 -1
  473. package/src/generation/theme/ThemeEngine.d.ts +2 -2
  474. package/src/generation/theme/ThemeEngine.d.ts.map +1 -1
  475. package/src/shade/descriptor/ObjectDescriptorBase.d.ts +1 -1
  476. package/src/shade/descriptor/ObjectDescriptorBase.d.ts.map +1 -1
  477. package/src/shade/descriptor/binding/BindGroupLayoutDescriptor.js +1 -1
  478. package/src/shade/descriptor/binding/BindGroupLayoutEntry.js +3 -3
  479. package/src/shade/descriptor/pipeline/PipelineDescriptorBase.js +1 -1
  480. package/src/shade/descriptor/pipeline/PipelineLayoutDescriptor.js +1 -1
  481. package/src/shade/descriptor/pipeline/render/ColorTargetState.js +3 -3
  482. package/src/shade/descriptor/pipeline/render/FragmentState.js +1 -1
  483. package/src/shade/descriptor/pipeline/render/RenderPipelineDescriptor.js +3 -3
  484. package/src/shade/descriptor/texture/TextureDescriptor.d.ts +1 -1
  485. package/src/shade/device/ShadeGPUCommandContext.d.ts +1 -1
  486. package/src/shade/device/ShadeGPUCommandContext.d.ts.map +1 -1
  487. package/src/shade/device/pass/ShadeGPUComputePassEncoder.d.ts +1 -1
  488. package/src/shade/device/pass/ShadeGPUComputePassEncoder.d.ts.map +1 -1
  489. package/src/shade/device/pass/ShadeGPURenderPassEncoder.d.ts +1 -1
  490. package/src/shade/device/pass/ShadeGPURenderPassEncoder.d.ts.map +1 -1
  491. package/src/shade/device/timing/GPUTimerArray.d.ts.map +1 -1
  492. package/src/shade/device/timing/GPUTimerStats.d.ts +1 -1
  493. package/src/shade/device/timing/GPUTimerStats.d.ts.map +1 -1
  494. package/src/shade/device/timing/GPU_PROFILER_PROPOSAL_2026_08_28.md +894 -894
  495. package/src/shade/playground/basis_textures/texture_inventory.d.ts.map +1 -1
  496. package/src/shade/playground/bvh_repro/bvh_repro_device.d.ts.map +1 -1
  497. package/src/shade/playground/ground_seam/capture_scene_color.d.ts.map +1 -1
  498. package/src/shade/playground/ground_seam/measure_flicker.d.ts.map +1 -1
  499. package/src/shade/playground/particle_editor/README.md +1 -1
  500. package/src/shade/playground/particle_system/index.html +0 -1
  501. package/src/shade/playground/particle_system/main.js +1 -2
  502. package/src/shade/playground/particle_system/particle_prototype.d.ts +7 -9
  503. package/src/shade/playground/particle_system/particle_prototype.d.ts.map +1 -1
  504. package/src/shade/playground/particle_system/particle_prototype.js +7 -9
  505. package/src/shade/playground/particle_system/particle_scene.d.ts +5 -6
  506. package/src/shade/playground/particle_system/particle_scene.d.ts.map +1 -1
  507. package/src/shade/playground/particle_system/particle_scene.js +6 -7
  508. package/src/shade/playground/skinned_blas_refit/sweep_views.js +2 -2
  509. package/src/shade/playground/skinned_blas_refit/verify_traversal_reachability.js +1 -1
  510. package/src/shade/playground/ssr_motion/README.md +22 -0
  511. package/src/shade/playground/ssr_motion/index.html +18 -0
  512. package/src/shade/playground/ssr_motion/main.d.ts +2 -0
  513. package/src/shade/playground/ssr_motion/main.d.ts.map +1 -0
  514. package/src/shade/playground/ssr_motion/main.js +149 -0
  515. package/src/shade/playground/ssr_variance/index.html +1 -0
  516. package/src/shade/playground/vgeo_viewer/README.md +123 -0
  517. package/src/shade/playground/vgeo_viewer/cut_geometry.d.ts +61 -0
  518. package/src/shade/playground/vgeo_viewer/cut_geometry.d.ts.map +1 -0
  519. package/src/shade/playground/vgeo_viewer/cut_geometry.js +497 -0
  520. package/src/shade/playground/vgeo_viewer/index.html +77 -0
  521. package/src/shade/playground/vgeo_viewer/main.d.ts +2 -0
  522. package/src/shade/playground/vgeo_viewer/main.d.ts.map +1 -0
  523. package/src/shade/playground/vgeo_viewer/main.js +1288 -0
  524. package/src/shade/playground/vgeo_viewer/sample_asset.d.ts +18 -0
  525. package/src/shade/playground/vgeo_viewer/sample_asset.d.ts.map +1 -0
  526. package/src/shade/playground/vgeo_viewer/sample_asset.js +117 -0
  527. package/src/shade/playground/vgeo_viewer/select_cut.d.ts +154 -0
  528. package/src/shade/playground/vgeo_viewer/select_cut.d.ts.map +1 -0
  529. package/src/shade/playground/vgeo_viewer/select_cut.js +437 -0
  530. package/src/shade/renderer/DynamicResolutionScaling.d.ts +1 -1
  531. package/src/shade/renderer/DynamicResolutionScaling.d.ts.map +1 -1
  532. package/src/shade/renderer/Renderer.d.ts +5 -5
  533. package/src/shade/renderer/Renderer.d.ts.map +1 -1
  534. package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
  535. package/src/shade/renderer/animation/skin_normalize_mesh_frame.d.ts.map +1 -1
  536. package/src/shade/renderer/camera/Camera.d.ts +3 -3
  537. package/src/shade/renderer/camera/Camera.d.ts.map +1 -1
  538. package/src/shade/renderer/camera/GPUCameraContext.d.ts +1 -1
  539. package/src/shade/renderer/camera/GPUCameraContext.d.ts.map +1 -1
  540. package/src/shade/renderer/camera/OrthographicCamera.d.ts +4 -4
  541. package/src/shade/renderer/camera/OrthographicCamera.d.ts.map +1 -1
  542. package/src/shade/renderer/camera/PerspectiveCamera.d.ts +2 -2
  543. package/src/shade/renderer/camera/PerspectiveCamera.d.ts.map +1 -1
  544. package/src/shade/renderer/camera/orbital/OrbitalCameraController.d.ts +11 -3
  545. package/src/shade/renderer/camera/orbital/OrbitalCameraController.d.ts.map +1 -1
  546. package/src/shade/renderer/camera/orbital/OrbitalCameraController.js +25 -5
  547. package/src/shade/renderer/extension/FrameContext.d.ts +1 -1
  548. package/src/shade/renderer/extension/FrameContext.d.ts.map +1 -1
  549. package/src/shade/renderer/extension/GBufferTextures.d.ts +4 -4
  550. package/src/shade/renderer/extension/GBufferTextures.d.ts.map +1 -1
  551. package/src/shade/renderer/extension/PresentTarget.d.ts +1 -1
  552. package/src/shade/renderer/extension/PresentTarget.d.ts.map +1 -1
  553. package/src/shade/renderer/extension/RENDER_EXTENSION_DESIGN.md +918 -918
  554. package/src/shade/renderer/extension/SceneColor.d.ts +1 -1
  555. package/src/shade/renderer/extension/SceneColor.d.ts.map +1 -1
  556. package/src/shade/renderer/extension/ViewTextures.d.ts +4 -4
  557. package/src/shade/renderer/extension/ViewTextures.d.ts.map +1 -1
  558. package/src/shade/renderer/geometry/Attribute.d.ts +1 -1
  559. package/src/shade/renderer/geometry/Attribute.d.ts.map +1 -1
  560. package/src/shade/renderer/geometry/Geometry.d.ts +1 -1
  561. package/src/shade/renderer/geometry/Geometry.d.ts.map +1 -1
  562. package/src/shade/renderer/geometry/Geometry.js +4 -7
  563. package/src/shade/renderer/geometry/bvh/bvh2_check_bounds.d.ts.map +1 -1
  564. package/src/shade/renderer/geometry/bvh/bvh2_derive_topology.d.ts.map +1 -1
  565. package/src/shade/renderer/geometry/meshlet/MeshletBatch.d.ts +3 -3
  566. package/src/shade/renderer/geometry/meshlet/MeshletBatch.d.ts.map +1 -1
  567. package/src/shade/renderer/geometry/virtual/build/gltf/gltf_collect_geometries.d.ts.map +1 -1
  568. package/src/shade/renderer/geometry/virtual/format/attribute/VGEO_ATTRIBUTES.d.ts.map +1 -1
  569. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_read_frame_extent.d.ts +29 -0
  570. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_read_frame_extent.d.ts.map +1 -0
  571. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_read_frame_extent.js +59 -0
  572. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_scan_frames.d.ts +0 -1
  573. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_scan_frames.d.ts.map +1 -1
  574. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_scan_frames.js +2 -23
  575. package/src/shade/renderer/geometry/virtual/format/read/VGeoByteSource.d.ts +94 -0
  576. package/src/shade/renderer/geometry/virtual/format/read/VGeoByteSource.d.ts.map +1 -0
  577. package/src/shade/renderer/geometry/virtual/format/read/VGeoByteSource.js +170 -0
  578. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerHeader.d.ts +122 -0
  579. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerHeader.d.ts.map +1 -0
  580. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerHeader.js +143 -0
  581. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.d.ts +185 -0
  582. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.d.ts.map +1 -0
  583. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.js +572 -0
  584. package/src/shade/renderer/geometry/virtual/format/read/VGeoDirectory.d.ts +64 -0
  585. package/src/shade/renderer/geometry/virtual/format/read/VGeoDirectory.d.ts.map +1 -0
  586. package/src/shade/renderer/geometry/virtual/format/read/VGeoDirectory.js +80 -0
  587. package/src/shade/renderer/geometry/virtual/format/read/VGeoPage.d.ts +198 -0
  588. package/src/shade/renderer/geometry/virtual/format/read/VGeoPage.d.ts.map +1 -0
  589. package/src/shade/renderer/geometry/virtual/format/read/VGeoPage.js +232 -0
  590. package/src/shade/renderer/geometry/virtual/format/read/VGeoPageWant.d.ts +51 -0
  591. package/src/shade/renderer/geometry/virtual/format/read/VGeoPageWant.d.ts.map +1 -0
  592. package/src/shade/renderer/geometry/virtual/format/read/VGeoPageWant.js +55 -0
  593. package/src/shade/renderer/geometry/virtual/format/read/VGeoReadOptions.d.ts +68 -0
  594. package/src/shade/renderer/geometry/virtual/format/read/VGeoReadOptions.d.ts.map +1 -0
  595. package/src/shade/renderer/geometry/virtual/format/read/VGeoReadOptions.js +72 -0
  596. package/src/shade/renderer/geometry/virtual/format/read/vgeo_fetch_byte_source.d.ts +28 -0
  597. package/src/shade/renderer/geometry/virtual/format/read/vgeo_fetch_byte_source.d.ts.map +1 -0
  598. package/src/shade/renderer/geometry/virtual/format/read/vgeo_fetch_byte_source.js +108 -0
  599. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_directory.d.ts +23 -0
  600. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_directory.d.ts.map +1 -0
  601. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_directory.js +83 -0
  602. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_header.d.ts +53 -0
  603. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_header.d.ts.map +1 -0
  604. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_header.js +211 -0
  605. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_page.d.ts +26 -0
  606. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_page.d.ts.map +1 -0
  607. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_page.js +271 -0
  608. package/src/shade/renderer/global_illumination/brick4/cpu/brick4_bake_for_scene.d.ts.map +1 -1
  609. package/src/shade/renderer/global_illumination/clipmap/GPUClipMap3D.d.ts +2 -2
  610. package/src/shade/renderer/global_illumination/clipmap/GPUClipMap3D.d.ts.map +1 -1
  611. package/src/shade/renderer/global_illumination/lpv/LightProbeVolume.d.ts +1 -1
  612. package/src/shade/renderer/global_illumination/lpv/LightProbeVolume.d.ts.map +1 -1
  613. package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.d.ts +1 -1
  614. package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.d.ts.map +1 -1
  615. package/src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.d.ts +1 -1
  616. package/src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.d.ts.map +1 -1
  617. package/src/shade/renderer/gpu_primitive/bvh/check_bvh_structure.d.ts.map +1 -1
  618. package/src/shade/renderer/light/LightCollection.d.ts +2 -2
  619. package/src/shade/renderer/light/LightCollection.d.ts.map +1 -1
  620. package/src/shade/renderer/light/model/PointLight.d.ts +1 -1
  621. package/src/shade/renderer/light/model/PointLight.d.ts.map +1 -1
  622. package/src/shade/renderer/light/model/SpotLight.d.ts +1 -1
  623. package/src/shade/renderer/light/model/SpotLight.d.ts.map +1 -1
  624. package/src/shade/renderer/loader/gltf/fix_up_material_sides.d.ts.map +1 -1
  625. package/src/shade/renderer/loader/gltf/gltf_create_material.d.ts +1 -1
  626. package/src/shade/renderer/loader/gltf/gltf_create_material.d.ts.map +1 -1
  627. package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +2 -2
  628. package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts.map +1 -1
  629. package/src/shade/renderer/loader/usd/usd_decode_image.d.ts +1 -1
  630. package/src/shade/renderer/loader/usd/usd_decode_image.d.ts.map +1 -1
  631. package/src/shade/renderer/material/StandardShadeMaterial.js +2 -2
  632. package/src/shade/renderer/material/util/material_convert_metallic_roughness_to_specular_glossiness.d.ts.map +1 -1
  633. package/src/shade/renderer/material/util/material_convert_specular_glossiness_to_metallic_roughness.d.ts.map +1 -1
  634. package/src/shade/renderer/particles/DESIGN.md +27 -18
  635. package/src/shade/renderer/particles/GPUParticleSystem.d.ts +24 -10
  636. package/src/shade/renderer/particles/GPUParticleSystem.d.ts.map +1 -1
  637. package/src/shade/renderer/particles/GPUParticleSystem.js +80 -73
  638. package/src/shade/renderer/particles/coherence/graph_particle_bucket.d.ts +17 -16
  639. package/src/shade/renderer/particles/coherence/graph_particle_bucket.d.ts.map +1 -1
  640. package/src/shade/renderer/particles/coherence/graph_particle_bucket.js +35 -22
  641. package/src/shade/renderer/particles/graph/ParticleGroupBuilder.d.ts +7 -7
  642. package/src/shade/renderer/particles/graph/ParticleGroupBuilder.d.ts.map +1 -1
  643. package/src/shade/renderer/particles/graph/ParticleGroupBuilder.js +1 -1
  644. package/src/shade/renderer/particles/graph/ParticleNodeGroup.d.ts.map +1 -1
  645. package/src/shade/renderer/particles/graph/ParticleNodeRegistry.d.ts.map +1 -1
  646. package/src/shade/renderer/particles/graph/ParticleNodeRegistry.js +9 -15
  647. package/src/shade/renderer/particles/graph/ParticleValueType.d.ts +1 -1
  648. package/src/shade/renderer/particles/graph/ParticleValueType.d.ts.map +1 -1
  649. package/src/shade/renderer/particles/graph/make_particle_group.d.ts.map +1 -1
  650. package/src/shade/renderer/particles/graph/particle_graph_authoring.d.ts.map +1 -1
  651. package/src/shade/renderer/particles/graph/particle_group_json.d.ts.map +1 -1
  652. package/src/shade/renderer/particles/graph/particle_group_library.d.ts.map +1 -1
  653. package/src/shade/renderer/particles/graph/particle_group_library.js +8 -3
  654. package/src/shade/renderer/particles/graph/particle_node_parameters.d.ts +0 -2
  655. package/src/shade/renderer/particles/graph/particle_node_parameters.d.ts.map +1 -1
  656. package/src/shade/renderer/particles/graph/particle_node_parameters.js +0 -9
  657. package/src/shade/renderer/particles/graph/particle_node_presentation.d.ts.map +1 -1
  658. package/src/shade/renderer/particles/graph/particle_node_presentation.js +0 -10
  659. package/src/shade/renderer/particles/graph/particle_ramp.d.ts +2 -8
  660. package/src/shade/renderer/particles/graph/particle_ramp.d.ts.map +1 -1
  661. package/src/shade/renderer/particles/graph/particle_ramp.js +2 -8
  662. package/src/shade/renderer/particles/graph/validate_particle_graph.js +0 -6
  663. package/src/shade/renderer/particles/graph_particles.d.ts +11 -0
  664. package/src/shade/renderer/particles/graph_particles.d.ts.map +1 -1
  665. package/src/shade/renderer/particles/graph_particles.js +55 -37
  666. package/src/shade/renderer/particles/graph_particles_avboit.d.ts.map +1 -1
  667. package/src/shade/renderer/particles/graph_particles_avboit.js +13 -4
  668. package/src/shade/renderer/particles/graph_particles_billboard.d.ts.map +1 -1
  669. package/src/shade/renderer/particles/isa/InstructionStream.d.ts +1 -12
  670. package/src/shade/renderer/particles/isa/InstructionStream.d.ts.map +1 -1
  671. package/src/shade/renderer/particles/isa/InstructionStream.js +1 -12
  672. package/src/shade/renderer/particles/isa/ParticleVMISA.d.ts +54 -60
  673. package/src/shade/renderer/particles/isa/ParticleVMISA.d.ts.map +1 -1
  674. package/src/shade/renderer/particles/isa/ParticleVMISA.js +9 -17
  675. package/src/shade/renderer/particles/isa/particle_assembly.d.ts +0 -1
  676. package/src/shade/renderer/particles/isa/particle_assembly.d.ts.map +1 -1
  677. package/src/shade/renderer/particles/isa/particle_assembly.js +2 -16
  678. package/src/shade/renderer/particles/layout/ParticleLayout.d.ts.map +1 -1
  679. package/src/shade/renderer/particles/optimizer/dag/particle_vector_graph.d.ts +1 -1
  680. package/src/shade/renderer/particles/optimizer/dag/particle_vector_graph.js +1 -1
  681. package/src/shade/renderer/particles/optimizer/dag/particle_vector_lift.d.ts.map +1 -1
  682. package/src/shade/renderer/particles/optimizer/dag/particle_vector_lift.js +0 -14
  683. package/src/shade/renderer/particles/optimizer/dag/particle_vector_pack.d.ts.map +1 -1
  684. package/src/shade/renderer/particles/optimizer/dag/particle_vector_pack.js +3 -17
  685. package/src/shade/renderer/particles/optimizer/optimize_particle_program.d.ts +1 -1
  686. package/src/shade/renderer/particles/optimizer/optimize_particle_program.d.ts.map +1 -1
  687. package/src/shade/renderer/particles/optimizer/particle_program_analysis.d.ts.map +1 -1
  688. package/src/shade/renderer/particles/optimizer/particle_program_analysis.js +15 -36
  689. package/src/shade/renderer/particles/optimizer/particle_program_equivalence.d.ts.map +1 -1
  690. package/src/shade/renderer/particles/optimizer/particle_program_equivalence.js +1 -5
  691. package/src/shade/renderer/particles/optimizer/particle_program_fuzz.d.ts.map +1 -1
  692. package/src/shade/renderer/particles/optimizer/particle_program_fuzz.js +1 -8
  693. package/src/shade/renderer/particles/optimizer/particle_vm_semantics.d.ts +2 -11
  694. package/src/shade/renderer/particles/optimizer/particle_vm_semantics.d.ts.map +1 -1
  695. package/src/shade/renderer/particles/optimizer/particle_vm_semantics.js +2 -11
  696. package/src/shade/renderer/particles/runtime/create_particle_effect.d.ts.map +1 -1
  697. package/src/shade/renderer/particles/shaders/chunk_particle_avboit_contribution.d.ts.map +1 -1
  698. package/src/shade/renderer/particles/shaders/chunk_particle_avboit_contribution.js +13 -0
  699. package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.d.ts +3 -6
  700. package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.d.ts.map +1 -1
  701. package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.js +49 -17
  702. package/src/shade/renderer/particles/shaders/shader_particle_emit.d.ts.map +1 -1
  703. package/src/shade/renderer/particles/shaders/shader_particle_emit.js +0 -2
  704. package/src/shade/renderer/particles/shaders/shader_particle_emit_wide.d.ts.map +1 -1
  705. package/src/shade/renderer/particles/shaders/shader_particle_emit_wide.js +0 -2
  706. package/src/shade/renderer/particles/shaders/shader_particle_simulate.d.ts.map +1 -1
  707. package/src/shade/renderer/particles/shaders/shader_particle_simulate.js +1 -5
  708. package/src/shade/renderer/particles/shaders/shader_particle_simulate_wide.d.ts.map +1 -1
  709. package/src/shade/renderer/particles/shaders/shader_particle_simulate_wide.js +0 -2
  710. package/src/shade/renderer/particles/sort/graph_particle_sort.d.ts +17 -13
  711. package/src/shade/renderer/particles/sort/graph_particle_sort.d.ts.map +1 -1
  712. package/src/shade/renderer/particles/sort/graph_particle_sort.js +43 -33
  713. package/src/shade/renderer/particles/vm/ParticleVMReference.d.ts +1 -3
  714. package/src/shade/renderer/particles/vm/ParticleVMReference.d.ts.map +1 -1
  715. package/src/shade/renderer/particles/vm/ParticleVMReference.js +4 -20
  716. package/src/shade/renderer/particles/vm/chunk_particle_vm.d.ts.map +1 -1
  717. package/src/shade/renderer/particles/vm/chunk_particle_vm.js +2 -5
  718. package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance.d.ts.map +1 -1
  719. package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance.js +0 -2
  720. package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance_wide.d.ts.map +1 -1
  721. package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance_wide.js +0 -2
  722. package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.d.ts +1 -1
  723. package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.d.ts.map +1 -1
  724. package/src/shade/renderer/postprocess/graph_pass_composit_red_as_rgba.d.ts.map +1 -1
  725. package/src/shade/renderer/postprocess/nss/NSS.d.ts +4 -4
  726. package/src/shade/renderer/postprocess/nss/NSS.d.ts.map +1 -1
  727. package/src/shade/renderer/postprocess/ssr/SSR.d.ts +3 -3
  728. package/src/shade/renderer/postprocess/ssr/SSR.d.ts.map +1 -1
  729. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_reprojection.d.ts.map +1 -1
  730. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_reprojection.js +21 -0
  731. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_temporal_accumulate.d.ts.map +1 -1
  732. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_temporal_accumulate.js +4 -0
  733. package/src/shade/renderer/postprocess/ssr/ssr_reproject_shader.d.ts.map +1 -1
  734. package/src/shade/renderer/postprocess/ssr/ssr_reproject_shader.js +2 -1
  735. package/src/shade/renderer/postprocess/taa/TAA.d.ts +2 -2
  736. package/src/shade/renderer/postprocess/taa/TAA.d.ts.map +1 -1
  737. package/src/shade/renderer/rasterize/bucket/prepare_meshlet_draw_commands_by_material.d.ts.map +1 -1
  738. package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts.map +1 -1
  739. package/src/shade/renderer/scene/InstanceBatch.d.ts +1 -1
  740. package/src/shade/renderer/scene/InstanceBatch.d.ts.map +1 -1
  741. package/src/shade/renderer/scene/Mesh.js +1 -1
  742. package/src/shade/renderer/scene/Node3D.d.ts +3 -3
  743. package/src/shade/renderer/scene/Node3D.d.ts.map +1 -1
  744. package/src/shade/renderer/scene/bvh/StaticSceneBVH.d.ts.map +1 -1
  745. package/src/shade/renderer/shader/compiler/CodeChunk.d.ts.map +1 -1
  746. package/src/shade/renderer/shader/graph/graph_prepare_pass_input_data.d.ts.map +1 -1
  747. package/src/shade/renderer/shader/graph/graph_prepare_pass_input_data.js +11 -0
  748. package/src/shade/renderer/shader/type/WebGPUStruct.d.ts +1 -1
  749. package/src/shade/renderer/shader/type/WebGPUStruct.d.ts.map +1 -1
  750. package/src/shade/renderer/texture/GPUTextureContext.d.ts +1 -1
  751. package/src/shade/renderer/texture/GPUTextureContext.d.ts.map +1 -1
  752. package/src/shade/renderer/texture/ShadeTexture.js +1 -1
  753. package/src/shade/renderer/texture/format/sampler_descriptor_unpack.d.ts.map +1 -1
  754. package/src/shade/renderer/texture/source/ShadeImage.d.ts +7 -7
  755. package/src/shade/renderer/texture/source/ShadeImage.d.ts.map +1 -1
  756. package/src/shade/renderer/texture/virtual/VTPageTable.d.ts.map +1 -1
  757. package/src/shade/renderer/view/GPUViewContext.d.ts +2 -2
  758. package/src/shade/renderer/view/GPUViewContext.d.ts.map +1 -1
  759. package/src/shade/renderer/view/GPUViewSkyContext.d.ts +1 -1
  760. package/src/shade/renderer/view/GPUViewSkyContext.d.ts.map +1 -1
  761. package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts +2 -2
  762. package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts.map +1 -1
  763. package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts +1 -1
  764. package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts.map +1 -1
  765. package/src/shade/wgsl/emulator/CPUBitmapData.d.ts.map +1 -1
  766. package/src/view/View.d.ts +1 -1
  767. package/src/view/View.d.ts.map +1 -1
  768. package/src/view/elements/button/ButtonView.d.ts +1 -1
  769. package/src/view/elements/button/ButtonView.d.ts.map +1 -1
  770. package/src/view/elements/progress/SmoothProgressBar.d.ts +2 -2
  771. package/src/view/elements/progress/SmoothProgressBar.d.ts.map +1 -1
  772. package/src/view/elements/radial/RadialMenuElement.d.ts +3 -3
  773. package/src/view/elements/radial/RadialMenuElement.d.ts.map +1 -1
  774. package/src/view/elements/windrose/WindRoseDiagram.d.ts.map +1 -1
  775. package/src/view/layout/DockLayoutView.d.ts.map +1 -1
  776. package/src/view/layout/DrawerView.d.ts +2 -2
  777. package/src/view/layout/DrawerView.d.ts.map +1 -1
  778. package/src/view/layout/SplitView.d.ts +9 -9
  779. package/src/view/layout/SplitView.d.ts.map +1 -1
  780. package/src/view/minimap/MinimapMarkerCollection.d.ts +3 -2
  781. package/src/view/minimap/MinimapMarkerCollection.d.ts.map +1 -1
  782. package/src/view/minimap/MinimapMarkerCollection.js +28 -5
  783. package/src/view/minimap/dom/MinimapMarkerView.js +65 -34
  784. package/src/view/minimap/gl/MarkerGL.d.ts +15 -3
  785. package/src/view/minimap/gl/MarkerGL.d.ts.map +1 -1
  786. package/src/view/minimap/gl/MarkerGL.js +31 -4
  787. package/src/engine/physics/BULLET_REVIEW.md +0 -945
  788. package/src/engine/physics/CANNON_REVIEW.md +0 -1300
  789. package/src/engine/physics/CONSTRAINT_SOLVER_BENCH_LOG.md +0 -208
  790. package/src/engine/physics/CONSTRAINT_SOLVER_IMPROVEMENTS_PLAN.md +0 -364
  791. package/src/engine/physics/INTEPOLATION_SYSTEM_PLAN.md +0 -287
  792. package/src/engine/physics/JOLT_REVIEW.md +0 -913
  793. package/src/engine/physics/PLAN.md +0 -1120
  794. package/src/engine/physics/RAPIER_REVIEW.md +0 -934
  795. package/src/engine/physics/REVIEW_001_ACTION_PLAN.md +0 -642
  796. package/src/engine/physics/REVIEW_002.md +0 -151
  797. package/src/engine/physics/REVIEW_003.md +0 -166
  798. package/src/shade/descriptor/util/optional_clone.d.ts.map +0 -1
  799. package/src/shade/descriptor/util/optional_equality.d.ts.map +0 -1
  800. package/src/shade/descriptor/util/optional_hash.d.ts.map +0 -1
  801. package/src/shade/renderer/geometry/virtual/format/prototypeVGEOFormatViewer.js +0 -2063
  802. package/src/shade/renderer/particles/shaders/chunk_particle_curve_animation.d.ts +0 -19
  803. package/src/shade/renderer/particles/shaders/chunk_particle_curve_animation.d.ts.map +0 -1
  804. package/src/shade/renderer/particles/shaders/chunk_particle_curve_animation.js +0 -30
  805. package/src/shade/renderer/particles/shaders/chunk_particle_curve_disabled.d.ts +0 -11
  806. package/src/shade/renderer/particles/shaders/chunk_particle_curve_disabled.d.ts.map +0 -1
  807. package/src/shade/renderer/particles/shaders/chunk_particle_curve_disabled.js +0 -13
  808. /package/src/{shade/descriptor/util → core/model/object}/optional_clone.d.ts +0 -0
  809. /package/src/{shade/descriptor/util → core/model/object}/optional_clone.js +0 -0
@@ -156,8 +156,7 @@ export function vm_repack_instruction(words: ArrayLike<number>): number[];
156
156
  * @property {number} slot source slot, `0..2`
157
157
  * @property {number} kind a {@link VM_KIND}, never `NONE`
158
158
  * @property {number} word the source word as encoded
159
- * @property {number} lanes how many lanes the instruction reads of it: the operation's width, or one
160
- * for a slot the ISA marks scalar
159
+ * @property {number} lanes how many lanes the instruction reads of it: the operation's width
161
160
  * @property {number} span register slots the operand reaches from its base, for a register; `0` for a
162
161
  * literal
163
162
  */
@@ -165,9 +164,8 @@ export function vm_repack_instruction(words: ArrayLike<number>): number[];
165
164
  * Visit every source operand of an instruction — every slot whose kind is not `NONE` — with how
166
165
  * many lanes the opcode reads of it and how far into the file it reaches.
167
166
  *
168
- * The rules for the reach are not uniform and live here rather than in each caller: a source is
169
- * read as wide as the operation runs unless the ISA marks that slot scalar, and a register operand
170
- * reaches as far as its widest selector among the lanes read.
167
+ * A source is read as wide as the operation runs, and a register operand reaches as far as its
168
+ * widest selector among the lanes read.
171
169
  *
172
170
  * @param {ArrayLike<number>} words an instruction stream
173
171
  * @param {number} base index of the instruction's first word
@@ -229,7 +227,7 @@ export function vm_register_kinds(op: number): number;
229
227
  * A source word means what its kind says — see {@link VM_KIND}:
230
228
  *
231
229
  * - `NONE`: not an operand the VM resolves — an unused slot, or a raw field the opcode reads for
232
- * itself: an attribute offset, a component count, a builtin id, a curve handle, a pool index.
230
+ * itself: an attribute offset, a component count, a builtin id, a pool index.
233
231
  * - `REG`: a register operand. Bits 0..7 are the first slot, bits 8..15 a swizzle — see below.
234
232
  * - `IMM`: the word IS the `f32` bit pattern of a literal, read in every lane. A scalar or a
235
233
  * lane-uniform vector costs no register and no load; only a vector whose lanes differ still goes
@@ -278,7 +276,6 @@ export namespace VM_OPERAND {
278
276
  let ATTR_OFFSET: string;
279
277
  let COMP: string;
280
278
  let BUILTIN: string;
281
- let CURVE: string;
282
279
  }
283
280
  /**
284
281
  * Builtin inputs the host shader assembles per-invocation and the VM reads via `LOAD_BUILTIN`.
@@ -306,58 +303,57 @@ export const VM_BUILTIN_COMPONENTS: {
306
303
  };
307
304
  /**
308
305
  * Opcodes. Numbers are stable wire values — never renumber, only append. 19 was `SCALE` and 45 was
309
- * `SWIZZLE`; both are spelled by an operand swizzle now and the numbers stay unused.
306
+ * `SWIZZLE`; both are spelled by an operand swizzle now. 61 was the animation-table sampler.
307
+ * These numbers stay unused.
310
308
  */
311
309
  export type VM_OP = number;
312
310
  export namespace VM_OP {
313
- export let HALT: number;
314
- export let NOP: number;
315
- export let MOV: number;
316
- export let LOAD_CONST: number;
317
- export let LOAD_ATTR: number;
318
- export let STORE_ATTR: number;
319
- export let LOAD_BUILTIN: number;
320
- export let KILL: number;
321
- export let ADD: number;
322
- export let SUB: number;
323
- export let MUL: number;
324
- export let DIV: number;
325
- export let MAD: number;
326
- export let MIN: number;
327
- export let MAX: number;
328
- export let MIX: number;
329
- export let CLAMP: number;
330
- export let NEG: number;
331
- export let ABS: number;
332
- export let FLOOR: number;
333
- export let FRACT: number;
334
- export let SQRT: number;
335
- export let SIN: number;
336
- export let COS: number;
337
- export let EXP: number;
338
- export let LOG: number;
339
- export let POW: number;
340
- export let STEP: number;
341
- export let SMOOTHSTEP: number;
342
- export let RSQRT: number;
343
- export let TAN: number;
344
- export let ASIN: number;
345
- export let ACOS: number;
346
- export let ATAN2: number;
347
- export let DOT: number;
348
- export let CROSS: number;
349
- export let LENGTH: number;
350
- export let NORMALIZE: number;
351
- export let DISTANCE: number;
352
- export let CMP_LT: number;
353
- export let CMP_LE: number;
354
- export let CMP_GT: number;
355
- export let CMP_GE: number;
356
- export let CMP_EQ: number;
357
- export let SELECT: number;
358
- export let RANDOM: number;
359
- let CURVE_1: number;
360
- export { CURVE_1 as CURVE };
311
+ let HALT: number;
312
+ let NOP: number;
313
+ let MOV: number;
314
+ let LOAD_CONST: number;
315
+ let LOAD_ATTR: number;
316
+ let STORE_ATTR: number;
317
+ let LOAD_BUILTIN: number;
318
+ let KILL: number;
319
+ let ADD: number;
320
+ let SUB: number;
321
+ let MUL: number;
322
+ let DIV: number;
323
+ let MAD: number;
324
+ let MIN: number;
325
+ let MAX: number;
326
+ let MIX: number;
327
+ let CLAMP: number;
328
+ let NEG: number;
329
+ let ABS: number;
330
+ let FLOOR: number;
331
+ let FRACT: number;
332
+ let SQRT: number;
333
+ let SIN: number;
334
+ let COS: number;
335
+ let EXP: number;
336
+ let LOG: number;
337
+ let POW: number;
338
+ let STEP: number;
339
+ let SMOOTHSTEP: number;
340
+ let RSQRT: number;
341
+ let TAN: number;
342
+ let ASIN: number;
343
+ let ACOS: number;
344
+ let ATAN2: number;
345
+ let DOT: number;
346
+ let CROSS: number;
347
+ let LENGTH: number;
348
+ let NORMALIZE: number;
349
+ let DISTANCE: number;
350
+ let CMP_LT: number;
351
+ let CMP_LE: number;
352
+ let CMP_GT: number;
353
+ let CMP_GE: number;
354
+ let CMP_EQ: number;
355
+ let SELECT: number;
356
+ let RANDOM: number;
361
357
  }
362
358
  /**
363
359
  * How an opcode reads the instruction's width field — the lane count it operates on.
@@ -431,7 +427,7 @@ export const VM_OPERAND_SWIZZLE_SHIFT: number;
431
427
  *
432
428
  * Keyed by opcode number. Used by the assembler for validation/disassembly and by the parity
433
429
  * meta-test to enforce that every opcode is handled by both executors.
434
- * @type {Map<number, {name: string, dst: boolean, operands: [string, string, string], width: string, dest: string, default_width: number, min_width: number, scalar_operands: number[]}>}
430
+ * @type {Map<number, {name: string, dst: boolean, operands: [string, string, string], width: string, dest: string, default_width: number, min_width: number}>}
435
431
  */
436
432
  export const VM_ISA: Map<number, {
437
433
  name: string;
@@ -441,7 +437,6 @@ export const VM_ISA: Map<number, {
441
437
  dest: string;
442
438
  default_width: number;
443
439
  min_width: number;
444
- scalar_operands: number[];
445
440
  }>;
446
441
  export type ParticleVMOperand = {
447
442
  /**
@@ -457,8 +452,7 @@ export type ParticleVMOperand = {
457
452
  */
458
453
  word: number;
459
454
  /**
460
- * how many lanes the instruction reads of it: the operation's width, or one
461
- * for a slot the ISA marks scalar
455
+ * how many lanes the instruction reads of it: the operation's width
462
456
  */
463
457
  lanes: number;
464
458
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ParticleVMISA.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/isa/ParticleVMISA.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ParticleVMISA.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/isa/ParticleVMISA.js"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@
23
23
  * A source word means what its kind says — see {@link VM_KIND}:
24
24
  *
25
25
  * - `NONE`: not an operand the VM resolves — an unused slot, or a raw field the opcode reads for
26
- * itself: an attribute offset, a component count, a builtin id, a curve handle, a pool index.
26
+ * itself: an attribute offset, a component count, a builtin id, a pool index.
27
27
  * - `REG`: a register operand. Bits 0..7 are the first slot, bits 8..15 a swizzle — see below.
28
28
  * - `IMM`: the word IS the `f32` bit pattern of a literal, read in every lane. A scalar or a
29
29
  * lane-uniform vector costs no register and no load; only a vector whose lanes differ still goes
@@ -80,8 +80,6 @@ export const VM_OPERAND = {
80
80
  COMP: "comp",
81
81
  /** builtin id (see {@link VM_BUILTIN}) */
82
82
  BUILTIN: "builtin",
83
- /** curve handle (row index into the animation-curve table) */
84
- CURVE: "curve",
85
83
  };
86
84
 
87
85
  /**
@@ -130,7 +128,8 @@ export const VM_BUILTIN_COMPONENTS = Object.freeze({
130
128
 
131
129
  /**
132
130
  * Opcodes. Numbers are stable wire values — never renumber, only append. 19 was `SCALE` and 45 was
133
- * `SWIZZLE`; both are spelled by an operand swizzle now and the numbers stay unused.
131
+ * `SWIZZLE`; both are spelled by an operand swizzle now. 61 was the animation-table sampler.
132
+ * These numbers stay unused.
134
133
  * @enum {number}
135
134
  */
136
135
  export const VM_OP = {
@@ -185,7 +184,6 @@ export const VM_OP = {
185
184
  SELECT: 55,
186
185
 
187
186
  RANDOM: 60,
188
- CURVE: 61,
189
187
  };
190
188
 
191
189
  /**
@@ -559,7 +557,7 @@ const _ = VM_OPERAND.NONE;
559
557
  *
560
558
  * Keyed by opcode number. Used by the assembler for validation/disassembly and by the parity
561
559
  * meta-test to enforce that every opcode is handled by both executors.
562
- * @type {Map<number, {name: string, dst: boolean, operands: [string, string, string], width: string, dest: string, default_width: number, min_width: number, scalar_operands: number[]}>}
560
+ * @type {Map<number, {name: string, dst: boolean, operands: [string, string, string], width: string, dest: string, default_width: number, min_width: number}>}
563
561
  */
564
562
  export const VM_ISA = new Map();
565
563
 
@@ -575,7 +573,6 @@ export const VM_ISA = new Map();
575
573
  * @param {string} [options.dest] see {@link VM_DEST}; as wide as the operation unless it reduces
576
574
  * @param {number} [options.default_width] width the assembler uses when the text does not say
577
575
  * @param {number} [options.min_width] narrowest the opcode is meaningful at
578
- * @param {number[]} [options.scalar_operands] source slots read as a single lane whatever the width
579
576
  */
580
577
  function def(op, name, dst, s0 = _, s1 = _, s2 = _, options = {}) {
581
578
  if (VM_ISA.has(op)) {
@@ -603,7 +600,6 @@ function def(op, name, dst, s0 = _, s1 = _, s2 = _, options = {}) {
603
600
  dest,
604
601
  default_width,
605
602
  min_width: options.min_width ?? 1,
606
- scalar_operands: options.scalar_operands ?? [],
607
603
  });
608
604
  }
609
605
 
@@ -669,8 +665,6 @@ def(VM_OP.SELECT, "SELECT", true, R, R, R);
669
665
  // One independent uniform draw in `[0, 1)` per lane, and nothing else: a shaped distribution is
670
666
  // arithmetic a program writes over this draw — see ../graph/particle_graph_distributions.js.
671
667
  def(VM_OP.RANDOM, "RANDOM", true);
672
- // `t` is one lane; the sampled value fills the destination's width.
673
- def(VM_OP.CURVE, "CURVE", true, VM_OPERAND.CURVE, R, _, { scalar_operands: [1] });
674
668
 
675
669
  // --- packing an instruction ---------------------------------------------------------------------
676
670
 
@@ -699,7 +693,7 @@ export function vm_pack_instruction(op, width, dst, kinds, sources) {
699
693
  const word = sources[slot] >>> 0;
700
694
 
701
695
  words[1 + slot] = kinds[slot] === VM_KIND.REG && meta !== undefined
702
- ? vm_canonical_register(word, meta.scalar_operands.includes(slot) ? 1 : operation_width)
696
+ ? vm_canonical_register(word, operation_width)
703
697
  : word;
704
698
  }
705
699
 
@@ -731,8 +725,7 @@ export function vm_repack_instruction(words) {
731
725
  * @property {number} slot source slot, `0..2`
732
726
  * @property {number} kind a {@link VM_KIND}, never `NONE`
733
727
  * @property {number} word the source word as encoded
734
- * @property {number} lanes how many lanes the instruction reads of it: the operation's width, or one
735
- * for a slot the ISA marks scalar
728
+ * @property {number} lanes how many lanes the instruction reads of it: the operation's width
736
729
  * @property {number} span register slots the operand reaches from its base, for a register; `0` for a
737
730
  * literal
738
731
  */
@@ -741,9 +734,8 @@ export function vm_repack_instruction(words) {
741
734
  * Visit every source operand of an instruction — every slot whose kind is not `NONE` — with how
742
735
  * many lanes the opcode reads of it and how far into the file it reaches.
743
736
  *
744
- * The rules for the reach are not uniform and live here rather than in each caller: a source is
745
- * read as wide as the operation runs unless the ISA marks that slot scalar, and a register operand
746
- * reaches as far as its widest selector among the lanes read.
737
+ * A source is read as wide as the operation runs, and a register operand reaches as far as its
738
+ * widest selector among the lanes read.
747
739
  *
748
740
  * @param {ArrayLike<number>} words an instruction stream
749
741
  * @param {number} base index of the instruction's first word
@@ -770,7 +762,7 @@ export function vm_visit_operands(words, base, visit) {
770
762
  }
771
763
 
772
764
  const word = words[base + 1 + slot];
773
- const lanes = meta.scalar_operands.includes(slot) ? 1 : operation_width;
765
+ const lanes = operation_width;
774
766
 
775
767
  operand.slot = slot;
776
768
  operand.kind = kind;
@@ -99,7 +99,6 @@ export function assemble_particle_program(text: string): ParticleProgram;
99
99
  * | attribute word offset | `@<word>` | `@7` |
100
100
  * | attribute component count | a bare integer `1..4` | `3` |
101
101
  * | builtin | a {@link VM_BUILTIN} name | `EMITTER_POSITION` |
102
- * | curve handle | `k<handle>` | `k2` |
103
102
  *
104
103
  * A register source's selectors say which lane of the value each lane of the instruction reads, one
105
104
  * letter of `xyzw` per lane the instruction spans; left off, lane `c` reads lane `c`. A literal is
@@ -1 +1 @@
1
- {"version":3,"file":"particle_assembly.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/isa/particle_assembly.js"],"names":[],"mappings":"AA0KA;;;;;;;;GAQG;AAMH;;;;;;;;;;;GAWG;AACH,sDALW,eAAe;IAEE,MAAM,GAAvB,MAAM;IACJ,MAAM,CAmClB;AA0JD;;;;;;;;;;;GAWG;AACH,8CAHW,MAAM;aACM,eAAe,GAAC,IAAI;iBAAe,0BAA0B,EAAE;EA8IrF;AAED;;;;;;;;GAQG;AACH,gDAJW,MAAM,GACJ,eAAe,CAkB3B;AAjhBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAEH,oEAAoE;AACpE,6CAD0D,MAAM,CACV;AAEtD,sEAAsE;AACtE,+CAD4D,MAAM,CACR;AAE1D,+DAA+D;AAC/D,oDADqD,MAAM,CACO;AAElE,kEAAkE;AAClE,gDADwD,MAAM,CACJ;AAE1D,iEAAiE;AACjE,iDADuD,MAAM,CACP;AAEtD;;;;;GAKG;AACH,gDAFU,MAAM,CAEqC;AAErD;;;;;;;;;GASG;AACH,8CAFU,MAAM,CAEoC;;;;;;;;;;UA+CtC,MAAM;aACN,MAAM;;;;;;UA+hBN,MAAM;;;;UACN,MAAM;;;;gBACN,MAAM;;;;YACN,MAAM;;gCA7sBY,sBAAsB"}
1
+ {"version":3,"file":"particle_assembly.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/isa/particle_assembly.js"],"names":[],"mappings":"AAyKA;;;;;;;;GAQG;AAMH;;;;;;;;;;;GAWG;AACH,sDALW,eAAe;IAEE,MAAM,GAAvB,MAAM;IACJ,MAAM,CAmClB;AAwJD;;;;;;;;;;;GAWG;AACH,8CAHW,MAAM,GACJ;IAAC,OAAO,EAAE,eAAe,GAAC,IAAI,CAAC;IAAC,WAAW,EAAE,0BAA0B,EAAE,CAAA;CAAC,CA8ItF;AAED;;;;;;;;GAQG;AACH,gDAJW,MAAM,GACJ,eAAe,CAkB3B;AA9gBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AAEH,oEAAoE;AACpE,6CAD0D,MAAM,CACV;AAEtD,sEAAsE;AACtE,+CAD4D,MAAM,CACR;AAE1D,+DAA+D;AAC/D,oDADqD,MAAM,CACO;AAElE,kEAAkE;AAClE,gDADwD,MAAM,CACJ;AAE1D,iEAAiE;AACjE,iDADuD,MAAM,CACP;AAEtD;;;;;GAKG;AACH,gDAFU,MAAM,CAEqC;AAErD;;;;;;;;;GASG;AACH,8CAFU,MAAM,CAEoC;;;;;;;;;;UA+CtC,MAAM;aACN,MAAM;;;;;;UA6hBN,MAAM;;;;UACN,MAAM;;;;gBACN,MAAM;;;;YACN,MAAM;;gCA1sBY,sBAAsB"}
@@ -81,7 +81,6 @@ import {
81
81
  * | attribute word offset | `@<word>` | `@7` |
82
82
  * | attribute component count | a bare integer `1..4` | `3` |
83
83
  * | builtin | a {@link VM_BUILTIN} name | `EMITTER_POSITION` |
84
- * | curve handle | `k<handle>` | `k2` |
85
84
  *
86
85
  * A register source's selectors say which lane of the value each lane of the instruction reads, one
87
86
  * letter of `xyzw` per lane the instruction spans; left off, lane `c` reads lane `c`. A literal is
@@ -268,7 +267,7 @@ function disassemble_instruction(words, base) {
268
267
  } else if (vm_decode_kind(word0, slot) === VM_KIND.IMM) {
269
268
  operands.push(`${PARTICLE_ASSEMBLY_IMMEDIATE_PREFIX}${format_float(vm_f32_value(word))}`);
270
269
  } else {
271
- operands.push(format_register(word, meta.scalar_operands.includes(slot) ? 1 : operation_width));
270
+ operands.push(format_register(word, operation_width));
272
271
  }
273
272
  }
274
273
 
@@ -337,8 +336,6 @@ function format_operand(role, value) {
337
336
  return String(value);
338
337
  case VM_OPERAND.BUILTIN:
339
338
  return BUILTIN_NAME_BY_ID.get(value) ?? String(value);
340
- case VM_OPERAND.CURVE:
341
- return `k${value}`;
342
339
  default:
343
340
  return String(value);
344
341
  }
@@ -809,7 +806,7 @@ function parse_instruction(line, line_number, report) {
809
806
 
810
807
  for (let slot = 0; slot < sources.length; slot++) {
811
808
  const source = sources[slot];
812
- const lanes = meta.scalar_operands.includes(slot) ? 1 : operation_width;
809
+ const lanes = operation_width;
813
810
 
814
811
  if (source.kind === VM_KIND.REG && source.selectors !== undefined && source.selectors > 0 && source.selectors !== lanes) {
815
812
  report(
@@ -1090,17 +1087,6 @@ function parse_plain_operand(role, token, line_number, report) {
1090
1087
  return id === null ? null : { kind: VM_KIND.NONE, word: id };
1091
1088
  }
1092
1089
 
1093
- case VM_OPERAND.CURVE: {
1094
- const handle = parse_prefixed(token, "k");
1095
-
1096
- if (handle === null) {
1097
- report(line_number, `Expected a curve handle like 'k0', got '${token}'`);
1098
- return null;
1099
- }
1100
-
1101
- return { kind: VM_KIND.NONE, word: handle };
1102
- }
1103
-
1104
1090
  default:
1105
1091
  report(line_number, `Unsupported operand role '${role}'`);
1106
1092
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"ParticleLayout.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/layout/ParticleLayout.js"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH;IAcI;;;;OAIG;IACH,wBAJW,MAAM;QAAC,MAAM,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,EAyClE;IAtDD;;;OAGG;IACH,YAFU,IAAI,MAAM,EAAE;QAAC,MAAM,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAC,SAAS,CAAA;KAAC,CAAC,CAE1E;IAEvB;;;OAGG;IACH,aAFU,MAAM,CAE8B;IA8C9C;;;OAGG;IACH,UAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;OAGG;IACH,UAHW,MAAM,GACJ;QAAC,MAAM,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAC,CAQ9D;IAED;;;OAGG;IACH,eAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,mBAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;;;;;;;;OAUG;IACH,cAHW,cAAc,GACZ,OAAO,CA8BnB;IAED;;;;;;;;;OASG;IACH,QAFa,MAAM,CAclB;CACJ"}
1
+ {"version":3,"file":"ParticleLayout.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/layout/ParticleLayout.js"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH;IAcI;;;;OAIG;IACH,wBAJW,MAAM;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,EAyClE;IAtDD;;;OAGG;IACH,YAFU,IAAI,MAAM,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAC,SAAS,CAAA;KAAC,CAAC,CAE1E;IAEvB;;;OAGG;IACH,aAFU,MAAM,CAE8B;IA8C9C;;;OAGG;IACH,UAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;OAGG;IACH,UAHW,MAAM,GACJ;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAC,CAQ9D;IAED;;;OAGG;IACH,eAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,mBAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;;;;;;;;OAUG;IACH,cAHW,cAAc,GACZ,OAAO,CA8BnB;IAED;;;;;;;;;OASG;IACH,QAFa,MAAM,CAclB;CACJ"}
@@ -124,7 +124,7 @@ export type ParticleVectorNode = {
124
124
  */
125
125
  patterns: number[];
126
126
  /**
127
- * static fields: literal bits, a record word, a builtin id, a curve handle,
127
+ * static fields: literal bits, a record word, a builtin id,
128
128
  * the first draw of a `RANDOM`
129
129
  */
130
130
  imm: number[];
@@ -66,7 +66,7 @@ export const PV = {
66
66
  * @property {number[]} children the values its sources read, one per source
67
67
  * @property {number[]} patterns per source, the swizzle it reads that value through — or, for
68
68
  * `BUILD`, the single lane it takes
69
- * @property {number[]} imm static fields: literal bits, a record word, a builtin id, a curve handle,
69
+ * @property {number[]} imm static fields: literal bits, a record word, a builtin id,
70
70
  * the first draw of a `RANDOM`
71
71
  */
72
72
 
@@ -1 +1 @@
1
- {"version":3,"file":"particle_vector_lift.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/particles/optimizer/dag/particle_vector_lift.js"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AAEH;;;;;;;;GAQG;AAEH;;;;;;;;GAQG;AACH,oDARW,OAAO,4BAA4B,EAAE,mBAAmB,gBACxD,UAAU,UAAU,MAAM,CAAC,CAAC;IAEF,SAAS,EAAnC,UAAU,MAAM,CAAC;IACF,cAAc,EAA7B,MAAM;IACJ,2BAA2B,GAAC,IAAI,CAgK5C;AAED;;;;;;;;;;GAUG;AACH,4BAJW,OAAO,4BAA4B,EAAE,mBAAmB,UACxD,mBAAmB,EAAE,GACnB;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAmB5C;;;;;WAlNa,MAAM;;;;UACN,MAAM;;;;;;;YAKN,MAAM;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,mBAAmB,CAAC;QAAC,QAAQ,MAAM,CAAA;KAAC,CAAC;;;;WAEjE,mBAAmB,EAAE;;;;gBACrB,MAAM;;;;WACN,MAAM,EAAE;;;;gBACR,MAAM,EAAE"}
1
+ {"version":3,"file":"particle_vector_lift.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/particles/optimizer/dag/particle_vector_lift.js"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AAEH;;;;;;;;GAQG;AAEH;;;;;;;;GAQG;AACH,oDARW,OAAO,4BAA4B,EAAE,mBAAmB,gBACxD,UAAU,UAAU,MAAM,CAAC,CAAC;IAEF,SAAS,EAAnC,UAAU,MAAM,CAAC;IACF,cAAc,EAA7B,MAAM;IACJ,2BAA2B,GAAC,IAAI,CAgK5C;AAED;;;;;;;;;;GAUG;AACH,4BAJW,OAAO,4BAA4B,EAAE,mBAAmB,UACxD,mBAAmB,EAAE,GACnB;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAmB5C;;;;;WAlNa,MAAM;;;;UACN,MAAM;;;;;;;YAKN,MAAM;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,mBAAmB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC;;;;WAEjE,mBAAmB,EAAE;;;;gBACrB,MAAM;;;;WACN,MAAM,EAAE;;;;gBACR,MAAM,EAAE"}
@@ -383,20 +383,6 @@ function evaluate(graph, instruction, operands, state) {
383
383
  return lanes_of(graph, value, dest);
384
384
  }
385
385
 
386
- // Every lane is the same sample, so one lane holds it and a consumer reading it wide reads a
387
- // broadcast.
388
- case VM_OP.CURVE: {
389
- const value = graph.make({
390
- op,
391
- width: 1,
392
- children: [source(1).value],
393
- patterns: [source(1).pattern],
394
- imm: [words[1]],
395
- });
396
-
397
- return Array.from({ length: dest }, () => ({ value, lane: 0 }));
398
- }
399
-
400
386
  default: {
401
387
  if (semantics.side_effects) {
402
388
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"particle_vector_pack.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/particles/optimizer/dag/particle_vector_pack.js"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;GAcG;AAEH;;;;;GAKG;AACH,6CALW,OAAO,4BAA4B,EAAE,mBAAmB,WACxD,OAAO,2BAA2B,EAAE,2BAA2B,cAC/D,OAAO,8BAA8B,EAAE,uBAAuB,GAC5D,OAAO,6BAA6B,EAAE,oBAAoB,CA8OtE;AA4YD;;;;;;;GAOG;AACH,qCAHW,MAAM;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC;IAAC,QAAQ,MAAM,CAAA;CAAC,CAAC,GACzE,MAAM,MAAM;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC;IAAC,QAAQ,MAAM,CAAA;CAAC,CAAC,CAAC,CAsB9F;AAtaD;;;;;;;;;GASG;AACH,8CAFU,MAAM,CAEiC"}
1
+ {"version":3,"file":"particle_vector_pack.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/particles/optimizer/dag/particle_vector_pack.js"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;GAcG;AAEH;;;;;GAKG;AACH,6CALW,OAAO,4BAA4B,EAAE,mBAAmB,WACxD,OAAO,2BAA2B,EAAE,2BAA2B,cAC/D,OAAO,8BAA8B,EAAE,uBAAuB,GAC5D,OAAO,6BAA6B,EAAE,oBAAoB,CA8OtE;AA4YD;;;;;;;GAOG;AACH,qCAHW,MAAM;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC,GACzE,MAAM,MAAM;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC,CAAC,CAsB9F;AAtaD;;;;;;;;;GASG;AACH,8CAFU,MAAM,CAEiC"}
@@ -204,10 +204,10 @@ export function pack_particle_vectors(graph, section, extraction) {
204
204
 
205
205
  for (let source = 0; source < node.children.length; source++) {
206
206
  group.operands.push(operand(
207
- slot_of(node, source),
207
+ source,
208
208
  node.children[source],
209
209
  node.patterns[source],
210
- node.op === VM_OP.CURVE ? 1 : group.width,
210
+ group.width,
211
211
  sequence
212
212
  ));
213
213
  }
@@ -695,7 +695,6 @@ export function chunk_stores(stores) {
695
695
  function raw_fields(node) {
696
696
  switch (node.op) {
697
697
  case VM_OP.LOAD_BUILTIN:
698
- case VM_OP.CURVE:
699
698
  return [node.imm[0], -1, -1];
700
699
 
701
700
  default:
@@ -703,17 +702,6 @@ function raw_fields(node) {
703
702
  }
704
703
  }
705
704
 
706
- /**
707
- * @param {import("./particle_vector_graph.js").ParticleVectorNode} node
708
- * @param {number} source which of the node's sources
709
- * @returns {number} the instruction source slot it goes in
710
- */
711
- function slot_of(node, source) {
712
- // `CURVE` takes its handle in slot 0 and the value it samples in slot 1; everything else fills
713
- // its slots in order.
714
- return node.op === VM_OP.CURVE ? source + 1 : source;
715
- }
716
-
717
705
  /**
718
706
  * How many lanes of each value anything actually reads.
719
707
  *
@@ -772,9 +760,7 @@ function measure_demand(graph, section, extraction) {
772
760
  continue;
773
761
  }
774
762
 
775
- const reads = node.op === VM_OP.CURVE
776
- ? 1
777
- : Math.max(narrowable(node) ? width : node.operand_width, VM_ISA.get(node.op)?.min_width ?? 1);
763
+ const reads = Math.max(narrowable(node) ? width : node.operand_width, VM_ISA.get(node.op)?.min_width ?? 1);
778
764
 
779
765
  for (let source = 0; source < node.children.length; source++) {
780
766
  let highest = 0;
@@ -184,7 +184,7 @@ export type ParticleOptimizerContext = {
184
184
  * returns its first word index — {@link ../isa/ParticleAssembler.js}'s `constant`. Without it a
185
185
  * pass can read the pool but not add to it, which only costs it the folds that need a new literal.
186
186
  */
187
- intern_constant: (values: number[]) => number;
187
+ intern_constant: ((values: number[]) => number) | null;
188
188
  /**
189
189
  * size of the register file
190
190
  */
@@ -1 +1 @@
1
- {"version":3,"file":"optimize_particle_program.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/optimizer/optimize_particle_program.js"],"names":[],"mappings":"AA+IA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,kDAxBW,iBAAiB;IAEW,SAAS,GAArC,UAAU,MAAM,CAAC;IAEoB,eAAe,UAA3C,MAAM,EAAE,KAAG,MAAM;IACM,MAAM,GAAtC,cAAc,MAAM,CAAC;IAEJ,cAAc,GAA/B,MAAM;IACY,SAAS,GAA3B,OAAO;IAGU,cAAc,GAA/B,MAAM;IACY,qBAAqB,GAAvC,OAAO;IACW,YAAY,GAA9B,OAAO;IACW,mBAAmB,GAArC,OAAO;IAEU,gBAAgB,GAAjC,MAAM;IACY,iBAAiB,GAAnC,OAAO;IACW,uBAAuB,GAAzC,OAAO;IACW,oBAAoB,GAAtC,OAAO;IACW,WAAW,GAA7B,OAAO;IACL,iBAAiB,CAqC7B;AAuFD;;;;;;GAMG;AACH,iDAHc,MAAM,KACP,MAAM,EAAE,CAIpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,mDAJW,eAAe,YACf,MAAM,GACJ,eAAe,CAsC3B;AAsFD;;;GAGG;AACH,yCAHW,WAAW,GACT,iBAAiB,CAU7B;AAnbD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH;;;;;GAKG;AAEH;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,wCAFU,MAAM;IAAC,MAAM,MAAM,CAAC;IAAC,GAAG,EAAE,qBAAqB,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAC,CAAC,CAwBrH;AAEF;;;;;;;;GAQG;AACH,gDAFU,cAAc,MAAM,CAAC,CAI7B;AAEF;;;;;;;;GAQG;AACH,oDAFU,MAAM,CAEuC;mDAnE5C,MAAM,EAAE,EAAE,WACV,wBAAwB,KACtB,MAAM,EAAE,EAAE,GAAC,IAAI;;;;;eAKd,UAAU,MAAM,CAAC;;;;;;8BACP,MAAM,EAAE,KAAK,MAAM;;;;oBAG7B,MAAM;;;;oBACN,MAAM;;kCApFc,6BAA6B;gCAE/B,2BAA2B"}
1
+ {"version":3,"file":"optimize_particle_program.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/optimizer/optimize_particle_program.js"],"names":[],"mappings":"AA+IA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,kDAxBW,iBAAiB;IAEW,SAAS,GAArC,UAAU,MAAM,CAAC;IAEoB,eAAe,UAA3C,MAAM,EAAE,KAAG,MAAM;IACM,MAAM,GAAtC,cAAc,MAAM,CAAC;IAEJ,cAAc,GAA/B,MAAM;IACY,SAAS,GAA3B,OAAO;IAGU,cAAc,GAA/B,MAAM;IACY,qBAAqB,GAAvC,OAAO;IACW,YAAY,GAA9B,OAAO;IACW,mBAAmB,GAArC,OAAO;IAEU,gBAAgB,GAAjC,MAAM;IACY,iBAAiB,GAAnC,OAAO;IACW,uBAAuB,GAAzC,OAAO;IACW,oBAAoB,GAAtC,OAAO;IACW,WAAW,GAA7B,OAAO;IACL,iBAAiB,CAqC7B;AAuFD;;;;;;GAMG;AACH,iDAHc,MAAM,KACP,MAAM,EAAE,CAIpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,mDAJW,eAAe,YACf,MAAM,GACJ,eAAe,CAsC3B;AAsFD;;;GAGG;AACH,yCAHW,WAAW,GACT,iBAAiB,CAU7B;AAnbD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH;;;;;GAKG;AAEH;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,wCAFU,MAAM;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,qBAAqB,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAC,CAAC,CAwBrH;AAEF;;;;;;;;GAQG;AACH,gDAFU,cAAc,MAAM,CAAC,CAI7B;AAEF;;;;;;;;GAQG;AACH,oDAFU,MAAM,CAEuC;mDAnE5C,MAAM,EAAE,EAAE,WACV,wBAAwB,KACtB,MAAM,EAAE,EAAE,GAAC,IAAI;;;;;eAKd,UAAU,MAAM,CAAC;;;;;;qBACjB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC,GAAC,IAAI;;;;oBAGnC,MAAM;;;;oBACN,MAAM;;kCApFc,6BAA6B;gCAE/B,2BAA2B"}
@@ -1 +1 @@
1
- {"version":3,"file":"particle_program_analysis.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/optimizer/particle_program_analysis.js"],"names":[],"mappings":"AAwBA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;GAcG;AAEH;;;;;;GAMG;AACH,mDAJW,UAAU,MAAM,CAAC,UACjB,MAAM,GACJ,0BAA0B,CAiDtC;AAED;;;GAGG;AACH,2DAHW,UAAU,UAAU,MAAM,CAAC,CAAC,GAC1B,0BAA0B,EAAE,CAUxC;AAED;;;;;;;GAOG;AACH,0CAJW,kBAAkB,UAClB,MAAM,GACJ,MAAM,EAAE,CAUpB;AAED;;;;;;;;;;;GAWG;AACH,2DAHW,UAAU,MAAM,CAAC,GACf,OAAO,CAiBnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,sDAJW,0BAA0B,EAAE,mBAC5B,MAAM,GACJ,QAAQ,CAyDpB;AAED;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,gDAJW,0BAA0B,EAAE,mBAC5B,MAAM,GACJ,oBAAoB,CA6EhC;AAED;;;;;;;;;;;GAWG;AACH,kDAJW,0BAA0B,EAAE,mBAC5B,MAAM,GACJ,MAAM,CAmClB;AAeD;;;;;;GAMG;AACH,8CANW,MAAM,UACN,MAAM,UACN,MAAM,UACN,MAAM,GACJ,OAAO,CAInB;AAED;;;;;;;;;;;;;GAaG;AACH,yDAPW,0BAA0B,EAAE,QAC5B,MAAM,MACN,MAAM,QACN,MAAM,QACN,MAAM,GACJ,OAAO,CAmBnB;AAED;;;;;;;;;;GAUG;AACH,yDAPW,0BAA0B,EAAE,QAC5B,MAAM,MACN,MAAM,QACN,MAAM,QACN,MAAM,GACJ,OAAO,CAanB;AAED;;;;;;;;;;;GAWG;AACH,oDANW,0BAA0B,EAAE,SAC5B,MAAM,QACN,MAAM,QACN,MAAM,GACJ,OAAO,CAiCnB;AAED;;;;;;;;;;;;;GAaG;AACH;IACI;;OAEG;IACH,oBAFW,MAAM,EAsBhB;IAnBG,qBAAqB;IACrB,OADW,MAAM,CACC;IAClB,gDAAgD;IAChD,UADW,UAAU,CACgB;IACrC,mEAAmE;IACnE,MADW,UAAU,CACY;IACjC,kGAAkG;IAClG,UADW,UAAU,CACyB;IAC9C,qBAAqB;IACrB,SADW,MAAM,CACG;IACpB,sEAAsE;IACtE,WADW,MAAM,CACC;IAUtB;;;;OAIG;IACH,aAJW,MAAM,QACN,MAAM,GACJ,MAAM,EAAE,GAAC,IAAI,CAczB;IAED;;;;;OAKG;IACH,eAHW,kBAAkB,GAChB,MAAM,EAAE,GAAC,IAAI,CAUzB;IAED;;;;OAIG;IACH,YAJW,MAAM,OACN,MAAM,EAAE,GACN,OAAO,CAcnB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,qBAJW,kBAAkB,GAChB,MAAM,CAiDlB;IAED;;;;;;;;OAQG;IACH,eAFW,UAAU,MAAM,CAAC,QAgD3B;CACJ;;;;;aArsBa,MAAM;;;;UACN,MAAM;;;;UACN,MAAM;;;;UACN,MAAM;;;;;aACN,MAAM;;;;;WAEN,MAAM;;;;UAEN,MAAM;;;;;;WAKN,MAAM;;;;WACN,MAAM,EAAE;QACR,MAAM;;;;WACN,MAAM;;;;SACN,MAAM;;;;WACN,MAAM;;;;qBACN,MAAM;;;;UACN,MAAM;eACN,OAAO,4BAA4B,EAAE,mBAAmB;;;;WACxD,kBAAkB,GAAC,IAAI;;;;WACvB,kBAAkB,EAAE;;;;aACpB,kBAAkB,EAAE;;;;;;;UAoMpB,UAAU;;;;;WAEV,UAAU;;;;gBAEV,UAAU;;;;gBACV,MAAM;;yBAvRK,wCAAwC"}
1
+ {"version":3,"file":"particle_program_analysis.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/optimizer/particle_program_analysis.js"],"names":[],"mappings":"AAwBA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;GAcG;AAEH;;;;;;GAMG;AACH,mDAJW,UAAU,MAAM,CAAC,UACjB,MAAM,GACJ,0BAA0B,CAiDtC;AAED;;;GAGG;AACH,2DAHW,UAAU,UAAU,MAAM,CAAC,CAAC,GAC1B,0BAA0B,EAAE,CAUxC;AAED;;;;;;;GAOG;AACH,0CAJW,kBAAkB,UAClB,MAAM,GACJ,MAAM,EAAE,CAUpB;AAED;;;;;;;;;;;GAWG;AACH,2DAHW,UAAU,MAAM,CAAC,GACf,OAAO,CAiBnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,sDAJW,0BAA0B,EAAE,mBAC5B,MAAM,GACJ,QAAQ,CAyDpB;AAED;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,gDAJW,0BAA0B,EAAE,mBAC5B,MAAM,GACJ,oBAAoB,CA6EhC;AAED;;;;;;;;;;;GAWG;AACH,kDAJW,0BAA0B,EAAE,mBAC5B,MAAM,GACJ,MAAM,CAmClB;AAED;;;;;;GAMG;AACH,8CANW,MAAM,UACN,MAAM,UACN,MAAM,UACN,MAAM,GACJ,OAAO,CAInB;AAED;;;;;;;;;;;;;GAaG;AACH,yDAPW,0BAA0B,EAAE,QAC5B,MAAM,MACN,MAAM,QACN,MAAM,QACN,MAAM,GACJ,OAAO,CAmBnB;AAED;;;;;;;;;;GAUG;AACH,yDAPW,0BAA0B,EAAE,QAC5B,MAAM,MACN,MAAM,QACN,MAAM,QACN,MAAM,GACJ,OAAO,CAanB;AAED;;;;;;;;;;;GAWG;AACH,oDANW,0BAA0B,EAAE,SAC5B,MAAM,QACN,MAAM,QACN,MAAM,GACJ,OAAO,CAiCnB;AAED;;;;;;;;;;;;;GAaG;AACH;IACI;;OAEG;IACH,oBAFW,MAAM,EAsBhB;IAnBG,qBAAqB;IACrB,OADW,MAAM,CACC;IAClB,gDAAgD;IAChD,UADW,UAAU,CACgB;IACrC,mEAAmE;IACnE,MADW,UAAU,CACY;IACjC,kGAAkG;IAClG,UADW,UAAU,CACyB;IAC9C,qBAAqB;IACrB,SADW,MAAM,CACG;IACpB,sEAAsE;IACtE,WADW,MAAM,CACC;IAUtB;;;;OAIG;IACH,aAJW,MAAM,QACN,MAAM,GACJ,MAAM,EAAE,GAAC,IAAI,CAczB;IAED;;;;;OAKG;IACH,eAHW,kBAAkB,GAChB,MAAM,EAAE,GAAC,IAAI,CAUzB;IAED;;;;OAIG;IACH,YAJW,MAAM,OACN,MAAM,EAAE,GACN,OAAO,CAcnB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,qBAJW,kBAAkB,GAChB,MAAM,CAiDlB;IAED;;;;;;;;OAQG;IACH,eAFW,UAAU,MAAM,CAAC,QAwC3B;CACJ;;;;;aAhrBa,MAAM;;;;UACN,MAAM;;;;UACN,MAAM;;;;UACN,MAAM;;;;;aACN,MAAM;;;;;WAEN,MAAM;;;;UAEN,MAAM;;;;;;WAKN,MAAM;;;;WACN,MAAM,EAAE;QACR,MAAM;;;;WACN,MAAM;;;;SACN,MAAM;;;;WACN,MAAM;;;;qBACN,MAAM;;;;UACN,MAAM;eACN,OAAO,4BAA4B,EAAE,mBAAmB;;;;WACxD,kBAAkB,GAAC,IAAI;;;;WACvB,kBAAkB,EAAE;;;;aACpB,kBAAkB,EAAE;;;;;;;UAoMpB,UAAU;;;;;WAEV,UAAU;;;;gBAEV,UAAU;;;;gBACV,MAAM;;yBAvRK,wCAAwC"}
@@ -362,7 +362,7 @@ export function analyze_particle_lanes(decoded, register_slots = PARTICLE_VM_REG
362
362
  }
363
363
 
364
364
  for (const read of instruction.reads) {
365
- for (const slot of particle_read_slots(read, particle_lanes_read_at(instruction, read, operation_width))) {
365
+ for (const slot of particle_read_slots(read, operation_width)) {
366
366
  if (slot < register_slots) {
367
367
  live[slot] = 1;
368
368
  }
@@ -420,19 +420,6 @@ export function particle_peak_live_slots(decoded, register_slots = PARTICLE_VM_R
420
420
  return peak;
421
421
  }
422
422
 
423
- /**
424
- * How many lanes of a source an instruction reads once it is narrowed to `operation_width`: one for a
425
- * slot the ISA marks scalar, the width for everything else.
426
- *
427
- * @param {ParticleDecodedInstruction} instruction
428
- * @param {ParticleOperandRun} read
429
- * @param {number} operation_width
430
- * @returns {number}
431
- */
432
- function particle_lanes_read_at(instruction, read, operation_width) {
433
- return instruction.meta.scalar_operands.includes(read.operand) ? 1 : operation_width;
434
- }
435
-
436
423
  /**
437
424
  * @param {number} base_a
438
425
  * @param {number} span_a
@@ -728,28 +715,20 @@ export class ParticleValueNumbering {
728
715
  /** Gathered before anything is written: a source may alias the destination. */
729
716
  const lanes = new Array(span);
730
717
 
731
- if (instruction.semantics.broadcasts) {
732
- // One value in every lane, so lane `i` is a copy of lane 0 and traces back to it — which
733
- // is what lets a consumer read the scalar instead of the widened form.
734
- const id = this.next_id++;
735
-
736
- lanes.fill({ id, home: base, producer: publish });
737
- } else {
738
- // A copy carries values only from a REGISTER source. A literal is a value the file never
739
- // held, so a MOV from one mints — and its word is not the slot it would otherwise be
740
- // read as.
741
- const source = instruction.op === VM_OP.MOV && instruction.sources[0].kind === VM_KIND.REG
742
- ? instruction.sources[0]
743
- : null;
744
-
745
- for (let lane = 0; lane < span; lane++) {
746
- const from = source === null ? -1 : vm_operand_slot(source.word, lane);
747
-
748
- lanes[lane] = from >= 0 && from < this.slots
749
- ? { id: this.value_id[from], home: this.home[from], producer: this.producer[from] }
750
- : { id: this.next_id++, home: base + lane, producer: publish };
751
- }
752
- }
718
+ // A copy carries values only from a REGISTER source. A literal is a value the file never
719
+ // held, so a MOV from one mints — and its word is not the slot it would otherwise be
720
+ // read as.
721
+ const source = instruction.op === VM_OP.MOV && instruction.sources[0].kind === VM_KIND.REG
722
+ ? instruction.sources[0]
723
+ : null;
724
+
725
+ for (let lane = 0; lane < span; lane++) {
726
+ const from = source === null ? -1 : vm_operand_slot(source.word, lane);
727
+
728
+ lanes[lane] = from >= 0 && from < this.slots
729
+ ? { id: this.value_id[from], home: this.home[from], producer: this.producer[from] }
730
+ : { id: this.next_id++, home: base + lane, producer: publish };
731
+ }
753
732
 
754
733
  for (let lane = 0; lane < span; lane++) {
755
734
  const slot = base + lane;
@@ -1 +1 @@
1
- {"version":3,"file":"particle_program_equivalence.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/optimizer/particle_program_equivalence.js"],"names":[],"mappings":"AA8GA;;;;;;;;;GASG;AACH;IAN+B,KAAK,EAAzB,WAAW;IACmB,SAAS,EAAvC,YAAY,GAAC,MAAM,EAAE;IACN,cAAc,EAA7B,MAAM;IACS,WAAW,EAA1B,MAAM;;YACM,WAAW;YAAU,OAAO;eAAa,MAAM;EAgBrE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,+CAHW,WAAW;YACA,UAAU;YAAU,OAAO;EAkEhD;AAqCD;;;;;;;;;;;;;;GAcG;AACH,qDAVW;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,SACzD;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC;IAErC,SAAS,GAA7B,MAAM;IACkD,KAAK,GAA7D;QAAC,MAAM,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAC,GAAC,IAAI;IAIxC,MAAM,GAAC,IAAI,CAuCvB;AAED;;;;;;;;;;;;;;GAcG;AACH;IARkG,MAAM,EAA7F;QAAC,KAAK,EAAE,WAAW,CAAC;QAAC,SAAS,EAAE,YAAY,GAAC,MAAM,EAAE,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAC;IACS,KAAK,EAA5F;QAAC,KAAK,EAAE,WAAW,CAAC;QAAC,SAAS,EAAE,YAAY,GAAC,MAAM,EAAE,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAC;IACvD,YAAY,GAAnC,MAAM,MAAM,CAAC;IACG,UAAU,GAA1B,MAAM;IAGJ,MAAM,GAAC,IAAI,CAqBvB;AAED;;;;;;;GAOG;AACH,qGAHW,MAAM,GACJ,MAAM,GAAC,IAAI,CAmBvB;AAtRD;;;;;GAKG;AACH,oCAFU,MAAM;IAAC,MAAM,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,WAAW,CAAA;CAAC,CAAC,CAOjG"}
1
+ {"version":3,"file":"particle_program_equivalence.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/optimizer/particle_program_equivalence.js"],"names":[],"mappings":"AA2GA;;;;;;;;;GASG;AACH;IAN+B,KAAK,EAAzB,WAAW;IACmB,SAAS,EAAvC,YAAY,GAAC,MAAM,EAAE;IACN,cAAc,EAA7B,MAAM;IACS,WAAW,EAA1B,MAAM;IACJ;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAevE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,+CAHW,WAAW,GACT;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAC,CAkEjD;AAqCD;;;;;;;;;;;;;;GAcG;AACH,qDAVW;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,SACzD;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC;IAErC,SAAS,GAA7B,MAAM;IACkD,KAAK,GAA7D;QAAC,MAAM,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAC,GAAC,IAAI;IAIxC,MAAM,GAAC,IAAI,CAuCvB;AAED;;;;;;;;;;;;;;GAcG;AACH;IARkG,MAAM,EAA7F;QAAC,KAAK,EAAE,WAAW,CAAC;QAAC,SAAS,EAAE,YAAY,GAAC,MAAM,EAAE,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAC;IACS,KAAK,EAA5F;QAAC,KAAK,EAAE,WAAW,CAAC;QAAC,SAAS,EAAE,YAAY,GAAC,MAAM,EAAE,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAC;IACvD,YAAY,GAAnC,MAAM,MAAM,CAAC;IACG,UAAU,GAA1B,MAAM;IAGJ,MAAM,GAAC,IAAI,CAqBvB;AAED;;;;;;;GAOG;AACH,qGAHW,MAAM,GACJ,MAAM,GAAC,IAAI,CAmBvB;AArRD;;;;;GAKG;AACH,oCAFU,MAAM;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,WAAW,CAAA;CAAC,CAAC,CAOjG"}
@@ -56,7 +56,7 @@ import { PARTICLE_ZERO_ABSORBING_OPS } from "./pass_fold_constants.js";
56
56
  *
57
57
  * ## Environments
58
58
  *
59
- * A program reads more than its constants — record words, builtins, the RNG, curve samples — and a
59
+ * A program reads more than its constants — record words, builtins, the RNG — and a
60
60
  * pass that mishandled any of those could still agree on a single run. {@link PARTICLE_ENVIRONMENTS}
61
61
  * varies all of them, including a record pre-filled with values a `LOAD_ATTR` can pick up.
62
62
  */
@@ -92,9 +92,6 @@ function seeded_record() {
92
92
  return record;
93
93
  }
94
94
 
95
- /** @param {number} handle @param {number} t @returns {number} */
96
- const sample_curve = (handle, t) => Math.sin(handle + t * 3) * 0.5 + handle * 0.125;
97
-
98
95
  /**
99
96
  * The contexts a program is compared in. Seeds differ so a pass that dropped or added a draw shows
100
97
  * up as a diverging RNG state rather than only as a diverging record.
@@ -128,7 +125,6 @@ export function run_particle_section({ words, constants, register_count, environ
128
125
  record,
129
126
  builtins: environment.builtins,
130
127
  rng_state: environment.rng_state,
131
- sampleCurve: sample_curve,
132
128
  });
133
129
 
134
130
  return { record, killed: result.killed, rng_state: result.rng_state };
@@ -1 +1 @@
1
- {"version":3,"file":"particle_program_fuzz.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/optimizer/particle_program_fuzz.js"],"names":[],"mappings":"AAkDA;;;;;;;;;;;;;GAaG;AACH,oDAXuB,MAAM;IAED,WAAW,GAA5B,MAAM;IACY,IAAI,GAAtB,OAAO;IACW,MAAM,GAAxB,OAAO;IACU,cAAc,GAA/B,MAAM;oBAqHhB;AA8ED;;;;;;;;;;;;;;;;;;GAkBG;AACH,yDALuB,MAAM;IAED,MAAM,GAAvB,MAAM;oBAmEhB"}
1
+ {"version":3,"file":"particle_program_fuzz.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/optimizer/particle_program_fuzz.js"],"names":[],"mappings":"AAkDA;;;;;;;;;;;;;GAaG;AACH,oDAXuB,MAAM;IAED,WAAW,GAA5B,MAAM;IACY,IAAI,GAAtB,OAAO;IACW,MAAM,GAAxB,OAAO;IACU,cAAc,GAA/B,MAAM;oBAqHhB;AAuED;;;;;;;;;;;;;;;;;;GAkBG;AACH,yDALuB,MAAM;IAED,MAAM,GAAvB,MAAM;oBAmEhB"}