@woosh/meep-engine 3.21.0 → 3.22.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.
- package/README.md +96 -213
- package/editor/particles/effect/ParticleEffectDocument.d.ts.map +1 -1
- package/editor/particles/effect/ParticleEffectDocument.js +0 -3
- package/editor/particles/effect/ParticleReferenceSimulation.js +1 -1
- package/editor/persistence/SceneMetadata.d.ts +9 -4
- package/editor/persistence/SceneMetadata.d.ts.map +1 -1
- package/editor/persistence/SceneMetadata.js +4 -3
- package/editor/tools/TransformToolV2.d.ts +2 -1
- package/editor/tools/TransformToolV2.d.ts.map +1 -1
- package/editor/tools/engine/Tool.d.ts +1 -1
- package/editor/tools/engine/Tool.d.ts.map +1 -1
- package/editor/tools/engine/ToolEngine.d.ts +1 -1
- package/editor/tools/engine/ToolEngine.d.ts.map +1 -1
- package/editor/view/ecs/EntityEditor.d.ts +3 -2
- package/editor/view/ecs/EntityEditor.d.ts.map +1 -1
- package/editor/view/ecs/EntityList.d.ts +7 -3
- package/editor/view/ecs/EntityList.d.ts.map +1 -1
- package/editor/view/ecs/EntityList.js +3 -2
- package/editor/view/ecs/components/common/NumericIntervalController.d.ts +8 -3
- package/editor/view/ecs/components/common/NumericIntervalController.d.ts.map +1 -1
- package/editor/view/ecs/components/common/NumericIntervalController.js +3 -2
- package/editor/view/ecs/components/common/TextController.d.ts +7 -3
- package/editor/view/ecs/components/common/TextController.d.ts.map +1 -1
- package/editor/view/ecs/components/common/TextController.js +3 -2
- package/editor/view/library/MeshLibraryView.d.ts.map +1 -1
- package/editor/view/library/MeshLibraryView.js +3 -2
- package/editor/view/node-graph/NodeIconView.d.ts +5 -2
- package/editor/view/node-graph/NodeIconView.d.ts.map +1 -1
- package/editor/view/node-graph/NodeIconView.js +2 -1
- package/editor/view/node-graph/PortView.d.ts +9 -4
- package/editor/view/node-graph/PortView.d.ts.map +1 -1
- package/editor/view/node-graph/PortView.js +4 -3
- package/editor/view/particles/ColorLutGradientView.d.ts +7 -3
- package/editor/view/particles/ColorLutGradientView.d.ts.map +1 -1
- package/editor/view/particles/ColorLutGradientView.js +3 -2
- package/editor/view/particles/ScalarLutCurveView.d.ts +9 -4
- package/editor/view/particles/ScalarLutCurveView.d.ts.map +1 -1
- package/editor/view/particles/ScalarLutCurveView.js +4 -3
- package/editor/view/particles/effect/ParticleEmitterInspectorView.d.ts.map +1 -1
- package/editor/view/particles/effect/ParticleEmitterInspectorView.js +0 -1
- package/editor/view/tools/ToolView.d.ts +7 -3
- package/editor/view/tools/ToolView.d.ts.map +1 -1
- package/editor/view/tools/ToolView.js +3 -2
- package/package.json +2 -1
- package/src/core/binary/allocator/OffsetAllocator.d.ts +24 -1
- package/src/core/binary/allocator/OffsetAllocator.d.ts.map +1 -1
- package/src/core/binary/allocator/OffsetAllocator.js +101 -1
- package/src/core/binary/type/Field.d.ts +5 -1
- package/src/core/binary/type/Field.d.ts.map +1 -1
- package/src/core/binary/type/Field.js +4 -0
- package/src/core/binary/type/Type.d.ts +4 -0
- package/src/core/binary/type/Type.d.ts.map +1 -1
- package/src/core/binary/type/Type.js +4 -0
- package/src/core/cache/Cache.d.ts +15 -7
- package/src/core/cache/Cache.d.ts.map +1 -1
- package/src/core/cache/Cache.js +7 -6
- package/src/core/cache/wtinylfu/CacheRegionWTinylfu.d.ts +5 -2
- package/src/core/cache/wtinylfu/CacheRegionWTinylfu.d.ts.map +1 -1
- package/src/core/cache/wtinylfu/CacheRegionWTinylfu.js +2 -1
- package/src/core/cache/wtinylfu/CacheWTinylfu.d.ts +20 -10
- package/src/core/cache/wtinylfu/CacheWTinylfu.d.ts.map +1 -1
- package/src/core/cache/wtinylfu/CacheWTinylfu.js +9 -8
- package/src/core/collection/CuckooFilter.d.ts +8 -4
- package/src/core/collection/CuckooFilter.d.ts.map +1 -1
- package/src/core/collection/CuckooFilter.js +3 -2
- package/src/core/collection/list/List.d.ts +0 -1
- package/src/core/collection/list/List.d.ts.map +1 -1
- package/src/core/collection/list/List.js +0 -1
- package/src/core/collection/map/HashMap.d.ts +12 -7
- package/src/core/collection/map/HashMap.d.ts.map +1 -1
- package/src/core/collection/map/HashMap.js +5 -5
- package/src/core/collection/map/ObservedMap.d.ts +1 -2
- package/src/core/collection/map/ObservedMap.d.ts.map +1 -1
- package/src/core/collection/map/ObservedMap.js +0 -1
- package/src/core/collection/table/RowFirstTable.d.ts +1 -0
- package/src/core/collection/table/RowFirstTable.d.ts.map +1 -1
- package/src/core/collection/table/RowFirstTable.js +4 -0
- package/src/core/color/Color.d.ts +1 -2
- package/src/core/color/Color.d.ts.map +1 -1
- package/src/core/color/Color.js +5 -4
- package/src/core/color/hsv/hsv2rgb_float.d.ts +23 -1
- package/src/core/color/hsv/hsv2rgb_float.d.ts.map +1 -1
- package/src/core/color/hsv/hsv2rgb_float.js +31 -3
- package/src/core/color/hsv/hsv_to_rgb.d.ts +20 -9
- package/src/core/color/hsv/hsv_to_rgb.d.ts.map +1 -1
- package/src/core/color/hsv/hsv_to_rgb.js +30 -10
- package/src/core/color/hsv/hsv_to_rgb_uint8.d.ts.map +1 -1
- package/src/core/color/hsv/hsv_to_rgb_uint8.js +10 -5
- package/src/core/function/FunctionCompiler.d.ts +9 -4
- package/src/core/function/FunctionCompiler.d.ts.map +1 -1
- package/src/core/function/FunctionCompiler.js +8 -6
- package/src/core/geom/3d/quaternion/quat3_shortest_arc.d.ts +41 -0
- package/src/core/geom/3d/quaternion/quat3_shortest_arc.d.ts.map +1 -0
- package/src/core/geom/3d/quaternion/quat3_shortest_arc.js +94 -0
- package/src/core/geom/3d/ray/Ray3.d.ts +5 -5
- package/src/core/geom/3d/ray/Ray3.d.ts.map +1 -1
- package/src/core/geom/3d/ray/Ray3.js +3 -3
- package/src/core/geom/3d/shape/AbstractShape3D.d.ts +1 -0
- package/src/core/geom/3d/shape/AbstractShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/shape/AbstractShape3D.js +4 -0
- package/src/core/geom/3d/shape/ConvexHullShape3D.d.ts +2 -4
- package/src/core/geom/3d/shape/ConvexHullShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/shape/ConvexHullShape3D.js +0 -2
- package/src/core/geom/3d/shape/TransformedShape3D.d.ts +1 -2
- package/src/core/geom/3d/shape/TransformedShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/shape/TransformedShape3D.js +0 -1
- package/src/core/geom/3d/topology/struct/binary/BinaryDataBlock.d.ts +6 -0
- package/src/core/geom/3d/topology/struct/binary/BinaryDataBlock.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/BinaryDataBlock.js +5 -0
- package/src/core/geom/3d/topology/struct/binary/BinaryTopology.d.ts +2 -0
- package/src/core/geom/3d/topology/struct/binary/BinaryTopology.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/BinaryTopology.js +5 -0
- package/src/core/geom/Quaternion.d.ts +1 -0
- package/src/core/geom/Quaternion.d.ts.map +1 -1
- package/src/core/geom/Quaternion.js +4 -0
- package/src/core/geom/Vector1.d.ts +8 -0
- package/src/core/geom/Vector1.d.ts.map +1 -1
- package/src/core/geom/Vector1.js +6 -0
- package/src/core/geom/Vector3.d.ts +6 -0
- package/src/core/geom/Vector3.d.ts.map +1 -1
- package/src/core/geom/Vector3.js +5 -0
- package/src/core/geom/Vector4.d.ts +10 -2
- package/src/core/geom/Vector4.d.ts.map +1 -1
- package/src/core/geom/Vector4.js +6 -1
- package/src/core/geom/packing/max-rect/MaxRectanglesPacker.d.ts +4 -4
- package/src/core/geom/packing/max-rect/MaxRectanglesPacker.d.ts.map +1 -1
- package/src/core/geom/packing/max-rect/MaxRectanglesPacker.js +1 -1
- package/src/core/graph/convert_graph_to_dot_string.d.ts +7 -3
- package/src/core/graph/convert_graph_to_dot_string.d.ts.map +1 -1
- package/src/core/graph/convert_graph_to_dot_string.js +3 -2
- package/src/core/localization/Localization.d.ts +3 -2
- package/src/core/localization/Localization.d.ts.map +1 -1
- package/src/core/localization/Localization.js +4 -0
- package/src/core/math/noise/create_simplex_noise_2d.js +6 -6
- package/src/core/model/ObservedValue.d.ts +8 -6
- package/src/core/model/ObservedValue.d.ts.map +1 -1
- package/src/core/model/ObservedValue.js +3 -1
- package/src/core/model/node-graph/Connection.d.ts +1 -0
- package/src/core/model/node-graph/Connection.d.ts.map +1 -1
- package/src/core/model/node-graph/Connection.js +4 -0
- package/src/core/model/node-graph/NodeGraph.d.ts +8 -5
- package/src/core/model/node-graph/NodeGraph.d.ts.map +1 -1
- package/src/core/model/node-graph/NodeGraph.js +3 -3
- package/src/core/model/node-graph/json/serializeNodeGraphToJSON.d.ts +9 -4
- package/src/core/model/node-graph/json/serializeNodeGraphToJSON.d.ts.map +1 -1
- package/src/core/model/node-graph/json/serializeNodeGraphToJSON.js +4 -3
- package/src/core/model/node-graph/node/NodeDescription.d.ts +12 -4
- package/src/core/model/node-graph/node/NodeDescription.d.ts.map +1 -1
- package/src/core/model/node-graph/node/NodeDescription.js +10 -3
- package/src/core/model/node-graph/node/NodeInstance.d.ts +5 -2
- package/src/core/model/node-graph/node/NodeInstance.d.ts.map +1 -1
- package/src/core/model/node-graph/node/NodeInstance.js +6 -0
- package/src/core/model/node-graph/node/NodeInstancePortReference.d.ts +5 -2
- package/src/core/model/node-graph/node/NodeInstancePortReference.d.ts.map +1 -1
- package/src/core/model/node-graph/node/NodeInstancePortReference.js +6 -0
- package/src/core/model/node-graph/node/NodeRegistry.d.ts +2 -1
- package/src/core/model/node-graph/node/NodeRegistry.d.ts.map +1 -1
- package/src/core/model/node-graph/node/NodeRegistry.js +4 -0
- package/src/core/model/node-graph/node/Port.d.ts +12 -5
- package/src/core/model/node-graph/node/Port.d.ts.map +1 -1
- package/src/core/model/node-graph/node/Port.js +9 -4
- package/src/core/model/node-graph/util/convert_node_graph_to_dot_string.d.ts +5 -2
- package/src/core/model/node-graph/util/convert_node_graph_to_dot_string.d.ts.map +1 -1
- package/src/core/model/node-graph/util/convert_node_graph_to_dot_string.js +2 -1
- package/src/core/model/node-graph/util/graph_clone_by_node_subset.d.ts +5 -2
- package/src/core/model/node-graph/util/graph_clone_by_node_subset.d.ts.map +1 -1
- package/src/core/model/node-graph/util/graph_clone_by_node_subset.js +2 -1
- package/src/core/model/node-graph/util/graph_collect_connections_amongst_nodes.d.ts +5 -2
- package/src/core/model/node-graph/util/graph_collect_connections_amongst_nodes.d.ts.map +1 -1
- package/src/core/model/node-graph/util/graph_collect_connections_amongst_nodes.js +2 -1
- package/src/core/primitives/Class.d.ts +15 -0
- package/src/core/primitives/Class.d.ts.map +1 -0
- package/src/core/primitives/Class.js +18 -0
- package/src/core/primitives/TypedArray.d.ts +15 -0
- package/src/core/primitives/TypedArray.d.ts.map +1 -0
- package/src/core/primitives/TypedArray.js +27 -0
- package/src/core/process/buildPromiseChain.d.ts +9 -4
- package/src/core/process/buildPromiseChain.d.ts.map +1 -1
- package/src/core/process/buildPromiseChain.js +4 -3
- package/src/core/process/executor/ConcurrentExecutor.d.ts +2 -0
- package/src/core/process/executor/ConcurrentExecutor.d.ts.map +1 -1
- package/src/core/process/executor/ConcurrentExecutor.js +5 -0
- package/src/core/process/task/Task.d.ts +17 -7
- package/src/core/process/task/Task.d.ts.map +1 -1
- package/src/core/process/task/Task.js +12 -6
- package/src/engine/Engine.d.ts +17 -7
- package/src/engine/Engine.d.ts.map +1 -1
- package/src/engine/Engine.js +9 -4
- package/src/engine/EngineConfiguration.d.ts +33 -9
- package/src/engine/EngineConfiguration.d.ts.map +1 -1
- package/src/engine/EngineConfiguration.js +22 -4
- package/src/engine/EngineHarness.d.ts +22 -10
- package/src/engine/EngineHarness.d.ts.map +1 -1
- package/src/engine/EngineHarness.js +13 -8
- package/src/engine/EntityCreator.d.ts +26 -11
- package/src/engine/EntityCreator.d.ts.map +1 -1
- package/src/engine/EntityCreator.js +16 -13
- package/src/engine/animation/EntityAnimation.d.ts +1 -1
- package/src/engine/animation/EntityAnimation.d.ts.map +1 -1
- package/src/engine/animation/curve/actionProcessorOperations/curveActions.d.ts +28 -18
- package/src/engine/animation/curve/actionProcessorOperations/curveActions.d.ts.map +1 -1
- package/src/engine/animation/curve/actionProcessorOperations/curveActions.js +9 -8
- package/src/engine/animation/curve/draw/build_plot_entity_from_array.d.ts +18 -8
- package/src/engine/animation/curve/draw/build_plot_entity_from_array.d.ts.map +1 -1
- package/src/engine/animation/curve/draw/build_plot_entity_from_array.js +8 -7
- package/src/engine/animation/curve/editor/CurveEditorView.d.ts +22 -11
- package/src/engine/animation/curve/editor/CurveEditorView.d.ts.map +1 -1
- package/src/engine/animation/curve/editor/CurveEditorView.js +7 -6
- package/src/engine/animation/curve/editor/DragHandler.d.ts +12 -7
- package/src/engine/animation/curve/editor/DragHandler.d.ts.map +1 -1
- package/src/engine/animation/curve/editor/DragHandler.js +4 -3
- package/src/engine/animation/curve/editor/KeyframeStateManager.d.ts +3 -2
- package/src/engine/animation/curve/editor/KeyframeStateManager.d.ts.map +1 -1
- package/src/engine/animation/curve/editor/canvas2dDrawWorldAxisLabels.d.ts +21 -10
- package/src/engine/animation/curve/editor/canvas2dDrawWorldAxisLabels.d.ts.map +1 -1
- package/src/engine/animation/curve/editor/canvas2dDrawWorldAxisLabels.js +10 -9
- package/src/engine/animation/curve/editor/canvas2dPlotCurveLine.d.ts +20 -9
- package/src/engine/animation/curve/editor/canvas2dPlotCurveLine.d.ts.map +1 -1
- package/src/engine/animation/curve/editor/canvas2dPlotCurveLine.js +9 -8
- package/src/engine/animation/curve/editor/canvas2dPlotCurvePoints.d.ts +15 -7
- package/src/engine/animation/curve/editor/canvas2dPlotCurvePoints.d.ts.map +1 -1
- package/src/engine/animation/curve/editor/canvas2dPlotCurvePoints.js +7 -6
- package/src/engine/animation/curve/editor/createKeyframeDraggableAspect.d.ts +39 -18
- package/src/engine/animation/curve/editor/createKeyframeDraggableAspect.d.ts.map +1 -1
- package/src/engine/animation/curve/editor/createKeyframeDraggableAspect.js +18 -17
- package/src/engine/animation/curve/editor/createPanTool.d.ts +13 -5
- package/src/engine/animation/curve/editor/createPanTool.d.ts.map +1 -1
- package/src/engine/animation/curve/editor/createPanTool.js +5 -4
- package/src/engine/animation/curve/editor/createSelectionBoxTool.d.ts +19 -8
- package/src/engine/animation/curve/editor/createSelectionBoxTool.d.ts.map +1 -1
- package/src/engine/animation/curve/editor/createSelectionBoxTool.js +8 -7
- package/src/engine/animation/keyed2/AnimationTrackPlayback.d.ts +6 -2
- package/src/engine/animation/keyed2/AnimationTrackPlayback.d.ts.map +1 -1
- package/src/engine/animation/keyed2/AnimationTrackPlayback.js +4 -0
- package/src/engine/animation/removeEntityGenericEffect.d.ts +13 -6
- package/src/engine/animation/removeEntityGenericEffect.d.ts.map +1 -1
- package/src/engine/animation/removeEntityGenericEffect.js +6 -5
- package/src/engine/animation/removeEntityWithMeshParticlesEffect.d.ts +11 -5
- package/src/engine/animation/removeEntityWithMeshParticlesEffect.d.ts.map +1 -1
- package/src/engine/animation/removeEntityWithMeshParticlesEffect.js +5 -4
- package/src/engine/asset/Asset.d.ts +6 -3
- package/src/engine/asset/Asset.d.ts.map +1 -1
- package/src/engine/asset/Asset.js +4 -1
- package/src/engine/asset/AssetManager.d.ts +42 -21
- package/src/engine/asset/AssetManager.d.ts.map +1 -1
- package/src/engine/asset/AssetManager.js +20 -12
- package/src/engine/asset/AssetRequest.d.ts +4 -2
- package/src/engine/asset/AssetRequest.d.ts.map +1 -1
- package/src/engine/asset/AssetRequest.js +5 -0
- package/src/engine/asset/AssetRequestScope.d.ts +1 -0
- package/src/engine/asset/AssetRequestScope.d.ts.map +1 -1
- package/src/engine/asset/AssetRequestScope.js +4 -0
- package/src/engine/asset/AssetTransformer.d.ts +7 -1
- package/src/engine/asset/AssetTransformer.d.ts.map +1 -1
- package/src/engine/asset/AssetTransformer.js +5 -0
- package/src/engine/asset/PendingAsset.d.ts +8 -0
- package/src/engine/asset/PendingAsset.d.ts.map +1 -1
- package/src/engine/asset/PendingAsset.js +6 -0
- package/src/engine/asset/loaders/ArrayBufferLoader.d.ts +6 -3
- package/src/engine/asset/loaders/ArrayBufferLoader.d.ts.map +1 -1
- package/src/engine/asset/loaders/ArrayBufferLoader.js +2 -1
- package/src/engine/asset/loaders/AssetLoader.d.ts +8 -2
- package/src/engine/asset/loaders/AssetLoader.d.ts.map +1 -1
- package/src/engine/asset/loaders/AssetLoader.js +5 -0
- package/src/engine/asset/loaders/USDSceneBundleAssetLoader.d.ts +10 -0
- package/src/engine/asset/loaders/USDSceneBundleAssetLoader.d.ts.map +1 -1
- package/src/engine/asset/loaders/image/ImageRGBADataLoader.d.ts +5 -2
- package/src/engine/asset/loaders/image/ImageRGBADataLoader.d.ts.map +1 -1
- package/src/engine/asset/loaders/image/ImageRGBADataLoader.js +2 -1
- package/src/engine/asset/preloader/AssetPreloader.d.ts +2 -1
- package/src/engine/asset/preloader/AssetPreloader.d.ts.map +1 -1
- package/src/engine/asset/preloader/AssetPreloader.js +4 -0
- package/src/engine/development/performance/MetricCollection.d.ts +11 -3
- package/src/engine/development/performance/MetricCollection.d.ts.map +1 -1
- package/src/engine/development/performance/MetricCollection.js +7 -2
- package/src/engine/ecs/Entity.d.ts +3 -2
- package/src/engine/ecs/Entity.d.ts.map +1 -1
- package/src/engine/ecs/Entity.js +9 -1
- package/src/engine/ecs/EntityComponentDataset.d.ts +8 -6
- package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
- package/src/engine/ecs/EntityComponentDataset.js +9 -0
- package/src/engine/ecs/EntityManager.d.ts +2 -1
- package/src/engine/ecs/EntityManager.d.ts.map +1 -1
- package/src/engine/ecs/EntityManager.js +5 -0
- package/src/engine/ecs/EntityObserver.d.ts +4 -0
- package/src/engine/ecs/EntityObserver.d.ts.map +1 -1
- package/src/engine/ecs/EntityObserver.js +4 -0
- package/src/engine/ecs/EntityReference.d.ts +4 -0
- package/src/engine/ecs/EntityReference.d.ts.map +1 -1
- package/src/engine/ecs/EntityReference.js +4 -0
- package/src/engine/ecs/System.d.ts +11 -2
- package/src/engine/ecs/System.d.ts.map +1 -1
- package/src/engine/ecs/System.js +6 -0
- package/src/engine/ecs/async/WorkerSystem.d.ts +10 -0
- package/src/engine/ecs/async/WorkerSystem.d.ts.map +1 -1
- package/src/engine/ecs/dynamic_actions/actions/definition/SpeakLineActionDescription.d.ts +7 -3
- package/src/engine/ecs/dynamic_actions/actions/definition/SpeakLineActionDescription.d.ts.map +1 -1
- package/src/engine/ecs/dynamic_actions/actions/definition/SpeakLineActionDescription.js +3 -2
- package/src/engine/ecs/dynamic_actions/actions/definition/WriteToBlackboardActionDescription.d.ts +7 -3
- package/src/engine/ecs/dynamic_actions/actions/definition/WriteToBlackboardActionDescription.d.ts.map +1 -1
- package/src/engine/ecs/dynamic_actions/actions/definition/WriteToBlackboardActionDescription.js +3 -2
- package/src/engine/ecs/gui/menu/radial/RadialContextMenu.d.ts +36 -17
- package/src/engine/ecs/gui/menu/radial/RadialContextMenu.d.ts.map +1 -1
- package/src/engine/ecs/gui/menu/radial/RadialContextMenu.js +17 -16
- package/src/engine/ecs/gui/parallax/GuiElementParallaxSystem.d.ts +7 -3
- package/src/engine/ecs/gui/parallax/GuiElementParallaxSystem.d.ts.map +1 -1
- package/src/engine/ecs/gui/parallax/GuiElementParallaxSystem.js +3 -2
- package/src/engine/ecs/ik/InverseKinematics.d.ts +17 -8
- package/src/engine/ecs/ik/InverseKinematics.d.ts.map +1 -1
- package/src/engine/ecs/ik/InverseKinematics.js +8 -7
- package/src/engine/ecs/storage/binary/BinaryClassSerializationAdapter.d.ts +9 -0
- package/src/engine/ecs/storage/binary/BinaryClassSerializationAdapter.d.ts.map +1 -1
- package/src/engine/ecs/storage/binary/BinaryClassSerializationAdapter.js +9 -0
- package/src/engine/ecs/storage/binary/BinaryClassUpgrader.d.ts +4 -0
- package/src/engine/ecs/storage/binary/BinaryClassUpgrader.d.ts.map +1 -1
- package/src/engine/ecs/storage/binary/BinaryClassUpgrader.js +4 -0
- package/src/engine/ecs/storage/binary/BinarySerializationRegistry.d.ts +10 -4
- package/src/engine/ecs/storage/binary/BinarySerializationRegistry.d.ts.map +1 -1
- package/src/engine/ecs/storage/binary/BinarySerializationRegistry.js +5 -0
- package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.d.ts +5 -2
- package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.d.ts.map +1 -1
- package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.js +2 -1
- package/src/engine/ecs/storage/binary/collection/BinaryCollectionSerializer.d.ts +7 -3
- package/src/engine/ecs/storage/binary/collection/BinaryCollectionSerializer.d.ts.map +1 -1
- package/src/engine/ecs/storage/binary/collection/BinaryCollectionSerializer.js +3 -2
- package/src/engine/ecs/system/SystemExecutionPhase.d.ts +9 -0
- package/src/engine/ecs/system/SystemExecutionPhase.d.ts.map +1 -0
- package/src/engine/ecs/systems/ScriptSystem.d.ts +1 -0
- package/src/engine/ecs/systems/ScriptSystem.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/Terrain.d.ts +7 -2
- package/src/engine/ecs/terrain/ecs/Terrain.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/Terrain.js +8 -0
- package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSerializationUpgrader_0_1.d.ts +6 -0
- package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSerializationUpgrader_0_1.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/layers/TerrainLayer.d.ts +3 -1
- package/src/engine/ecs/terrain/ecs/layers/TerrainLayer.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/layers/TerrainLayer.js +5 -0
- package/src/engine/ecs/terrain/ecs/layers/TerrainLayers.d.ts +3 -1
- package/src/engine/ecs/terrain/ecs/layers/TerrainLayers.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/layers/TerrainLayers.js +5 -0
- package/src/engine/ecs/terrain/ecs/splat/SplatMapping.d.ts +4 -0
- package/src/engine/ecs/terrain/ecs/splat/SplatMapping.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/splat/SplatMapping.js +4 -0
- package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts +7 -2
- package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts.map +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTile.js +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts +6 -2
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts.map +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.js +6 -1
- package/src/engine/ecs/terrain/util/loadVisibleTerrainTiles.d.ts +9 -4
- package/src/engine/ecs/terrain/util/loadVisibleTerrainTiles.d.ts.map +1 -1
- package/src/engine/ecs/terrain/util/loadVisibleTerrainTiles.js +4 -3
- package/src/engine/ecs/transform/Transform64.d.ts +4 -0
- package/src/engine/ecs/transform/Transform64.d.ts.map +1 -1
- package/src/engine/ecs/transform/Transform64.js +4 -0
- package/src/engine/graphics/camera/CameraShakeBehavior.d.ts +20 -10
- package/src/engine/graphics/camera/CameraShakeBehavior.d.ts.map +1 -1
- package/src/engine/graphics/camera/CameraShakeBehavior.js +9 -8
- package/src/engine/graphics/camera/CameraShakeTraumaBehavior.d.ts +8 -4
- package/src/engine/graphics/camera/CameraShakeTraumaBehavior.d.ts.map +1 -1
- package/src/engine/graphics/camera/CameraShakeTraumaBehavior.js +3 -2
- package/src/engine/graphics/camera/makeOrbitalCameraController.d.ts +11 -5
- package/src/engine/graphics/camera/makeOrbitalCameraController.d.ts.map +1 -1
- package/src/engine/graphics/camera/makeOrbitalCameraController.js +5 -4
- package/src/engine/graphics/canvas/canvas2d_draw_grid.d.ts +19 -9
- package/src/engine/graphics/canvas/canvas2d_draw_grid.d.ts.map +1 -1
- package/src/engine/graphics/canvas/canvas2d_draw_grid.js +9 -8
- package/src/engine/graphics/canvas/canvas2d_draw_label.d.ts +17 -8
- package/src/engine/graphics/canvas/canvas2d_draw_label.d.ts.map +1 -1
- package/src/engine/graphics/canvas/canvas2d_draw_label.js +8 -7
- package/src/engine/graphics/canvas/canvas2d_draw_linear_scale.d.ts +21 -10
- package/src/engine/graphics/canvas/canvas2d_draw_linear_scale.d.ts.map +1 -1
- package/src/engine/graphics/canvas/canvas2d_draw_linear_scale.js +10 -9
- package/src/engine/graphics/canvas/canvas2d_plot_data_line.d.ts +18 -8
- package/src/engine/graphics/canvas/canvas2d_plot_data_line.d.ts.map +1 -1
- package/src/engine/graphics/canvas/canvas2d_plot_data_line.js +8 -7
- package/src/engine/graphics/ecs/camera/Camera.d.ts +4 -0
- package/src/engine/graphics/ecs/camera/Camera.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/Camera.js +4 -0
- package/src/engine/graphics/ecs/camera/filter/setup_filtered_camera_controller.d.ts +11 -5
- package/src/engine/graphics/ecs/camera/filter/setup_filtered_camera_controller.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/filter/setup_filtered_camera_controller.js +5 -4
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSystem.d.ts +1 -1
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/particles/ParticleEffect.d.ts +5 -5
- package/src/engine/graphics/ecs/particles/ParticleEffect.js +5 -5
- package/src/engine/graphics/ecs/trail3d/make_gradient_stroke.d.ts +19 -9
- package/src/engine/graphics/ecs/trail3d/make_gradient_stroke.d.ts.map +1 -1
- package/src/engine/graphics/ecs/trail3d/make_gradient_stroke.js +9 -8
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts +3 -0
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +3 -0
- package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts +9 -4
- package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.js +4 -3
- package/src/engine/graphics/render/frame_graph/FrameGraph.d.ts +7 -1
- package/src/engine/graphics/render/frame_graph/FrameGraph.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/FrameGraph.js +5 -0
- package/src/engine/graphics/render/frame_graph/FrameGraphNode.d.ts +4 -0
- package/src/engine/graphics/render/frame_graph/FrameGraphNode.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/FrameGraphNode.js +4 -0
- package/src/engine/graphics/render/frame_graph/FramePassBuilder.d.ts +9 -1
- package/src/engine/graphics/render/frame_graph/FramePassBuilder.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/FramePassBuilder.js +6 -0
- package/src/engine/graphics/render/frame_graph/FramePassNode.d.ts +6 -0
- package/src/engine/graphics/render/frame_graph/FramePassNode.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/FramePassNode.js +5 -0
- package/src/engine/graphics/render/frame_graph/FramePassResources.d.ts +7 -1
- package/src/engine/graphics/render/frame_graph/FramePassResources.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/FramePassResources.js +5 -0
- package/src/engine/graphics/render/frame_graph/IFrameGraphContext.d.ts +6 -2
- package/src/engine/graphics/render/frame_graph/IFrameGraphContext.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/IFrameGraphContext.js +4 -0
- package/src/engine/graphics/render/frame_graph/ResourceEntry.d.ts +13 -5
- package/src/engine/graphics/render/frame_graph/ResourceEntry.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/ResourceEntry.js +7 -1
- package/src/engine/graphics/render/frame_graph/ResourceNode.d.ts +9 -3
- package/src/engine/graphics/render/frame_graph/ResourceNode.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/ResourceNode.js +6 -1
- package/src/engine/graphics/render/frame_graph/resource/RenderResourceManager.d.ts +5 -1
- package/src/engine/graphics/render/frame_graph/resource/RenderResourceManager.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/resource/RenderResourceManager.js +4 -0
- package/src/engine/graphics/render/frame_graph/resource/ResourceDescriptor.d.ts +7 -3
- package/src/engine/graphics/render/frame_graph/resource/ResourceDescriptor.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/resource/ResourceDescriptor.js +6 -2
- package/src/engine/graphics/texture/atlas/CachingTextureAtlas.d.ts +5 -2
- package/src/engine/graphics/texture/atlas/CachingTextureAtlas.d.ts.map +1 -1
- package/src/engine/graphics/texture/atlas/CachingTextureAtlas.js +2 -1
- package/src/engine/graphics/texture/atlas/TextureAtlasDebugger.d.ts +9 -4
- package/src/engine/graphics/texture/atlas/TextureAtlasDebugger.d.ts.map +1 -1
- package/src/engine/graphics/texture/atlas/TextureAtlasDebugger.js +4 -3
- package/src/engine/graphics/texture/sampler/Sampler2D.d.ts +4 -0
- package/src/engine/graphics/texture/sampler/Sampler2D.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/Sampler2D.js +4 -0
- package/src/engine/graphics/texture/sampler/debug/prototypeSamplerFiltering.js +3 -2
- package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts +0 -5
- package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts.map +1 -1
- package/src/engine/graphics3/GraphicsEngine.d.ts +6 -0
- package/src/engine/graphics3/GraphicsEngine.d.ts.map +1 -1
- package/src/engine/graphics3/GraphicsEngine.js +9 -0
- package/src/engine/graphics3/ParticipatingMedia.d.ts +9 -4
- package/src/engine/graphics3/ParticipatingMedia.d.ts.map +1 -1
- package/src/engine/graphics3/ParticipatingMedia.js +4 -3
- package/src/engine/graphics3/ShadeCameraAdapter.d.ts +5 -1
- package/src/engine/graphics3/ShadeCameraAdapter.d.ts.map +1 -1
- package/src/engine/graphics3/ShadeCameraAdapter.js +4 -0
- package/src/engine/graphics3/TooltipComponentSystem.d.ts +13 -6
- package/src/engine/graphics3/TooltipComponentSystem.d.ts.map +1 -1
- package/src/engine/graphics3/TooltipComponentSystem.js +6 -5
- package/src/engine/graphics3/VolumetricLightMap.d.ts +5 -2
- package/src/engine/graphics3/VolumetricLightMap.d.ts.map +1 -1
- package/src/engine/graphics3/VolumetricLightMap.js +2 -1
- package/src/engine/input/devices/PointerDevice.d.ts.map +1 -1
- package/src/engine/input/devices/PointerDevice.js +7 -6
- package/src/engine/input/devices/gamepad/GamepadHandle.d.ts +4 -0
- package/src/engine/input/devices/gamepad/GamepadHandle.d.ts.map +1 -1
- package/src/engine/input/devices/gamepad/GamepadHandle.js +4 -0
- package/src/engine/input/devices/touch/observePinch.d.ts +17 -8
- package/src/engine/input/devices/touch/observePinch.d.ts.map +1 -1
- package/src/engine/input/devices/touch/observePinch.js +8 -7
- package/src/engine/input/ecs/components/InputBinding.d.ts +11 -5
- package/src/engine/input/ecs/components/InputBinding.d.ts.map +1 -1
- package/src/engine/input/ecs/components/InputBinding.js +5 -4
- package/src/engine/input/ecs/ism/InputMapSystem.d.ts +4 -0
- package/src/engine/input/ecs/ism/InputMapSystem.d.ts.map +1 -1
- package/src/engine/input/ecs/systems/InputControllerSystem.d.ts +1 -1
- package/src/engine/input/ecs/systems/InputControllerSystem.d.ts.map +1 -1
- package/src/engine/input/ecs/util/TerrainCameraTargetSampler.d.ts +5 -2
- package/src/engine/input/ecs/util/TerrainCameraTargetSampler.d.ts.map +1 -1
- package/src/engine/input/ecs/util/TerrainCameraTargetSampler.js +2 -1
- package/src/engine/intelligence/behavior/ecs/OrbitingBehavior.d.ts +9 -4
- package/src/engine/intelligence/behavior/ecs/OrbitingBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/ecs/OrbitingBehavior.js +4 -3
- package/src/engine/intelligence/behavior/ecs/SendEventBehavior.d.ts +9 -4
- package/src/engine/intelligence/behavior/ecs/SendEventBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/ecs/SendEventBehavior.js +4 -3
- package/src/engine/intelligence/behavior/util/syncExecuteBehaviorToCompletion.d.ts +9 -4
- package/src/engine/intelligence/behavior/util/syncExecuteBehaviorToCompletion.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/util/syncExecuteBehaviorToCompletion.js +4 -3
- package/src/engine/intelligence/mcts/MonteCarlo.d.ts +19 -9
- package/src/engine/intelligence/mcts/MonteCarlo.d.ts.map +1 -1
- package/src/engine/intelligence/mcts/MonteCarlo.js +9 -8
- package/src/engine/intelligence/optimization/RandomOptimizer.d.ts +13 -6
- package/src/engine/intelligence/optimization/RandomOptimizer.d.ts.map +1 -1
- package/src/engine/intelligence/optimization/RandomOptimizer.js +6 -5
- package/src/engine/interpolation/InterpolationSystem.d.ts +4 -0
- package/src/engine/interpolation/InterpolationSystem.d.ts.map +1 -1
- package/src/engine/knowledge/database/StaticKnowledgeDataTable.d.ts +5 -2
- package/src/engine/knowledge/database/StaticKnowledgeDataTable.d.ts.map +1 -1
- package/src/engine/knowledge/database/StaticKnowledgeDataTable.js +6 -0
- package/src/engine/knowledge/database/StaticKnowledgeDataTableDescriptor.d.ts +6 -2
- package/src/engine/knowledge/database/StaticKnowledgeDataTableDescriptor.d.ts.map +1 -1
- package/src/engine/knowledge/database/StaticKnowledgeDataTableDescriptor.js +4 -0
- package/src/engine/knowledge/database/StaticKnowledgeDatabase.d.ts +7 -4
- package/src/engine/knowledge/database/StaticKnowledgeDatabase.d.ts.map +1 -1
- package/src/engine/knowledge/database/StaticKnowledgeDatabase.js +6 -0
- package/src/engine/makeSimpleTaskProgressView.d.ts +10 -4
- package/src/engine/makeSimpleTaskProgressView.d.ts.map +1 -1
- package/src/engine/makeSimpleTaskProgressView.js +4 -3
- package/src/engine/navigation/mesh/build/navmesh_build_topology.d.ts +20 -9
- package/src/engine/navigation/mesh/build/navmesh_build_topology.d.ts.map +1 -1
- package/src/engine/navigation/mesh/build/navmesh_build_topology.js +9 -8
- package/src/engine/network/sim/ActionLog.d.ts +1 -2
- package/src/engine/network/sim/ActionLog.d.ts.map +1 -1
- package/src/engine/network/sim/ActionLog.js +0 -1
- package/src/engine/network/state/InputRing.d.ts +1 -2
- package/src/engine/network/state/InputRing.d.ts.map +1 -1
- package/src/engine/network/state/InputRing.js +0 -1
- package/src/engine/notify/Notification.d.ts +15 -9
- package/src/engine/notify/Notification.d.ts.map +1 -1
- package/src/engine/notify/Notification.js +5 -4
- package/src/engine/options/OptionAbstract.d.ts +4 -0
- package/src/engine/options/OptionAbstract.d.ts.map +1 -1
- package/src/engine/options/OptionAbstract.js +4 -0
- package/src/engine/options/OptionsView.d.ts +10 -4
- package/src/engine/options/OptionsView.d.ts.map +1 -1
- package/src/engine/options/OptionsView.js +4 -3
- package/src/engine/physics/ccd/linear_sweep.d.ts +4 -7
- package/src/engine/physics/ccd/linear_sweep.d.ts.map +1 -1
- package/src/engine/physics/ccd/linear_sweep.js +3 -1
- package/src/engine/physics/cloth/MEASUREMENTS.md +956 -0
- package/src/engine/physics/cloth/PLAN.md +1581 -0
- package/src/engine/physics/cloth/ecs/Cloth.d.ts +145 -0
- package/src/engine/physics/cloth/ecs/Cloth.d.ts.map +1 -0
- package/src/engine/physics/cloth/ecs/Cloth.js +212 -0
- package/src/engine/physics/cloth/ecs/ClothDynamics.d.ts +208 -0
- package/src/engine/physics/cloth/ecs/ClothDynamics.d.ts.map +1 -0
- package/src/engine/physics/cloth/ecs/ClothDynamics.js +331 -0
- package/src/engine/physics/cloth/ecs/ClothDynamicsFlags.d.ts +10 -0
- package/src/engine/physics/cloth/ecs/ClothDynamicsFlags.d.ts.map +1 -0
- package/src/engine/physics/cloth/ecs/ClothDynamicsFlags.js +57 -0
- package/src/engine/physics/cloth/ecs/ClothExclude.d.ts +45 -0
- package/src/engine/physics/cloth/ecs/ClothExclude.d.ts.map +1 -0
- package/src/engine/physics/cloth/ecs/ClothExclude.js +59 -0
- package/src/engine/physics/cloth/ecs/ClothFlags.d.ts +10 -0
- package/src/engine/physics/cloth/ecs/ClothFlags.d.ts.map +1 -0
- package/src/engine/physics/cloth/ecs/ClothFlags.js +47 -0
- package/src/engine/physics/cloth/ecs/ClothInstance.d.ts +321 -0
- package/src/engine/physics/cloth/ecs/ClothInstance.d.ts.map +1 -0
- package/src/engine/physics/cloth/ecs/ClothInstance.js +363 -0
- package/src/engine/physics/cloth/ecs/ClothSystem.d.ts +149 -0
- package/src/engine/physics/cloth/ecs/ClothSystem.d.ts.map +1 -0
- package/src/engine/physics/cloth/ecs/ClothSystem.js +773 -0
- package/src/engine/physics/cloth/ecs/cloth_dynamics_library.d.ts +157 -0
- package/src/engine/physics/cloth/ecs/cloth_dynamics_library.d.ts.map +1 -0
- package/src/engine/physics/cloth/ecs/cloth_dynamics_library.js +254 -0
- package/src/engine/physics/cloth/ecs/cloth_dynamics_map.d.ts +235 -0
- package/src/engine/physics/cloth/ecs/cloth_dynamics_map.d.ts.map +1 -0
- package/src/engine/physics/cloth/ecs/cloth_dynamics_map.js +271 -0
- package/src/engine/physics/cloth/ecs/cloth_seed_subtree.d.ts +114 -0
- package/src/engine/physics/cloth/ecs/cloth_seed_subtree.d.ts.map +1 -0
- package/src/engine/physics/cloth/ecs/cloth_seed_subtree.js +645 -0
- package/src/engine/physics/cloth/ecs/cloth_write_back.d.ts +9 -0
- package/src/engine/physics/cloth/ecs/cloth_write_back.d.ts.map +1 -0
- package/src/engine/physics/cloth/ecs/cloth_write_back.js +449 -0
- package/src/engine/physics/cloth/playground/README.md +185 -0
- package/src/engine/physics/cloth/playground/cloth_playground_build.d.ts +58 -0
- package/src/engine/physics/cloth/playground/cloth_playground_build.d.ts.map +1 -0
- package/src/engine/physics/cloth/playground/cloth_playground_build.js +333 -0
- package/src/engine/physics/cloth/playground/cloth_playground_draw.d.ts +79 -0
- package/src/engine/physics/cloth/playground/cloth_playground_draw.d.ts.map +1 -0
- package/src/engine/physics/cloth/playground/cloth_playground_draw.js +519 -0
- package/src/engine/physics/cloth/playground/index.html +200 -0
- package/src/engine/physics/cloth/playground/main.d.ts +2 -0
- package/src/engine/physics/cloth/playground/main.d.ts.map +1 -0
- package/src/engine/physics/cloth/playground/main.js +876 -0
- package/src/engine/physics/cloth/playground/rig.html +187 -0
- package/src/engine/physics/cloth/playground/rig_build.d.ts +81 -0
- package/src/engine/physics/cloth/playground/rig_build.d.ts.map +1 -0
- package/src/engine/physics/cloth/playground/rig_build.js +296 -0
- package/src/engine/physics/cloth/playground/rig_main.d.ts +2 -0
- package/src/engine/physics/cloth/playground/rig_main.d.ts.map +1 -0
- package/src/engine/physics/cloth/playground/rig_main.js +955 -0
- package/src/engine/physics/cloth/solver/ClothState.d.ts +323 -0
- package/src/engine/physics/cloth/solver/ClothState.d.ts.map +1 -0
- package/src/engine/physics/cloth/solver/ClothState.js +673 -0
- package/src/engine/physics/cloth/solver/cloth_color_particles.d.ts +67 -0
- package/src/engine/physics/cloth/solver/cloth_color_particles.d.ts.map +1 -0
- package/src/engine/physics/cloth/solver/cloth_color_particles.js +220 -0
- package/src/engine/physics/cloth/solver/cloth_solve_vertex.d.ts +13 -0
- package/src/engine/physics/cloth/solver/cloth_solve_vertex.d.ts.map +1 -0
- package/src/engine/physics/cloth/solver/cloth_solve_vertex.js +201 -0
- package/src/engine/physics/cloth/solver/cloth_solver_constants.d.ts +97 -0
- package/src/engine/physics/cloth/solver/cloth_solver_constants.d.ts.map +1 -0
- package/src/engine/physics/cloth/solver/cloth_solver_constants.js +102 -0
- package/src/engine/physics/cloth/solver/cloth_step.d.ts +91 -0
- package/src/engine/physics/cloth/solver/cloth_step.d.ts.map +1 -0
- package/src/engine/physics/cloth/solver/cloth_step.js +289 -0
- package/src/engine/physics/cloth/solver/cloth_vertex_accumulator.d.ts +54 -0
- package/src/engine/physics/cloth/solver/cloth_vertex_accumulator.d.ts.map +1 -0
- package/src/engine/physics/cloth/solver/cloth_vertex_accumulator.js +56 -0
- package/src/engine/physics/cloth/solver/constraint/cloth_bend_row.d.ts +125 -0
- package/src/engine/physics/cloth/solver/constraint/cloth_bend_row.d.ts.map +1 -0
- package/src/engine/physics/cloth/solver/constraint/cloth_bend_row.js +383 -0
- package/src/engine/physics/cloth/solver/constraint/cloth_leash_row.d.ts +112 -0
- package/src/engine/physics/cloth/solver/constraint/cloth_leash_row.d.ts.map +1 -0
- package/src/engine/physics/cloth/solver/constraint/cloth_leash_row.js +346 -0
- package/src/engine/physics/cloth/solver/constraint/cloth_stretch_row.d.ts +94 -0
- package/src/engine/physics/cloth/solver/constraint/cloth_stretch_row.d.ts.map +1 -0
- package/src/engine/physics/cloth/solver/constraint/cloth_stretch_row.js +383 -0
- package/src/engine/physics/cloth/solver/find_non_finite_cloth_state.d.ts +27 -0
- package/src/engine/physics/cloth/solver/find_non_finite_cloth_state.d.ts.map +1 -0
- package/src/engine/physics/cloth/solver/find_non_finite_cloth_state.js +104 -0
- package/src/engine/physics/ecs/PhysicsSystem.d.ts +5 -7
- package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
- package/src/engine/physics/ecs/PhysicsSystem.js +4 -1
- package/src/engine/physics/ecs/RigidBodySerializationUpgrader_0_1.d.ts +6 -0
- package/src/engine/physics/ecs/RigidBodySerializationUpgrader_0_1.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
- package/src/engine/physics/narrowphase/compute_penetration.d.ts +26 -23
- package/src/engine/physics/narrowphase/compute_penetration.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/compute_penetration.js +25 -4
- package/src/engine/physics/narrowphase/narrowphase_step.d.ts +16 -23
- package/src/engine/physics/narrowphase/narrowphase_step.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/narrowphase_step.js +15 -4
- package/src/engine/physics/narrowphase/refine_ray_concave.d.ts +4 -6
- package/src/engine/physics/narrowphase/refine_ray_concave.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/refine_ray_concave.js +3 -1
- package/src/engine/physics/narrowphase/refine_ray_hit.d.ts +6 -6
- package/src/engine/physics/narrowphase/refine_ray_hit.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/refine_ray_hit.js +5 -1
- package/src/engine/physics/queries/shape_cast.d.ts +9 -7
- package/src/engine/physics/queries/shape_cast.d.ts.map +1 -1
- package/src/engine/physics/queries/shape_cast.js +8 -1
- package/src/engine/platform/EnginePlatform.d.ts +4 -0
- package/src/engine/platform/EnginePlatform.d.ts.map +1 -1
- package/src/engine/platform/EnginePlatform.js +4 -0
- package/src/engine/plugin/EnginePlugin.d.ts +9 -0
- package/src/engine/plugin/EnginePlugin.d.ts.map +1 -1
- package/src/engine/plugin/EnginePlugin.js +9 -0
- package/src/engine/plugin/EnginePluginManager.d.ts +13 -2
- package/src/engine/plugin/EnginePluginManager.d.ts.map +1 -1
- package/src/engine/plugin/EnginePluginManager.js +10 -0
- package/src/engine/save/StorageBackedList.d.ts +8 -4
- package/src/engine/save/StorageBackedList.d.ts.map +1 -1
- package/src/engine/save/StorageBackedList.js +3 -2
- package/src/engine/scene/Scene.d.ts +10 -0
- package/src/engine/scene/Scene.d.ts.map +1 -1
- package/src/engine/scene/Scene.js +7 -0
- package/src/engine/scene/SceneManager.d.ts +4 -0
- package/src/engine/scene/SceneManager.d.ts.map +1 -1
- package/src/engine/scene/SceneManager.js +4 -0
- package/src/engine/scene/SerializedScene.d.ts +8 -4
- package/src/engine/scene/SerializedScene.d.ts.map +1 -1
- package/src/engine/scene/SerializedScene.js +3 -2
- package/src/engine/scene/transitionToScene.d.ts +11 -5
- package/src/engine/scene/transitionToScene.d.ts.map +1 -1
- package/src/engine/scene/transitionToScene.js +5 -4
- package/src/engine/simulation/Ticker.d.ts +5 -2
- package/src/engine/simulation/Ticker.d.ts.map +1 -1
- package/src/engine/simulation/Ticker.js +2 -1
- package/src/engine/sound/SoundEngine.d.ts +4 -0
- package/src/engine/sound/SoundEngine.d.ts.map +1 -1
- package/src/engine/sound/SoundEngine.js +4 -0
- package/src/engine/sound/material/concrete/json/deserializeSoundMaterialFromJSON.d.ts +7 -3
- package/src/engine/sound/material/concrete/json/deserializeSoundMaterialFromJSON.d.ts.map +1 -1
- package/src/engine/sound/material/concrete/json/deserializeSoundMaterialFromJSON.js +3 -2
- package/src/engine/sound/simulation/ecs/AcousticSimulationSystem.d.ts +10 -0
- package/src/engine/sound/simulation/ecs/AcousticSimulationSystem.d.ts.map +1 -1
- package/src/engine/sound/sopra/SopraEngine.d.ts +5 -0
- package/src/engine/sound/sopra/SopraEngine.d.ts.map +1 -1
- package/src/engine/sound/sopra/SopraEngine.js +8 -0
- package/src/engine/sound/sopra/definition/BusDefinition.d.ts +4 -0
- package/src/engine/sound/sopra/definition/BusDefinition.d.ts.map +1 -1
- package/src/engine/sound/sopra/definition/BusDefinition.js +4 -0
- package/src/engine/sound/sopra/definition/EventDescription.d.ts +1 -0
- package/src/engine/sound/sopra/definition/EventDescription.d.ts.map +1 -1
- package/src/engine/sound/sopra/definition/EventDescription.js +4 -0
- package/src/engine/sound/sopra/definition/clip/AbstractAudioClip.d.ts +6 -0
- package/src/engine/sound/sopra/definition/clip/AbstractAudioClip.d.ts.map +1 -1
- package/src/engine/sound/sopra/definition/clip/AbstractAudioClip.js +5 -0
- package/src/engine/sound/sopra/definition/clip/BlendContainerAudioClip.d.ts +1 -1
- package/src/engine/sound/sopra/definition/clip/ContainerAudioClip.d.ts +1 -0
- package/src/engine/sound/sopra/definition/clip/ContainerAudioClip.d.ts.map +1 -1
- package/src/engine/sound/sopra/definition/clip/RandomContainerAudioClip.d.ts +1 -1
- package/src/engine/sound/sopra/definition/clip/SampleAudioClip.d.ts +10 -2
- package/src/engine/sound/sopra/definition/clip/SampleAudioClip.d.ts.map +1 -1
- package/src/engine/sound/sopra/definition/clip/SampleAudioClip.js +7 -0
- package/src/engine/sound/sopra/definition/clip/SequenceContainerAudioClip.d.ts +1 -1
- package/src/engine/sound/sopra/definition/clip/SwitchContainerAudioClip.d.ts +1 -1
- package/src/engine/sound/sopra/runtime/BusGraph.d.ts +4 -0
- package/src/engine/sound/sopra/runtime/BusGraph.d.ts.map +1 -1
- package/src/engine/sound/sopra/runtime/BusGraph.js +4 -0
- package/src/engine/sound/sopra/runtime/EventInstance.d.ts +9 -1
- package/src/engine/sound/sopra/runtime/EventInstance.d.ts.map +1 -1
- package/src/engine/sound/sopra/runtime/EventInstance.js +11 -0
- package/src/engine/sound/sopra/runtime/VoiceManager.d.ts +2 -0
- package/src/engine/sound/sopra/runtime/VoiceManager.d.ts.map +1 -1
- package/src/engine/sound/sopra/runtime/VoiceManager.js +5 -0
- package/src/engine/ui/DraggableAspect.d.ts +14 -6
- package/src/engine/ui/DraggableAspect.d.ts.map +1 -1
- package/src/engine/ui/DraggableAspect.js +6 -5
- package/src/engine/ui/GUIEngine.d.ts +73 -26
- package/src/engine/ui/GUIEngine.d.ts.map +1 -1
- package/src/engine/ui/GUIEngine.js +37 -19
- package/src/engine/ui/bindings/DomElementBindingDescription.d.ts +7 -3
- package/src/engine/ui/bindings/DomElementBindingDescription.d.ts.map +1 -1
- package/src/engine/ui/bindings/DomElementBindingDescription.js +3 -2
- package/src/engine/ui/modal/ModalStack.d.ts +4 -0
- package/src/engine/ui/modal/ModalStack.d.ts.map +1 -1
- package/src/engine/ui/modal/ModalStack.js +4 -0
- package/src/engine/ui/notification/AnimatedObjectEmitter.d.ts +4 -0
- package/src/engine/ui/notification/AnimatedObjectEmitter.d.ts.map +1 -1
- package/src/engine/ui/notification/AnimatedObjectEmitter.js +4 -0
- package/src/engine/ui/notification/NotificationManager.d.ts +21 -8
- package/src/engine/ui/notification/NotificationManager.d.ts.map +1 -1
- package/src/engine/ui/notification/NotificationManager.js +10 -3
- package/src/engine/ui/notification/ViewEmitter.d.ts +8 -2
- package/src/engine/ui/notification/ViewEmitter.d.ts.map +1 -1
- package/src/engine/ui/notification/ViewEmitter.js +6 -1
- package/src/engine/ui/scene/SceneGUIContext.d.ts +4 -0
- package/src/engine/ui/scene/SceneGUIContext.d.ts.map +1 -1
- package/src/engine/ui/scene/SceneGUIContext.js +4 -0
- package/src/generation/filtering/numeric/util/populateSampler2DFromCellFilter.d.ts +9 -4
- package/src/generation/filtering/numeric/util/populateSampler2DFromCellFilter.d.ts.map +1 -1
- package/src/generation/filtering/numeric/util/populateSampler2DFromCellFilter.js +4 -3
- package/src/generation/grid/actions/ContinuousGridCellActionWriteObstacle.d.ts +9 -4
- package/src/generation/grid/actions/ContinuousGridCellActionWriteObstacle.d.ts.map +1 -1
- package/src/generation/grid/actions/ContinuousGridCellActionWriteObstacle.js +4 -3
- package/src/generation/grid/generation/GridTaskApplyActionToCells.d.ts +9 -4
- package/src/generation/grid/generation/GridTaskApplyActionToCells.d.ts.map +1 -1
- package/src/generation/grid/generation/GridTaskApplyActionToCells.js +4 -3
- package/src/generation/grid/generation/discrete/GridTaskActionRuleSet.d.ts +9 -4
- package/src/generation/grid/generation/discrete/GridTaskActionRuleSet.d.ts.map +1 -1
- package/src/generation/grid/generation/discrete/GridTaskActionRuleSet.js +4 -3
- package/src/generation/grid/generation/grid/select/CellSupplierBestN.d.ts +11 -5
- package/src/generation/grid/generation/grid/select/CellSupplierBestN.d.ts.map +1 -1
- package/src/generation/grid/generation/grid/select/CellSupplierBestN.js +5 -4
- package/src/generation/grid/generation/road/GridTaskGenerateRoads.d.ts +9 -4
- package/src/generation/grid/generation/road/GridTaskGenerateRoads.d.ts.map +1 -1
- package/src/generation/grid/generation/road/GridTaskGenerateRoads.js +12 -10
- package/src/generation/grid/generation/util/buildDistanceMapToObjective.d.ts +19 -9
- package/src/generation/grid/generation/util/buildDistanceMapToObjective.d.ts.map +1 -1
- package/src/generation/grid/generation/util/buildDistanceMapToObjective.js +9 -8
- package/src/generation/grid/generation/util/buildPathFromDistanceMap.d.ts +17 -8
- package/src/generation/grid/generation/util/buildPathFromDistanceMap.d.ts.map +1 -1
- package/src/generation/grid/generation/util/buildPathFromDistanceMap.js +8 -7
- package/src/generation/markers/GridActionRuleSet.d.ts +11 -5
- package/src/generation/markers/GridActionRuleSet.d.ts.map +1 -1
- package/src/generation/markers/GridActionRuleSet.js +5 -4
- package/src/generation/markers/actions/MarkerNodeActionEntityPlacement.d.ts +9 -4
- package/src/generation/markers/actions/MarkerNodeActionEntityPlacement.d.ts.map +1 -1
- package/src/generation/markers/actions/MarkerNodeActionEntityPlacement.js +4 -3
- package/src/generation/markers/actions/MarkerNodeActionImaginary.d.ts +9 -4
- package/src/generation/markers/actions/MarkerNodeActionImaginary.d.ts.map +1 -1
- package/src/generation/markers/actions/MarkerNodeActionImaginary.js +4 -3
- package/src/generation/markers/actions/MarkerProcessingRule.d.ts +11 -5
- package/src/generation/markers/actions/MarkerProcessingRule.d.ts.map +1 -1
- package/src/generation/markers/actions/MarkerProcessingRule.js +5 -4
- package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.d.ts +5 -2
- package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.d.ts.map +1 -1
- package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.js +2 -1
- package/src/generation/markers/actions/terrain/MarkerNodeActionPaintTerrain.d.ts +13 -6
- package/src/generation/markers/actions/terrain/MarkerNodeActionPaintTerrain.d.ts.map +1 -1
- package/src/generation/markers/actions/terrain/MarkerNodeActionPaintTerrain.js +6 -5
- package/src/generation/markers/emitter/MarkerNodeEmitterPredicated.d.ts +7 -3
- package/src/generation/markers/emitter/MarkerNodeEmitterPredicated.d.ts.map +1 -1
- package/src/generation/markers/emitter/MarkerNodeEmitterPredicated.js +3 -2
- package/src/generation/placement/GridCellPlacementRule.d.ts +15 -7
- package/src/generation/placement/GridCellPlacementRule.d.ts.map +1 -1
- package/src/generation/placement/GridCellPlacementRule.js +7 -6
- package/src/shade/descriptor/ObjectDescriptorBase.d.ts +8 -3
- package/src/shade/descriptor/ObjectDescriptorBase.d.ts.map +1 -1
- package/src/shade/descriptor/ObjectDescriptorBase.js +7 -2
- package/src/shade/descriptor/binding/BindGroupLayoutDescriptor.d.ts +12 -0
- package/src/shade/descriptor/binding/BindGroupLayoutDescriptor.d.ts.map +1 -1
- package/src/shade/descriptor/binding/BindGroupLayoutDescriptor.js +8 -0
- package/src/shade/descriptor/binding/BufferBindingLayout.d.ts +11 -6
- package/src/shade/descriptor/binding/BufferBindingLayout.d.ts.map +1 -1
- package/src/shade/descriptor/binding/BufferBindingLayout.js +5 -4
- package/src/shade/descriptor/binding/SamplerBindingLayout.d.ts +2 -2
- package/src/shade/descriptor/binding/SamplerBindingLayout.d.ts.map +1 -1
- package/src/shade/descriptor/binding/SamplerBindingLayout.js +1 -1
- package/src/shade/descriptor/binding/StorageTextureBindingLayout.d.ts +2 -2
- package/src/shade/descriptor/binding/StorageTextureBindingLayout.d.ts.map +1 -1
- package/src/shade/descriptor/binding/StorageTextureBindingLayout.js +1 -1
- package/src/shade/descriptor/binding/TextureBindingLayout.d.ts +4 -4
- package/src/shade/descriptor/binding/TextureBindingLayout.d.ts.map +1 -1
- package/src/shade/descriptor/binding/TextureBindingLayout.js +2 -2
- package/src/shade/descriptor/blend/BlendComponent.d.ts +6 -6
- package/src/shade/descriptor/blend/BlendComponent.d.ts.map +1 -1
- package/src/shade/descriptor/blend/BlendComponent.js +3 -3
- package/src/shade/descriptor/pipeline/PipelineLayoutDescriptor.d.ts +12 -0
- package/src/shade/descriptor/pipeline/PipelineLayoutDescriptor.d.ts.map +1 -1
- package/src/shade/descriptor/pipeline/PipelineLayoutDescriptor.js +8 -0
- package/src/shade/descriptor/pipeline/compute/ComputePipelineDescriptor.d.ts +18 -5
- package/src/shade/descriptor/pipeline/compute/ComputePipelineDescriptor.d.ts.map +1 -1
- package/src/shade/descriptor/pipeline/compute/ComputePipelineDescriptor.js +14 -4
- package/src/shade/descriptor/pipeline/render/DepthStencilState.d.ts +4 -1
- package/src/shade/descriptor/pipeline/render/DepthStencilState.d.ts.map +1 -1
- package/src/shade/descriptor/pipeline/render/DepthStencilState.js +3 -0
- package/src/shade/descriptor/pipeline/render/FragmentState.d.ts +5 -2
- package/src/shade/descriptor/pipeline/render/FragmentState.d.ts.map +1 -1
- package/src/shade/descriptor/pipeline/render/FragmentState.js +4 -1
- package/src/shade/descriptor/pipeline/render/PrimitiveState.d.ts +8 -8
- package/src/shade/descriptor/pipeline/render/PrimitiveState.d.ts.map +1 -1
- package/src/shade/descriptor/pipeline/render/PrimitiveState.js +4 -4
- package/src/shade/descriptor/pipeline/render/StencilFaceState.d.ts +16 -4
- package/src/shade/descriptor/pipeline/render/StencilFaceState.d.ts.map +1 -1
- package/src/shade/descriptor/pipeline/render/StencilFaceState.js +12 -0
- package/src/shade/descriptor/pipeline/render/VertexState.d.ts +5 -2
- package/src/shade/descriptor/pipeline/render/VertexState.d.ts.map +1 -1
- package/src/shade/descriptor/pipeline/render/VertexState.js +4 -1
- package/src/shade/descriptor/texture/SamplerDescriptor.d.ts +24 -6
- package/src/shade/descriptor/texture/SamplerDescriptor.d.ts.map +1 -1
- package/src/shade/descriptor/texture/SamplerDescriptor.js +18 -0
- package/src/shade/descriptor/texture/TextureDescriptor.d.ts +2 -2
- package/src/shade/descriptor/texture/TextureDescriptor.d.ts.map +1 -1
- package/src/shade/descriptor/texture/TextureDescriptor.js +1 -1
- package/src/shade/device/ShadeGPUCommandContext.d.ts +46 -12
- package/src/shade/device/ShadeGPUCommandContext.d.ts.map +1 -1
- package/src/shade/device/ShadeGPUCommandContext.js +28 -8
- package/src/shade/device/graph/GraphicsExecutionContext.d.ts +6 -0
- package/src/shade/device/graph/GraphicsExecutionContext.d.ts.map +1 -1
- package/src/shade/device/graph/GraphicsExecutionContext.js +5 -0
- package/src/shade/device/graph/TextureResourceDescriptor.d.ts +13 -6
- package/src/shade/device/graph/TextureResourceDescriptor.d.ts.map +1 -1
- package/src/shade/device/graph/TextureResourceDescriptor.js +6 -5
- package/src/shade/device/pass/ShadeGPUComputePassEncoder.d.ts +6 -0
- package/src/shade/device/pass/ShadeGPUComputePassEncoder.d.ts.map +1 -1
- package/src/shade/device/pass/ShadeGPUComputePassEncoder.js +5 -0
- package/src/shade/device/pass/ShadeGPURenderPassEncoder.d.ts +6 -0
- package/src/shade/device/pass/ShadeGPURenderPassEncoder.d.ts.map +1 -1
- package/src/shade/device/pass/ShadeGPURenderPassEncoder.js +5 -0
- package/src/shade/device/pipeline/ComputePipelineManager.d.ts +9 -1
- package/src/shade/device/pipeline/ComputePipelineManager.d.ts.map +1 -1
- package/src/shade/device/pipeline/ComputePipelineManager.js +6 -0
- package/src/shade/device/pipeline/PipelineLayoutManager.d.ts +6 -0
- package/src/shade/device/pipeline/PipelineLayoutManager.d.ts.map +1 -1
- package/src/shade/device/pipeline/PipelineLayoutManager.js +5 -0
- package/src/shade/device/pipeline/RenderPipelineManager.d.ts +7 -1
- package/src/shade/device/pipeline/RenderPipelineManager.d.ts.map +1 -1
- package/src/shade/device/pipeline/RenderPipelineManager.js +5 -0
- package/src/shade/device/shader/ShaderModuleCompiler.d.ts +4 -0
- package/src/shade/device/shader/ShaderModuleCompiler.d.ts.map +1 -1
- package/src/shade/device/shader/ShaderModuleCompiler.js +4 -0
- package/src/shade/device/timing/profile/GPUFrameRecorder.d.ts +6 -0
- package/src/shade/device/timing/profile/GPUFrameRecorder.d.ts.map +1 -1
- package/src/shade/device/timing/profile/GPUFrameRecorder.js +5 -0
- package/src/shade/device/timing/profile/GPUProfileFrame.d.ts +6 -0
- package/src/shade/device/timing/profile/GPUProfileFrame.d.ts.map +1 -1
- package/src/shade/device/timing/profile/GPUProfileFrame.js +5 -0
- package/src/shade/device/timing/profile/GPUProfileSession.d.ts +1 -0
- package/src/shade/device/timing/profile/GPUProfileSession.d.ts.map +1 -1
- package/src/shade/device/timing/profile/GPUProfileSession.js +4 -0
- package/src/shade/device/timing/profile/GPUProfileSpan.d.ts +4 -0
- package/src/shade/device/timing/profile/GPUProfileSpan.d.ts.map +1 -1
- package/src/shade/device/timing/profile/GPUProfileSpan.js +4 -0
- package/src/shade/playground/add_random_meshes.d.ts +19 -8
- package/src/shade/playground/add_random_meshes.d.ts.map +1 -1
- package/src/shade/playground/add_random_meshes.js +8 -7
- package/src/shade/playground/ground_seam/capture_scene_color.d.ts +4 -0
- package/src/shade/playground/ground_seam/capture_scene_color.d.ts.map +1 -1
- package/src/shade/playground/particle_ecs/index.html +0 -2
- package/src/shade/playground/particle_ecs/main.js +8 -29
- package/src/shade/playground/particle_system/main.js +8 -21
- package/src/shade/playground/particle_system/particle_prototype.js +8 -8
- package/src/shade/playground/particle_system/particle_scene.d.ts +0 -61
- package/src/shade/playground/particle_system/particle_scene.d.ts.map +1 -1
- package/src/shade/playground/particle_system/particle_scene.js +0 -57
- package/src/shade/playground/ssr_variance/reference.d.ts +1 -1
- package/src/shade/playground/ssr_variance/reference.d.ts.map +1 -1
- package/src/shade/playground/vgeo_viewer/README.md +11 -2
- package/src/shade/playground/vgeo_viewer/cut_geometry.d.ts.map +1 -1
- package/src/shade/playground/vgeo_viewer/cut_geometry.js +3 -40
- package/src/shade/playground/vgeo_viewer/main.js +14 -0
- package/src/shade/playground/vgeo_viewer/select_cut.d.ts +19 -0
- package/src/shade/playground/vgeo_viewer/select_cut.d.ts.map +1 -1
- package/src/shade/playground/vgeo_viewer/select_cut.js +53 -9
- package/src/shade/renderer/GPUSamplerManager.d.ts +4 -0
- package/src/shade/renderer/GPUSamplerManager.d.ts.map +1 -1
- package/src/shade/renderer/GPUSamplerManager.js +4 -0
- package/src/shade/renderer/GraphicsContext.d.ts +2 -0
- package/src/shade/renderer/GraphicsContext.d.ts.map +1 -1
- package/src/shade/renderer/GraphicsContext.js +5 -0
- package/src/shade/renderer/Renderer.d.ts +14 -4
- package/src/shade/renderer/Renderer.d.ts.map +1 -1
- package/src/shade/renderer/Renderer.js +70 -67
- package/src/shade/renderer/ResourceManager.d.ts +10 -0
- package/src/shade/renderer/ResourceManager.d.ts.map +1 -1
- package/src/shade/renderer/ResourceManager.js +7 -0
- package/src/shade/renderer/animation/GPUAnimationManager.d.ts +18 -11
- package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
- package/src/shade/renderer/animation/GPUAnimationManager.js +2063 -1958
- package/src/shade/renderer/animation/ShadeAnimationChannel.d.ts +2 -0
- package/src/shade/renderer/animation/ShadeAnimationChannel.d.ts.map +1 -1
- package/src/shade/renderer/animation/ShadeAnimationChannel.js +5 -0
- package/src/shade/renderer/animation/ShadeAnimationClip.d.ts +4 -0
- package/src/shade/renderer/animation/ShadeAnimationClip.d.ts.map +1 -1
- package/src/shade/renderer/animation/ShadeAnimationClip.js +4 -0
- package/src/shade/renderer/animation/Skin.d.ts +6 -0
- package/src/shade/renderer/animation/Skin.d.ts.map +1 -1
- package/src/shade/renderer/animation/Skin.js +5 -0
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts +48 -0
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts.map +1 -1
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.js +201 -14
- package/src/shade/renderer/binding/BindGroupDescriptor.d.ts +2 -1
- package/src/shade/renderer/binding/BindGroupDescriptor.d.ts.map +1 -1
- package/src/shade/renderer/binding/BindGroupDescriptor.js +4 -0
- package/src/shade/renderer/binding/BindGroupManager.d.ts +1 -0
- package/src/shade/renderer/binding/BindGroupManager.d.ts.map +1 -1
- package/src/shade/renderer/binding/BindGroupManager.js +4 -0
- package/src/shade/renderer/buffer/GPUBufferAllocatorNative.d.ts +4 -0
- package/src/shade/renderer/buffer/GPUBufferAllocatorNative.d.ts.map +1 -1
- package/src/shade/renderer/buffer/GPUBufferAllocatorNative.js +4 -0
- package/src/shade/renderer/buffer/GPUTypedBuffer.d.ts +20 -8
- package/src/shade/renderer/buffer/GPUTypedBuffer.d.ts.map +1 -1
- package/src/shade/renderer/buffer/GPUTypedBuffer.js +11 -6
- package/src/shade/renderer/buffer/graph_inspect_gpu_buffer.d.ts +15 -7
- package/src/shade/renderer/buffer/graph_inspect_gpu_buffer.d.ts.map +1 -1
- package/src/shade/renderer/buffer/graph_inspect_gpu_buffer.js +7 -6
- package/src/shade/renderer/buffer/inspect_gpu_buffer.d.ts +26 -12
- package/src/shade/renderer/buffer/inspect_gpu_buffer.d.ts.map +1 -1
- package/src/shade/renderer/buffer/inspect_gpu_buffer.js +12 -10
- package/src/shade/renderer/buffer/inspect_gpu_buffer_typed.d.ts +13 -6
- package/src/shade/renderer/buffer/inspect_gpu_buffer_typed.d.ts.map +1 -1
- package/src/shade/renderer/buffer/inspect_gpu_buffer_typed.js +6 -5
- package/src/shade/renderer/buffer/table/GPUDatabase.d.ts +13 -5
- package/src/shade/renderer/buffer/table/GPUDatabase.d.ts.map +1 -1
- package/src/shade/renderer/buffer/table/GPUDatabase.js +10 -4
- package/src/shade/renderer/buffer/table/GPUTypedTable.d.ts +3 -1
- package/src/shade/renderer/buffer/table/GPUTypedTable.d.ts.map +1 -1
- package/src/shade/renderer/buffer/table/GPUTypedTable.js +5 -0
- package/src/shade/renderer/buffer/table/GPUTypedTableDescriptor.d.ts +4 -0
- package/src/shade/renderer/buffer/table/GPUTypedTableDescriptor.d.ts.map +1 -1
- package/src/shade/renderer/buffer/table/GPUTypedTableDescriptor.js +4 -0
- package/src/shade/renderer/buffer/table/single/GPUSingleTypeTable.d.ts +11 -4
- package/src/shade/renderer/buffer/table/single/GPUSingleTypeTable.d.ts.map +1 -1
- package/src/shade/renderer/buffer/table/single/GPUSingleTypeTable.js +9 -3
- package/src/shade/renderer/camera/CameraManager.d.ts +4 -0
- package/src/shade/renderer/camera/CameraManager.d.ts.map +1 -1
- package/src/shade/renderer/camera/CameraManager.js +4 -0
- package/src/shade/renderer/camera/GPUCameraContext.d.ts +4 -2
- package/src/shade/renderer/camera/GPUCameraContext.d.ts.map +1 -1
- package/src/shade/renderer/camera/GPUCameraContext.js +5 -0
- package/src/shade/renderer/extension/FrameContext.d.ts +15 -5
- package/src/shade/renderer/extension/FrameContext.d.ts.map +1 -1
- package/src/shade/renderer/extension/FrameContext.js +7 -0
- package/src/shade/renderer/extension/FrameRecord.d.ts +7 -1
- package/src/shade/renderer/extension/FrameRecord.d.ts.map +1 -1
- package/src/shade/renderer/extension/FrameRecord.js +5 -0
- package/src/shade/renderer/extension/RenderExtension.d.ts +4 -0
- package/src/shade/renderer/extension/RenderExtension.d.ts.map +1 -1
- package/src/shade/renderer/extension/RenderExtension.js +4 -0
- package/src/shade/renderer/geometry/Attribute.d.ts +2 -2
- package/src/shade/renderer/geometry/Attribute.d.ts.map +1 -1
- package/src/shade/renderer/geometry/Attribute.js +1 -1
- package/src/shade/renderer/geometry/GPUGeometryManager.d.ts +30 -2
- package/src/shade/renderer/geometry/GPUGeometryManager.d.ts.map +1 -1
- package/src/shade/renderer/geometry/GPUGeometryManager.js +642 -591
- package/src/shade/renderer/geometry/GPUGeometryMetadata.d.ts +4 -0
- package/src/shade/renderer/geometry/GPUGeometryMetadata.d.ts.map +1 -1
- package/src/shade/renderer/geometry/GPUGeometryMetadata.js +4 -0
- package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.d.ts +7 -3
- package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.d.ts.map +1 -1
- package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.js +3 -2
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts +4 -0
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts.map +1 -1
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.js +4 -0
- package/src/shade/renderer/geometry/bvh/bvh_to_gpu_buffer.d.ts +11 -5
- package/src/shade/renderer/geometry/bvh/bvh_to_gpu_buffer.d.ts.map +1 -1
- package/src/shade/renderer/geometry/bvh/bvh_to_gpu_buffer.js +5 -4
- package/src/shade/renderer/geometry/meshlet/GPUMeshletManager.d.ts +12 -4
- package/src/shade/renderer/geometry/meshlet/GPUMeshletManager.d.ts.map +1 -1
- package/src/shade/renderer/geometry/meshlet/GPUMeshletManager.js +10 -3
- package/src/shade/renderer/geometry/meshlet/MeshletBatch.d.ts +1 -0
- package/src/shade/renderer/geometry/meshlet/MeshletBatch.d.ts.map +1 -1
- package/src/shade/renderer/geometry/meshlet/MeshletBatch.js +4 -0
- package/src/shade/renderer/geometry/meshlet_batch_to_bvh.d.ts +13 -6
- package/src/shade/renderer/geometry/meshlet_batch_to_bvh.d.ts.map +1 -1
- package/src/shade/renderer/geometry/meshlet_batch_to_bvh.js +6 -5
- package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.d.ts +2 -0
- package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.d.ts.map +1 -1
- package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.js +5 -0
- package/src/shade/renderer/geometry/sdf/shader_sdf_visualize.d.ts +13 -6
- package/src/shade/renderer/geometry/sdf/shader_sdf_visualize.d.ts.map +1 -1
- package/src/shade/renderer/geometry/sdf/shader_sdf_visualize.js +6 -5
- package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.d.ts +31 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.js +345 -0
- package/src/shade/renderer/global_illumination/brick4/cpu/brick4_bake_for_scene.d.ts +11 -5
- package/src/shade/renderer/global_illumination/brick4/cpu/brick4_bake_for_scene.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/brick4/cpu/brick4_bake_for_scene.js +5 -4
- package/src/shade/renderer/global_illumination/brick4/cpu/brick4_generate_tree_from_scene.d.ts +12 -5
- package/src/shade/renderer/global_illumination/brick4/cpu/brick4_generate_tree_from_scene.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/brick4/cpu/brick4_generate_tree_from_scene.js +5 -4
- package/src/shade/renderer/global_illumination/brick4/gpu/bake/brick4_bake_basic.d.ts +11 -5
- package/src/shade/renderer/global_illumination/brick4/gpu/bake/brick4_bake_basic.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/brick4/gpu/bake/brick4_bake_basic.js +5 -4
- package/src/shade/renderer/global_illumination/lpv/GPULightProbeVolume.d.ts +5 -1
- package/src/shade/renderer/global_illumination/lpv/GPULightProbeVolume.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/lpv/GPULightProbeVolume.js +4 -0
- package/src/shade/renderer/global_illumination/lpv/LightProbeVolume.d.ts +4 -0
- package/src/shade/renderer/global_illumination/lpv/LightProbeVolume.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/lpv/LightProbeVolume.js +4 -0
- package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.d.ts +7 -1
- package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.js +5 -0
- package/src/shade/renderer/global_illumination/lpv/graph_bake_irradiance_lookup_2d.d.ts +11 -5
- package/src/shade/renderer/global_illumination/lpv/graph_bake_irradiance_lookup_2d.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/lpv/graph_bake_irradiance_lookup_2d.js +5 -4
- package/src/shade/renderer/global_illumination/lpv/lpv_visualise_probes.d.ts +9 -4
- package/src/shade/renderer/global_illumination/lpv/lpv_visualise_probes.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/lpv/lpv_visualise_probes.js +4 -3
- package/src/shade/renderer/global_illumination/lpv/placement/graph_generate_probe_locations.d.ts +9 -4
- package/src/shade/renderer/global_illumination/lpv/placement/graph_generate_probe_locations.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/lpv/placement/graph_generate_probe_locations.js +4 -3
- package/src/shade/renderer/global_illumination/lpv/placement/software/lpv_generate_probe_locations2.d.ts +7 -3
- package/src/shade/renderer/global_illumination/lpv/placement/software/lpv_generate_probe_locations2.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/lpv/placement/software/lpv_generate_probe_locations2.js +3 -2
- package/src/shade/renderer/global_illumination/probe/octahedral/GPUProbeAtlas.d.ts +28 -8
- package/src/shade/renderer/global_illumination/probe/octahedral/GPUProbeAtlas.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/probe/octahedral/GPUProbeAtlas.js +17 -6
- package/src/shade/renderer/global_illumination/probe/octahedral/border/graph_lpv_paint_border_depth.d.ts +13 -6
- package/src/shade/renderer/global_illumination/probe/octahedral/border/graph_lpv_paint_border_depth.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/probe/octahedral/border/graph_lpv_paint_border_depth.js +6 -5
- package/src/shade/renderer/global_illumination/probe/octahedral/convolve/graph_lpv_store_sh.d.ts +15 -7
- package/src/shade/renderer/global_illumination/probe/octahedral/convolve/graph_lpv_store_sh.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/probe/octahedral/convolve/graph_lpv_store_sh.js +7 -6
- package/src/shade/renderer/global_illumination/probe/octahedral/convolve/graph_lvp_atlas_to_sh.d.ts +17 -8
- package/src/shade/renderer/global_illumination/probe/octahedral/convolve/graph_lvp_atlas_to_sh.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/probe/octahedral/convolve/graph_lvp_atlas_to_sh.js +8 -7
- package/src/shade/renderer/global_illumination/probe/octahedral/convolve/graph_reduce_atlas_to_sh.d.ts +17 -8
- package/src/shade/renderer/global_illumination/probe/octahedral/convolve/graph_reduce_atlas_to_sh.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/probe/octahedral/convolve/graph_reduce_atlas_to_sh.js +8 -7
- package/src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.d.ts +15 -7
- package/src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.js +7 -6
- package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_build_lbvh.d.ts +19 -9
- package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_build_lbvh.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_build_lbvh.js +9 -8
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdldf.d.ts +9 -4
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdldf.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdldf.js +4 -3
- package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.d.ts +11 -5
- package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.js +5 -4
- package/src/shade/renderer/hiz/HierarchicalZBuffer.d.ts +9 -1
- package/src/shade/renderer/hiz/HierarchicalZBuffer.d.ts.map +1 -1
- package/src/shade/renderer/hiz/HierarchicalZBuffer.js +6 -0
- package/src/shade/renderer/hiz/generate_downsampler_code.d.ts +11 -5
- package/src/shade/renderer/hiz/generate_downsampler_code.d.ts.map +1 -1
- package/src/shade/renderer/hiz/generate_downsampler_code.js +5 -4
- package/src/shade/renderer/hiz/graph_build_hzb.d.ts +13 -6
- package/src/shade/renderer/hiz/graph_build_hzb.d.ts.map +1 -1
- package/src/shade/renderer/hiz/graph_build_hzb.js +6 -5
- package/src/shade/renderer/light/GPULightCollection.d.ts +4 -1
- package/src/shade/renderer/light/GPULightCollection.d.ts.map +1 -1
- package/src/shade/renderer/light/GPULightCollection.js +6 -0
- package/src/shade/renderer/light/LightCollection.d.ts +9 -3
- package/src/shade/renderer/light/LightCollection.d.ts.map +1 -1
- package/src/shade/renderer/light/LightCollection.js +5 -0
- package/src/shade/renderer/light/cluster/cull/graph_cull_lights.d.ts +11 -5
- package/src/shade/renderer/light/cluster/cull/graph_cull_lights.d.ts.map +1 -1
- package/src/shade/renderer/light/cluster/cull/graph_cull_lights.js +17 -14
- package/src/shade/renderer/light/cluster/graph_assign_clsuters.d.ts +13 -6
- package/src/shade/renderer/light/cluster/graph_assign_clsuters.d.ts.map +1 -1
- package/src/shade/renderer/light/cluster/graph_assign_clsuters.js +6 -5
- package/src/shade/renderer/light/cluster/graph_build_light_clusters.d.ts +13 -6
- package/src/shade/renderer/light/cluster/graph_build_light_clusters.d.ts.map +1 -1
- package/src/shade/renderer/light/cluster/graph_build_light_clusters.js +6 -5
- package/src/shade/renderer/light/environment/graph_filter_environment_map.d.ts +7 -3
- package/src/shade/renderer/light/environment/graph_filter_environment_map.d.ts.map +1 -1
- package/src/shade/renderer/light/environment/graph_filter_environment_map.js +3 -2
- package/src/shade/renderer/lightmap/bake/raster/graph_draw_lightmap_viz_buffer.d.ts +11 -5
- package/src/shade/renderer/lightmap/bake/raster/graph_draw_lightmap_viz_buffer.d.ts.map +1 -1
- package/src/shade/renderer/lightmap/bake/raster/graph_draw_lightmap_viz_buffer.js +5 -4
- package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +1 -1
- package/src/shade/renderer/material/GPUMaterialContext.d.ts +17 -1
- package/src/shade/renderer/material/GPUMaterialContext.d.ts.map +1 -1
- package/src/shade/renderer/material/GPUMaterialContext.js +10 -0
- package/src/shade/renderer/material/GPUMaterialManager.d.ts +19 -5
- package/src/shade/renderer/material/GPUMaterialManager.d.ts.map +1 -1
- package/src/shade/renderer/material/GPUMaterialManager.js +19 -4
- package/src/shade/renderer/material/ShadeMaterial.d.ts +2 -1
- package/src/shade/renderer/material/ShadeMaterial.d.ts.map +1 -1
- package/src/shade/renderer/material/ShadeMaterial.js +4 -0
- package/src/shade/renderer/material/StandardShadeMaterial.d.ts +6 -0
- package/src/shade/renderer/material/StandardShadeMaterial.d.ts.map +1 -1
- package/src/shade/renderer/material/StandardShadeMaterial.js +5 -0
- package/src/shade/renderer/material/resident/GPUResidentMaterialContext.d.ts +12 -0
- package/src/shade/renderer/material/resident/GPUResidentMaterialContext.d.ts.map +1 -1
- package/src/shade/renderer/material/resident/GPUResidentMaterialContext.js +8 -0
- package/src/shade/renderer/particles/DESIGN.md +82 -69
- package/src/shade/renderer/particles/GPUParticleSystem.d.ts +93 -48
- package/src/shade/renderer/particles/GPUParticleSystem.d.ts.map +1 -1
- package/src/shade/renderer/particles/GPUParticleSystem.js +117 -176
- package/src/shade/renderer/particles/ParticleConstants.d.ts +6 -12
- package/src/shade/renderer/particles/ParticleConstants.d.ts.map +1 -1
- package/src/shade/renderer/particles/ParticleConstants.js +6 -13
- package/src/shade/renderer/particles/coherence/graph_particle_bucket.d.ts +4 -4
- package/src/shade/renderer/particles/coherence/graph_particle_bucket.js +6 -6
- package/src/shade/renderer/particles/coherence/particle_program_buckets.d.ts +2 -1
- package/src/shade/renderer/particles/coherence/particle_program_buckets.d.ts.map +1 -1
- package/src/shade/renderer/particles/coherence/particle_program_buckets.js +6 -8
- package/src/shade/renderer/particles/coherence/shader_particle_bucket.d.ts.map +1 -1
- package/src/shade/renderer/particles/coherence/shader_particle_bucket.js +4 -3
- package/src/shade/renderer/particles/data/PARTICLE_COUNTERS.d.ts +10 -14
- package/src/shade/renderer/particles/data/PARTICLE_COUNTERS.d.ts.map +1 -1
- package/src/shade/renderer/particles/data/PARTICLE_COUNTERS.js +10 -14
- package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STRUCT.d.ts +6 -5
- package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STRUCT.js +6 -5
- package/src/shade/renderer/particles/graph_particles.d.ts +19 -32
- package/src/shade/renderer/particles/graph_particles.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph_particles.js +18 -25
- package/src/shade/renderer/particles/graph_particles_avboit.js +16 -16
- package/src/shade/renderer/particles/runtime/EmitterRegistry.d.ts +3 -2
- package/src/shade/renderer/particles/runtime/EmitterRegistry.d.ts.map +1 -1
- package/src/shade/renderer/particles/runtime/EmitterRegistry.js +31 -27
- package/src/shade/renderer/particles/runtime/ParticleEmitter.d.ts +4 -4
- package/src/shade/renderer/particles/runtime/ParticleEmitter.js +4 -4
- package/src/shade/renderer/particles/shaders/chunk_particle_avboit_contribution.js +4 -4
- package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.d.ts +7 -6
- package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.js +7 -6
- package/src/shade/renderer/particles/shaders/chunk_particle_lighting.d.ts +4 -3
- package/src/shade/renderer/particles/shaders/chunk_particle_lighting.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_lighting.js +4 -3
- package/src/shade/renderer/particles/shaders/chunk_particle_render_math.d.ts +2 -2
- package/src/shade/renderer/particles/shaders/chunk_particle_render_math.js +10 -10
- package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.js +3 -3
- package/src/shade/renderer/particles/shaders/shader_particle_avboit_splat.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_avboit_splat.js +2 -1
- package/src/shade/renderer/particles/shaders/shader_particle_finalize.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_finalize.js +13 -16
- package/src/shade/renderer/particles/shaders/shader_particle_render.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_render.js +22 -19
- package/src/shade/renderer/path_tracer/accumulating/AccumulatingPathTracer.d.ts +10 -3
- package/src/shade/renderer/path_tracer/accumulating/AccumulatingPathTracer.d.ts.map +1 -1
- package/src/shade/renderer/path_tracer/accumulating/AccumulatingPathTracer.js +12 -2
- package/src/shade/renderer/path_tracer/graph_path_trace_scene.d.ts +7 -3
- package/src/shade/renderer/path_tracer/graph_path_trace_scene.d.ts.map +1 -1
- package/src/shade/renderer/path_tracer/graph_path_trace_scene.js +3 -2
- package/src/shade/renderer/postprocess/bloom/graph_bloom_downsample.d.ts +11 -5
- package/src/shade/renderer/postprocess/bloom/graph_bloom_downsample.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/bloom/graph_bloom_downsample.js +5 -4
- package/src/shade/renderer/postprocess/bloom/graph_postprocess_bloom.d.ts +13 -6
- package/src/shade/renderer/postprocess/bloom/graph_postprocess_bloom.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/bloom/graph_postprocess_bloom.js +11 -9
- package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.d.ts +31 -15
- package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.js +15 -14
- package/src/shade/renderer/postprocess/denoise/debug/graph_pass_debug_reprojection.d.ts +21 -10
- package/src/shade/renderer/postprocess/denoise/debug/graph_pass_debug_reprojection.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/denoise/debug/graph_pass_debug_reprojection.js +10 -9
- package/src/shade/renderer/postprocess/denoise/graph_atorus_denoise_luma.d.ts +17 -8
- package/src/shade/renderer/postprocess/denoise/graph_atorus_denoise_luma.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/denoise/graph_atorus_denoise_luma.js +8 -7
- package/src/shade/renderer/postprocess/dof/gather/DepthOfFieldU.d.ts +6 -0
- package/src/shade/renderer/postprocess/dof/gather/DepthOfFieldU.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/dof/gather/DepthOfFieldU.js +5 -0
- package/src/shade/renderer/postprocess/dof/raymarch/DepthOfField.d.ts +6 -0
- package/src/shade/renderer/postprocess/dof/raymarch/DepthOfField.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/dof/raymarch/DepthOfField.js +5 -0
- package/src/shade/renderer/postprocess/eye/GPUCameraExposureManager.d.ts +14 -6
- package/src/shade/renderer/postprocess/eye/GPUCameraExposureManager.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/eye/GPUCameraExposureManager.js +6 -4
- package/src/shade/renderer/postprocess/gtao/graph_build_depth_mipmap.d.ts +13 -6
- package/src/shade/renderer/postprocess/gtao/graph_build_depth_mipmap.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/gtao/graph_build_depth_mipmap.js +6 -5
- package/src/shade/renderer/postprocess/gtao/render_copy_texture.d.ts +28 -13
- package/src/shade/renderer/postprocess/gtao/render_copy_texture.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/gtao/render_copy_texture.js +13 -11
- package/src/shade/renderer/postprocess/motion_blur/MotionBlur.d.ts +4 -0
- package/src/shade/renderer/postprocess/motion_blur/MotionBlur.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/motion_blur/MotionBlur.js +4 -0
- package/src/shade/renderer/postprocess/nss/NSS.d.ts +7 -1
- package/src/shade/renderer/postprocess/nss/NSS.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/nss/NSS.js +5 -0
- package/src/shade/renderer/postprocess/ssr/graph_build_depth_max_pyramid.d.ts +9 -4
- package/src/shade/renderer/postprocess/ssr/graph_build_depth_max_pyramid.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/graph_build_depth_max_pyramid.js +4 -3
- package/src/shade/renderer/postprocess/ssr/ssr_graph_prefilter_color.d.ts +13 -6
- package/src/shade/renderer/postprocess/ssr/ssr_graph_prefilter_color.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/ssr_graph_prefilter_color.js +6 -5
- package/src/shade/renderer/postprocess/taa/TAA.d.ts +15 -7
- package/src/shade/renderer/postprocess/taa/TAA.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/taa/TAA.js +7 -6
- package/src/shade/renderer/postprocess/velocity/graph_add_camera_velocity.d.ts +13 -6
- package/src/shade/renderer/postprocess/velocity/graph_add_camera_velocity.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/velocity/graph_add_camera_velocity.js +6 -5
- package/src/shade/renderer/rasterize/compute/graph_mesh_frustum_cull.d.ts +11 -5
- package/src/shade/renderer/rasterize/compute/graph_mesh_frustum_cull.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/compute/graph_mesh_frustum_cull.js +5 -4
- package/src/shade/renderer/rasterize/compute/graph_mesh_sphere_cull.d.ts +11 -5
- package/src/shade/renderer/rasterize/compute/graph_mesh_sphere_cull.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/compute/graph_mesh_sphere_cull.js +5 -4
- package/src/shade/renderer/rasterize/execute_rasterization_jobs.d.ts +12 -5
- package/src/shade/renderer/rasterize/execute_rasterization_jobs.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/execute_rasterization_jobs.js +5 -4
- package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.d.ts +2 -0
- package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.js +5 -0
- package/src/shade/renderer/rasterize/expand/bucket/mesh/graph_meshes_classify_buckets.d.ts +11 -5
- package/src/shade/renderer/rasterize/expand/bucket/mesh/graph_meshes_classify_buckets.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/bucket/mesh/graph_meshes_classify_buckets.js +5 -4
- package/src/shade/renderer/rasterize/expand/bucket/mesh/graph_scene_meshes_cull_and_classify_buckets.d.ts +9 -4
- package/src/shade/renderer/rasterize/expand/bucket/mesh/graph_scene_meshes_cull_and_classify_buckets.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/bucket/mesh/graph_scene_meshes_cull_and_classify_buckets.js +4 -3
- package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_sort_meshlets_by_bucket_id.d.ts +11 -5
- package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_sort_meshlets_by_bucket_id.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_sort_meshlets_by_bucket_id.js +5 -4
- package/src/shade/renderer/rasterize/expand/graph_mesh_filter_one_way.d.ts +15 -7
- package/src/shade/renderer/rasterize/expand/graph_mesh_filter_one_way.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/graph_mesh_filter_one_way.js +7 -6
- package/src/shade/renderer/rasterize/expand/graph_mesh_filter_two_way.d.ts +15 -7
- package/src/shade/renderer/rasterize/expand/graph_mesh_filter_two_way.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/graph_mesh_filter_two_way.js +7 -6
- package/src/shade/renderer/rasterize/expand/graph_meshlets_expand.d.ts +13 -6
- package/src/shade/renderer/rasterize/expand/graph_meshlets_expand.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/graph_meshlets_expand.js +6 -5
- package/src/shade/renderer/rasterize/expand/graph_meshlets_filter_one_way.d.ts +17 -8
- package/src/shade/renderer/rasterize/expand/graph_meshlets_filter_one_way.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/graph_meshlets_filter_one_way.js +8 -7
- package/src/shade/renderer/rasterize/expand/graph_meshlets_filter_two_way.d.ts +13 -6
- package/src/shade/renderer/rasterize/expand/graph_meshlets_filter_two_way.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/graph_meshlets_filter_two_way.js +6 -5
- package/src/shade/renderer/rasterize/expand/graph_meshlets_rasterize.d.ts +21 -10
- package/src/shade/renderer/rasterize/expand/graph_meshlets_rasterize.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/graph_meshlets_rasterize.js +10 -9
- package/src/shade/renderer/rasterize/expand/graph_triangles_filter_by_material_side.d.ts +13 -6
- package/src/shade/renderer/rasterize/expand/graph_triangles_filter_by_material_side.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/graph_triangles_filter_by_material_side.js +6 -5
- package/src/shade/renderer/rasterize/expand/graph_triangles_filter_one_way.d.ts +17 -8
- package/src/shade/renderer/rasterize/expand/graph_triangles_filter_one_way.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/graph_triangles_filter_one_way.js +8 -7
- package/src/shade/renderer/rasterize/expand/graph_triangles_filter_two_way.d.ts +13 -6
- package/src/shade/renderer/rasterize/expand/graph_triangles_filter_two_way.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/graph_triangles_filter_two_way.js +6 -5
- package/src/shade/renderer/rasterize/expand/mesh/graph_expand_meshes_to_meshlets.d.ts +15 -7
- package/src/shade/renderer/rasterize/expand/mesh/graph_expand_meshes_to_meshlets.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/mesh/graph_expand_meshes_to_meshlets.js +7 -6
- package/src/shade/renderer/rasterize/fast/graph_extract_meshes_from_bucket.d.ts +11 -5
- package/src/shade/renderer/rasterize/fast/graph_extract_meshes_from_bucket.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/fast/graph_extract_meshes_from_bucket.js +5 -4
- package/src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.d.ts +9 -4
- package/src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.js +4 -3
- package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.d.ts +80 -37
- package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.js +37 -33
- package/src/shade/renderer/rasterize/native/graph_rasterize_meshes_alpha_tested.d.ts +28 -13
- package/src/shade/renderer/rasterize/native/graph_rasterize_meshes_alpha_tested.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/graph_rasterize_meshes_alpha_tested.js +13 -12
- package/src/shade/renderer/rasterize/native/oit/graph_rasterize_meshes_transparent_oit.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/oit/graph_rasterize_meshes_transparent_oit.js +12 -11
- package/src/shade/renderer/rasterize/standard/graph_rasterize_remaining_opaque.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/standard/graph_rasterize_remaining_opaque.js +5 -4
- package/src/shade/renderer/rasterize/standard/graph_rasterize_scene.d.ts +9 -4
- package/src/shade/renderer/rasterize/standard/graph_rasterize_scene.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/standard/graph_rasterize_scene.js +4 -3
- package/src/shade/renderer/restir/di/ReSTIRDI.d.ts +10 -0
- package/src/shade/renderer/restir/di/ReSTIRDI.d.ts.map +1 -1
- package/src/shade/renderer/restir/di/ReSTIRDI.js +7 -0
- package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts +2 -0
- package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts.map +1 -1
- package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.js +5 -0
- package/src/shade/renderer/scene/GPUSceneContext.d.ts +4 -0
- package/src/shade/renderer/scene/GPUSceneContext.d.ts.map +1 -1
- package/src/shade/renderer/scene/GPUSceneContext.js +15 -0
- package/src/shade/renderer/scene/InstanceBatch.d.ts +11 -3
- package/src/shade/renderer/scene/InstanceBatch.d.ts.map +1 -1
- package/src/shade/renderer/scene/InstanceBatch.js +6 -0
- package/src/shade/renderer/scene/Mesh.d.ts +8 -2
- package/src/shade/renderer/scene/Mesh.d.ts.map +1 -1
- package/src/shade/renderer/scene/Mesh.js +6 -1
- package/src/shade/renderer/scene/SceneManager.d.ts +6 -0
- package/src/shade/renderer/scene/SceneManager.d.ts.map +1 -1
- package/src/shade/renderer/scene/SceneManager.js +5 -0
- package/src/shade/renderer/scene/SkinnedMesh.d.ts +4 -0
- package/src/shade/renderer/scene/SkinnedMesh.d.ts.map +1 -1
- package/src/shade/renderer/scene/SkinnedMesh.js +4 -0
- package/src/shade/renderer/scene/serialization/serialize_scene.d.ts +7 -3
- package/src/shade/renderer/scene/serialization/serialize_scene.d.ts.map +1 -1
- package/src/shade/renderer/scene/serialization/serialize_scene.js +3 -2
- package/src/shade/renderer/shader/ComputeShader.d.ts +64 -29
- package/src/shade/renderer/shader/ComputeShader.d.ts.map +1 -1
- package/src/shade/renderer/shader/ComputeShader.js +29 -23
- package/src/shade/renderer/shader/ImageShader.d.ts +9 -4
- package/src/shade/renderer/shader/ImageShader.d.ts.map +1 -1
- package/src/shade/renderer/shader/ImageShader.js +4 -3
- package/src/shade/renderer/shader/ShaderDescriptor.d.ts +10 -4
- package/src/shade/renderer/shader/ShaderDescriptor.d.ts.map +1 -1
- package/src/shade/renderer/shader/ShaderDescriptor.js +4 -3
- package/src/shade/renderer/shader/chunk/brdf/dfg/generate_dfg_texture.d.ts +7 -3
- package/src/shade/renderer/shader/chunk/brdf/dfg/generate_dfg_texture.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/brdf/dfg/generate_dfg_texture.js +6 -4
- package/src/shade/renderer/shader/fullscreen/create_full_quad_pipeline_descriptor.d.ts +13 -6
- package/src/shade/renderer/shader/fullscreen/create_full_quad_pipeline_descriptor.d.ts.map +1 -1
- package/src/shade/renderer/shader/fullscreen/create_full_quad_pipeline_descriptor.js +6 -5
- package/src/shade/renderer/shader/graph/compute/graph_compute_indirect_pass.d.ts +13 -6
- package/src/shade/renderer/shader/graph/compute/graph_compute_indirect_pass.d.ts.map +1 -1
- package/src/shade/renderer/shader/graph/compute/graph_compute_indirect_pass.js +6 -5
- package/src/shade/renderer/shader/graph/compute/graph_compute_pass.d.ts +13 -6
- package/src/shade/renderer/shader/graph/compute/graph_compute_pass.d.ts.map +1 -1
- package/src/shade/renderer/shader/graph/compute/graph_compute_pass.js +6 -5
- package/src/shade/renderer/shader/graph/graph_image_pass.d.ts +27 -13
- package/src/shade/renderer/shader/graph/graph_image_pass.d.ts.map +1 -1
- package/src/shade/renderer/shader/graph/graph_image_pass.js +13 -12
- package/src/shade/renderer/shader/graph/graph_import_raw_buffer.d.ts +15 -7
- package/src/shade/renderer/shader/graph/graph_import_raw_buffer.d.ts.map +1 -1
- package/src/shade/renderer/shader/graph/graph_import_raw_buffer.js +7 -6
- package/src/shade/renderer/shader/graph/graph_import_typed_buffer.d.ts +13 -6
- package/src/shade/renderer/shader/graph/graph_import_typed_buffer.d.ts.map +1 -1
- package/src/shade/renderer/shader/graph/graph_import_typed_buffer.js +6 -5
- package/src/shade/renderer/shader/pass/RenderPassColorAttachmentDescriptor.d.ts +7 -3
- package/src/shade/renderer/shader/pass/RenderPassColorAttachmentDescriptor.d.ts.map +1 -1
- package/src/shade/renderer/shader/pass/RenderPassColorAttachmentDescriptor.js +3 -2
- package/src/shade/renderer/shader/pass/RenderPassDescriptor.d.ts +49 -23
- package/src/shade/renderer/shader/pass/RenderPassDescriptor.d.ts.map +1 -1
- package/src/shade/renderer/shader/pass/RenderPassDescriptor.js +23 -20
- package/src/shade/renderer/shader/resource/ShaderResourceDescriptor.d.ts +6 -0
- package/src/shade/renderer/shader/resource/ShaderResourceDescriptor.d.ts.map +1 -1
- package/src/shade/renderer/shader/resource/ShaderResourceDescriptor.js +9 -0
- package/src/shade/renderer/shader/resource/ShaderResourceGroupDescriptor.d.ts +11 -2
- package/src/shade/renderer/shader/resource/ShaderResourceGroupDescriptor.d.ts.map +1 -1
- package/src/shade/renderer/shader/resource/ShaderResourceGroupDescriptor.js +7 -1
- package/src/shade/renderer/shader/resource/ShaderResourceSetDescriptor.d.ts +10 -3
- package/src/shade/renderer/shader/resource/ShaderResourceSetDescriptor.d.ts.map +1 -1
- package/src/shade/renderer/shader/resource/ShaderResourceSetDescriptor.js +9 -2
- package/src/shade/renderer/shader/type/WGSLAttribute.d.ts +2 -2
- package/src/shade/renderer/shader/type/WGSLAttribute.d.ts.map +1 -1
- package/src/shade/renderer/shader/type/WGSLAttribute.js +1 -1
- package/src/shade/renderer/shader/type/WGSLStructField.d.ts +6 -2
- package/src/shade/renderer/shader/type/WGSLStructField.d.ts.map +1 -1
- package/src/shade/renderer/shader/type/WGSLStructField.js +5 -1
- package/src/shade/renderer/shader/type/WebGPUArray.d.ts +0 -2
- package/src/shade/renderer/shader/type/WebGPUArray.d.ts.map +1 -1
- package/src/shade/renderer/shader/type/WebGPUStruct.d.ts +2 -4
- package/src/shade/renderer/shader/type/WebGPUStruct.d.ts.map +1 -1
- package/src/shade/renderer/shader/type/WebGPUStruct.js +1 -1
- package/src/shade/renderer/shader/type/WebGPUType.d.ts +5 -1
- package/src/shade/renderer/shader/type/WebGPUType.d.ts.map +1 -1
- package/src/shade/renderer/shader/type/WebGPUType.js +4 -0
- package/src/shade/renderer/shadow/evsm/graph_evsm_render_cascade.d.ts +7 -3
- package/src/shade/renderer/shadow/evsm/graph_evsm_render_cascade.d.ts.map +1 -1
- package/src/shade/renderer/shadow/evsm/graph_evsm_render_cascade.js +3 -2
- package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.d.ts +7 -0
- package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.js +10 -0
- package/src/shade/renderer/shadow/map/Shadowmap.d.ts +12 -0
- package/src/shade/renderer/shadow/map/Shadowmap.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/Shadowmap.js +8 -0
- package/src/shade/renderer/shadow/map/SpotLightShadowmap.d.ts +2 -2
- package/src/shade/renderer/shadow/map/csm/graph_csm_setup_cascades.d.ts +7 -3
- package/src/shade/renderer/shadow/map/csm/graph_csm_setup_cascades.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/csm/graph_csm_setup_cascades.js +3 -2
- package/src/shade/renderer/shadow/map/csm_debug_draw_preview.d.ts +11 -5
- package/src/shade/renderer/shadow/map/csm_debug_draw_preview.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/csm_debug_draw_preview.js +5 -4
- package/src/shade/renderer/shadow/ray/staged/gen/graph_gen_rays.d.ts +13 -6
- package/src/shade/renderer/shadow/ray/staged/gen/graph_gen_rays.d.ts.map +1 -1
- package/src/shade/renderer/shadow/ray/staged/gen/graph_gen_rays.js +6 -5
- package/src/shade/renderer/shadow/ray/staged/trace/graph_trace_rays.d.ts +9 -4
- package/src/shade/renderer/shadow/ray/staged/trace/graph_trace_rays.d.ts.map +1 -1
- package/src/shade/renderer/shadow/ray/staged/trace/graph_trace_rays.js +4 -3
- package/src/shade/renderer/shadow/sdf/brixelizer/Brixelizer.d.ts +11 -5
- package/src/shade/renderer/shadow/sdf/brixelizer/Brixelizer.d.ts.map +1 -1
- package/src/shade/renderer/shadow/sdf/brixelizer/Brixelizer.js +5 -4
- package/src/shade/renderer/shadow/sdf/cascade/CascadedSceneSDF.d.ts +1 -0
- package/src/shade/renderer/shadow/sdf/cascade/CascadedSceneSDF.d.ts.map +1 -1
- package/src/shade/renderer/shadow/sdf/cascade/CascadedSceneSDF.js +4 -0
- package/src/shade/renderer/shadow/sdf/graph_draw_sdf_shadows.d.ts +13 -6
- package/src/shade/renderer/shadow/sdf/graph_draw_sdf_shadows.d.ts.map +1 -1
- package/src/shade/renderer/shadow/sdf/graph_draw_sdf_shadows.js +6 -5
- package/src/shade/renderer/texture/GPUTextureAllocator.d.ts +4 -0
- package/src/shade/renderer/texture/GPUTextureAllocator.d.ts.map +1 -1
- package/src/shade/renderer/texture/GPUTextureAllocator.js +4 -0
- package/src/shade/renderer/texture/GPUTextureContext.d.ts +1 -0
- package/src/shade/renderer/texture/GPUTextureContext.d.ts.map +1 -1
- package/src/shade/renderer/texture/GPUTextureContext.js +4 -0
- package/src/shade/renderer/texture/RenderTarget.d.ts +7 -3
- package/src/shade/renderer/texture/RenderTarget.d.ts.map +1 -1
- package/src/shade/renderer/texture/RenderTarget.js +3 -2
- package/src/shade/renderer/texture/ShadeTexture.d.ts +2 -1
- package/src/shade/renderer/texture/ShadeTexture.d.ts.map +1 -1
- package/src/shade/renderer/texture/ShadeTexture.js +4 -0
- package/src/shade/renderer/texture/TextureManager.d.ts +1 -0
- package/src/shade/renderer/texture/TextureManager.d.ts.map +1 -1
- package/src/shade/renderer/texture/TextureManager.js +4 -0
- package/src/shade/renderer/texture/debug_draw_texture.d.ts +9 -4
- package/src/shade/renderer/texture/debug_draw_texture.d.ts.map +1 -1
- package/src/shade/renderer/texture/debug_draw_texture.js +4 -3
- package/src/shade/renderer/texture/download_texture_data.d.ts +17 -6
- package/src/shade/renderer/texture/download_texture_data.d.ts.map +1 -1
- package/src/shade/renderer/texture/download_texture_data.js +10 -5
- package/src/shade/renderer/texture/draw_texture_as_rgba.d.ts +26 -12
- package/src/shade/renderer/texture/draw_texture_as_rgba.d.ts.map +1 -1
- package/src/shade/renderer/texture/draw_texture_as_rgba.js +12 -10
- package/src/shade/renderer/texture/mipmaps/WebGPUMipmapGenerator.d.ts.map +1 -1
- package/src/shade/renderer/texture/mipmaps/WebGPUMipmapGenerator.js +5 -4
- package/src/shade/renderer/texture/source/ShadeImage.d.ts +4 -2
- package/src/shade/renderer/texture/source/ShadeImage.d.ts.map +1 -1
- package/src/shade/renderer/texture/source/ShadeImage.js +5 -0
- package/src/shade/renderer/texture/source/ShadeImageSerializationAdapter.d.ts +12 -0
- package/src/shade/renderer/texture/source/ShadeImageSerializationAdapter.d.ts.map +1 -1
- package/src/shade/renderer/texture/util/make_checkers_texture.d.ts +12 -5
- package/src/shade/renderer/texture/util/make_checkers_texture.d.ts.map +1 -1
- package/src/shade/renderer/texture/util/make_checkers_texture.js +5 -4
- package/src/shade/renderer/texture/virtual/VirtualTextureManager.d.ts +7 -2
- package/src/shade/renderer/texture/virtual/VirtualTextureManager.d.ts.map +1 -1
- package/src/shade/renderer/texture/virtual/VirtualTextureManager.js +8 -0
- package/src/shade/renderer/util/Uint32BufferSamplingStats.d.ts +2 -0
- package/src/shade/renderer/util/Uint32BufferSamplingStats.d.ts.map +1 -1
- package/src/shade/renderer/util/Uint32BufferSamplingStats.js +5 -0
- package/src/shade/renderer/view/GPUViewContext.d.ts +4 -1
- package/src/shade/renderer/view/GPUViewContext.d.ts.map +1 -1
- package/src/shade/renderer/view/GPUViewContext.js +11 -5
- package/src/shade/renderer/view/View.d.ts +6 -0
- package/src/shade/renderer/view/View.d.ts.map +1 -1
- package/src/shade/renderer/view/View.js +5 -0
- package/src/shade/renderer/view/ViewManager.d.ts +11 -1
- package/src/shade/renderer/view/ViewManager.d.ts.map +1 -1
- package/src/shade/renderer/view/ViewManager.js +7 -0
- package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.d.ts +6 -0
- package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.js +5 -0
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts +15 -6
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.js +11 -5
- package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts +5 -5
- package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.js +1 -1
- package/src/shade/renderer/volumetrics/SceneVolumetrics.d.ts +4 -0
- package/src/shade/renderer/volumetrics/SceneVolumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/SceneVolumetrics.js +4 -0
- package/src/shade/renderer/volumetrics/build_volumetrics_sun_shadow_transform.d.ts +23 -11
- package/src/shade/renderer/volumetrics/build_volumetrics_sun_shadow_transform.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/build_volumetrics_sun_shadow_transform.js +11 -10
- package/src/shade/renderer/volumetrics/graph_build_volumetrics.d.ts +37 -18
- package/src/shade/renderer/volumetrics/graph_build_volumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/graph_build_volumetrics.js +30 -26
- package/src/view/View.d.ts +8 -3
- package/src/view/View.d.ts.map +1 -1
- package/src/view/View.js +7 -2
- package/src/view/asset/AssetLoaderStatusView.d.ts +7 -3
- package/src/view/asset/AssetLoaderStatusView.d.ts.map +1 -1
- package/src/view/asset/AssetLoaderStatusView.js +3 -2
- package/src/view/common/ListView.d.ts +21 -15
- package/src/view/common/ListView.d.ts.map +1 -1
- package/src/view/common/ListView.js +8 -7
- package/src/view/common/LocalizedLabelView.d.ts +15 -7
- package/src/view/common/LocalizedLabelView.d.ts.map +1 -1
- package/src/view/common/LocalizedLabelView.js +7 -6
- package/src/view/common/TabbedView.d.ts +14 -6
- package/src/view/common/TabbedView.d.ts.map +1 -1
- package/src/view/common/TabbedView.js +6 -4
- package/src/view/controller/controls/BooleanVector3Control.d.ts +1 -1
- package/src/view/controller/controls/BooleanVector3Control.d.ts.map +1 -1
- package/src/view/controller/controls/GuiControl.d.ts +1 -1
- package/src/view/controller/controls/GuiControl.d.ts.map +1 -1
- package/src/view/controller/controls/NativeListController.d.ts +15 -7
- package/src/view/controller/controls/NativeListController.d.ts.map +1 -1
- package/src/view/controller/controls/NativeListController.js +7 -6
- package/src/view/controller/controls/Vector1Control.d.ts +1 -1
- package/src/view/controller/controls/Vector1Control.d.ts.map +1 -1
- package/src/view/currency/CompositeCurrencyLabelView.d.ts +10 -5
- package/src/view/currency/CompositeCurrencyLabelView.d.ts.map +1 -1
- package/src/view/currency/CompositeCurrencyLabelView.js +4 -3
- package/src/view/currency/CurrencyDenominationLabelView.d.ts +7 -3
- package/src/view/currency/CurrencyDenominationLabelView.d.ts.map +1 -1
- package/src/view/currency/CurrencyDenominationLabelView.js +3 -2
- package/src/view/elements/CheckboxView.d.ts +7 -3
- package/src/view/elements/CheckboxView.d.ts.map +1 -1
- package/src/view/elements/CheckboxView.js +3 -2
- package/src/view/elements/DropDownSelectionView.d.ts +9 -4
- package/src/view/elements/DropDownSelectionView.d.ts.map +1 -1
- package/src/view/elements/DropDownSelectionView.js +3 -2
- package/src/view/elements/EmptyView.d.ts +29 -13
- package/src/view/elements/EmptyView.d.ts.map +1 -1
- package/src/view/elements/EmptyView.js +13 -11
- package/src/view/elements/SimpleWindow.d.ts +1 -1
- package/src/view/elements/SimpleWindow.d.ts.map +1 -1
- package/src/view/elements/button/ButtonView.d.ts +15 -7
- package/src/view/elements/button/ButtonView.d.ts.map +1 -1
- package/src/view/elements/button/ButtonView.js +7 -6
- package/src/view/elements/image/ImageView.d.ts +7 -3
- package/src/view/elements/image/ImageView.d.ts.map +1 -1
- package/src/view/elements/image/ImageView.js +3 -2
- package/src/view/elements/image/SvgImageView.d.ts +5 -2
- package/src/view/elements/image/SvgImageView.d.ts.map +1 -1
- package/src/view/elements/image/SvgImageView.js +2 -1
- package/src/view/elements/label/LabeledValueView.d.ts +14 -7
- package/src/view/elements/label/LabeledValueView.d.ts.map +1 -1
- package/src/view/elements/label/LabeledValueView.js +6 -5
- package/src/view/elements/progress/SmoothProgressBar.d.ts +14 -7
- package/src/view/elements/progress/SmoothProgressBar.d.ts.map +1 -1
- package/src/view/elements/progress/SmoothProgressBar.js +6 -5
- package/src/view/elements/progress/segmented/SegmentedResourceBarView.d.ts +9 -4
- package/src/view/elements/progress/segmented/SegmentedResourceBarView.d.ts.map +1 -1
- package/src/view/elements/progress/segmented/SegmentedResourceBarView.js +4 -3
- package/src/view/elements/radial/RadialMenu.d.ts +19 -9
- package/src/view/elements/radial/RadialMenu.d.ts.map +1 -1
- package/src/view/elements/radial/RadialMenu.js +9 -8
- package/src/view/elements/radial/RadialMenuElementDefinition.d.ts +63 -31
- package/src/view/elements/radial/RadialMenuElementDefinition.d.ts.map +1 -1
- package/src/view/elements/radial/RadialMenuElementDefinition.js +30 -28
- package/src/view/elements/radial/RadialProgressView.d.ts +1 -1
- package/src/view/elements/radial/RadialProgressView.d.ts.map +1 -1
- package/src/view/elements/radial/RadialText.d.ts +18 -10
- package/src/view/elements/radial/RadialText.d.ts.map +1 -1
- package/src/view/elements/radial/RadialText.js +7 -6
- package/src/view/elements/tiles2d/Tile.d.ts +12 -6
- package/src/view/elements/tiles2d/Tile.d.ts.map +1 -1
- package/src/view/elements/tiles2d/Tile.js +4 -3
- package/src/view/elements/tiles2d/TileGrid.d.ts +23 -10
- package/src/view/elements/tiles2d/TileGrid.d.ts.map +1 -1
- package/src/view/elements/tiles2d/TileGrid.js +10 -9
- package/src/view/elements/video/VideoView.d.ts +7 -3
- package/src/view/elements/video/VideoView.d.ts.map +1 -1
- package/src/view/elements/video/VideoView.js +3 -2
- package/src/view/game/achievements/AchievementNotificationView.d.ts +7 -3
- package/src/view/game/achievements/AchievementNotificationView.d.ts.map +1 -1
- package/src/view/game/achievements/AchievementNotificationView.js +3 -2
- package/src/view/graphics/GraphicsContextFailureView.d.ts +11 -5
- package/src/view/graphics/GraphicsContextFailureView.d.ts.map +1 -1
- package/src/view/graphics/GraphicsContextFailureView.js +5 -4
- package/src/view/interaction/InteractionCommand.d.ts +11 -5
- package/src/view/interaction/InteractionCommand.d.ts.map +1 -1
- package/src/view/interaction/InteractionCommand.js +5 -4
- package/src/view/interaction/InterfaceCommand.d.ts +32 -15
- package/src/view/interaction/InterfaceCommand.d.ts.map +1 -1
- package/src/view/interaction/InterfaceCommand.js +15 -13
- package/src/view/interaction/createInterfaceCommandButton.d.ts +9 -4
- package/src/view/interaction/createInterfaceCommandButton.d.ts.map +1 -1
- package/src/view/interaction/createInterfaceCommandButton.js +4 -3
- package/src/view/layout/DockPanel.d.ts +11 -5
- package/src/view/layout/DockPanel.d.ts.map +1 -1
- package/src/view/layout/DockPanel.js +5 -4
- package/src/view/layout/DrawerView.d.ts +7 -3
- package/src/view/layout/DrawerView.d.ts.map +1 -1
- package/src/view/layout/DrawerView.js +3 -2
- package/src/view/layout/FloatingPanelView.d.ts +7 -3
- package/src/view/layout/FloatingPanelView.d.ts.map +1 -1
- package/src/view/layout/FloatingPanelView.js +3 -2
- package/src/view/layout/SplitView.d.ts +11 -5
- package/src/view/layout/SplitView.d.ts.map +1 -1
- package/src/view/layout/SplitView.js +5 -4
- package/src/view/math/FunctionGraphView.d.ts +8 -4
- package/src/view/math/FunctionGraphView.d.ts.map +1 -1
- package/src/view/math/FunctionGraphView.js +3 -2
- package/src/view/minimap/MinimapCanvasView.d.ts +10 -4
- package/src/view/minimap/MinimapCanvasView.d.ts.map +1 -1
- package/src/view/minimap/MinimapCanvasView.js +4 -3
- package/src/view/minimap/dom/MinimapCameraView.d.ts +2 -1
- package/src/view/minimap/dom/MinimapCameraView.d.ts.map +1 -1
- package/src/view/minimap/dom/MinimapMarkerView.d.ts +31 -9
- package/src/view/minimap/dom/MinimapMarkerView.d.ts.map +1 -1
- package/src/view/minimap/dom/MinimapTerrainView.d.ts +9 -4
- package/src/view/minimap/dom/MinimapTerrainView.d.ts.map +1 -1
- package/src/view/minimap/dom/MinimapTerrainView.js +3 -2
- package/src/view/task/TaskProgressView.d.ts +7 -3
- package/src/view/task/TaskProgressView.d.ts.map +1 -1
- package/src/view/task/TaskProgressView.js +3 -2
- package/src/view/tooltip/DomTooltipManager.d.ts +6 -0
- package/src/view/tooltip/DomTooltipManager.d.ts.map +1 -1
- package/src/view/tooltip/DomTooltipManager.js +5 -0
- package/src/view/tooltip/DomTooltipObserver.d.ts +4 -0
- package/src/view/tooltip/DomTooltipObserver.d.ts.map +1 -1
- package/src/view/tooltip/DomTooltipObserver.js +4 -0
- package/src/view/tooltip/TooltipManager.d.ts +6 -0
- package/src/view/tooltip/TooltipManager.d.ts.map +1 -1
- package/src/view/tooltip/TooltipManager.js +5 -0
- package/src/view/tooltip/TooltipView.d.ts +7 -3
- package/src/view/tooltip/TooltipView.d.ts.map +1 -1
- package/src/view/tooltip/TooltipView.js +5 -1
- package/src/view/tooltip/VisualTip.d.ts +6 -0
- package/src/view/tooltip/VisualTip.d.ts.map +1 -1
- package/src/view/tooltip/VisualTip.js +5 -0
- package/src/view/tooltip/gml/GMLEngine.d.ts +14 -2
- package/src/view/tooltip/gml/GMLEngine.d.ts.map +1 -1
- package/src/view/tooltip/gml/GMLEngine.js +8 -0
- package/src/view/tooltip/gml/compiler/GMLReferenceCompiler.d.ts +10 -0
- package/src/view/tooltip/gml/compiler/GMLReferenceCompiler.d.ts.map +1 -1
- package/src/view/tooltip/gml/compiler/GMLReferenceCompiler.js +7 -0
- package/src/view/util/DomSizeObserver.d.ts +9 -2
- package/src/view/util/DomSizeObserver.d.ts.map +1 -1
- package/src/view/util/DomSizeObserver.js +6 -1
- package/src/shade/renderer/geometry/virtual/format/prototypeVGEOFormatViewer.d.ts +0 -395
- package/src/shade/renderer/geometry/virtual/format/prototypeVGEOFormatViewer.d.ts.map +0 -1
- package/src/shade/renderer/particles/ParticleRenderMode.d.ts +0 -19
- package/src/shade/renderer/particles/ParticleRenderMode.d.ts.map +0 -1
- package/src/shade/renderer/particles/ParticleRenderMode.js +0 -33
- package/src/shade/renderer/particles/graph_particles_billboard.d.ts +0 -37
- package/src/shade/renderer/particles/graph_particles_billboard.d.ts.map +0 -1
- package/src/shade/renderer/particles/graph_particles_billboard.js +0 -93
- package/src/shade/renderer/particles/sort/graph_particle_sort.d.ts +0 -55
- package/src/shade/renderer/particles/sort/graph_particle_sort.d.ts.map +0 -1
- package/src/shade/renderer/particles/sort/graph_particle_sort.js +0 -130
- package/src/shade/renderer/particles/sort/particle_counting_sort.d.ts +0 -26
- package/src/shade/renderer/particles/sort/particle_counting_sort.d.ts.map +0 -1
- package/src/shade/renderer/particles/sort/particle_counting_sort.js +0 -51
- package/src/shade/renderer/particles/sort/shader_particle_sort.d.ts +0 -14
- package/src/shade/renderer/particles/sort/shader_particle_sort.d.ts.map +0 -1
- package/src/shade/renderer/particles/sort/shader_particle_sort.js +0 -223
|
@@ -0,0 +1,449 @@
|
|
|
1
|
+
import { quat3_multiply } from "../../../../core/geom/3d/quaternion/quat3_multiply.js";
|
|
2
|
+
import { quat3_nlerp } from "../../../../core/geom/3d/quaternion/quat3_nlerp.js";
|
|
3
|
+
import { quat3_shortest_arc } from "../../../../core/geom/3d/quaternion/quat3_shortest_arc.js";
|
|
4
|
+
import { v3_quaternion_apply } from "../../../../core/geom/vec3/v3_quaternion_apply.js";
|
|
5
|
+
import {
|
|
6
|
+
v3_quaternion_apply_inverse
|
|
7
|
+
} from "../../../../core/geom/vec3/v3_quaternion_apply_inverse.js";
|
|
8
|
+
import { t64_announce_change } from "../../../ecs/transform/t64_announce_change.js";
|
|
9
|
+
import {
|
|
10
|
+
TRANSFORM64_ROTATION_OFFSET,
|
|
11
|
+
TRANSFORM64_TRANSLATION_OFFSET
|
|
12
|
+
} from "../../../ecs/transform/Transform64.js";
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* # Putting the answer back — §11.1
|
|
16
|
+
*
|
|
17
|
+
* Position directly, rotation derived from the direction to the child,
|
|
18
|
+
* interpolated between the parent-driven and the child-driven orientation —
|
|
19
|
+
* which is what keeps a two-link chain from looking hinged.
|
|
20
|
+
*
|
|
21
|
+
* ## Rotation is a swing on top of the animated orientation
|
|
22
|
+
*
|
|
23
|
+
* A particle has a position and no orientation, so an entity's rotation has to
|
|
24
|
+
* be reconstructed. The reconstruction here is the minimal rotation carrying
|
|
25
|
+
* the link's **animated** direction onto its **simulated** one, composed onto
|
|
26
|
+
* the animated orientation:
|
|
27
|
+
*
|
|
28
|
+
* q_node = swing(d_animated → d_simulated) ⊗ q_animated
|
|
29
|
+
*
|
|
30
|
+
* Twist about the link is therefore inherited from the animation rather than
|
|
31
|
+
* invented, which is right: a chain of particles carries no twist degree of
|
|
32
|
+
* freedom and any twist this code produced would be a fabrication. And the
|
|
33
|
+
* whole thing degenerates correctly — at `blend = 0` the simulated direction
|
|
34
|
+
* *is* the animated one, the swing is the identity, and the write-back
|
|
35
|
+
* reproduces the authored pose exactly.
|
|
36
|
+
*
|
|
37
|
+
* A node with a parent and children has two links and two swings, and takes the
|
|
38
|
+
* half-way rotation between them. A leaf has only its parent's. That is
|
|
39
|
+
* §11.1's "interpolated between parent-driven and child-driven orientation",
|
|
40
|
+
* and without it every link points at its child and a two-link chain reads as a
|
|
41
|
+
* hinge with a corner in it.
|
|
42
|
+
*
|
|
43
|
+
* ## Both transforms are written, and that is what makes ordering harmless
|
|
44
|
+
*
|
|
45
|
+
* Each simulated node gets its **world** `Transform64` and its **local**
|
|
46
|
+
* `TransformAttachment#transform`, and the two agree. Writing only the world
|
|
47
|
+
* one is cheaper and is a trap: the attachment system recomposes a child from
|
|
48
|
+
* its local whenever the parent announces, so any announcement arriving after
|
|
49
|
+
* cloth had written would replace the simulated pose with the authored one for
|
|
50
|
+
* the rest of the frame — and where in the fixed step cloth ran would be a
|
|
51
|
+
* correctness question. With the local written too, **a recomposition
|
|
52
|
+
* reproduces exactly what cloth just wrote**, and cloth's placement costs at
|
|
53
|
+
* worst a shape one fixed step stale.
|
|
54
|
+
*
|
|
55
|
+
* That is also the shape of the engine's own precedent:
|
|
56
|
+
* `InverseKinematicsSystem` reads world transforms the hierarchy has composed
|
|
57
|
+
* and writes local ones back, and §11.2's rig path writes
|
|
58
|
+
* `Node3D.transform_local` for the same reason — a local transform is what a
|
|
59
|
+
* joint angle *is*.
|
|
60
|
+
*
|
|
61
|
+
* A node's local transform is its pose relative to its **parent's**, so this
|
|
62
|
+
* needs the parent's reconstructed rotation as well as its position — which is
|
|
63
|
+
* what {@link ClothInstance#blended_rotation} is for, and why the pass runs in
|
|
64
|
+
* the walk's breadth-first order.
|
|
65
|
+
*
|
|
66
|
+
* The authored pose is not lost by being overwritten: it was captured at seed
|
|
67
|
+
* and lives in the cloth (`cloth_seed_subtree.js`), which is what `blend = 0`
|
|
68
|
+
* returns to and what the leash centres are measured from.
|
|
69
|
+
*
|
|
70
|
+
* ## What is announced
|
|
71
|
+
*
|
|
72
|
+
* Nothing on a simulated node: every one of its simulated children has already
|
|
73
|
+
* been written by this same pass, so the cascade would recompute a pose that is
|
|
74
|
+
* already correct, once per level, quadratically for a chain. What *is*
|
|
75
|
+
* announced is each pruned boundary — the root of a `ClothExclude` subtree, or
|
|
76
|
+
* a nested `Cloth`'s anchor — which this pass poses by hand against the link it
|
|
77
|
+
* hangs from, so everything below the cut follows the simulation through the
|
|
78
|
+
* ordinary attachment cascade and nothing above it is disturbed.
|
|
79
|
+
*
|
|
80
|
+
* @author Alex Goldring
|
|
81
|
+
* @copyright Company Named Limited (c) 2026
|
|
82
|
+
*/
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Scratch for one node's swing quaternions. Module-level: the write-back
|
|
86
|
+
* allocates nothing.
|
|
87
|
+
* @type {Float64Array}
|
|
88
|
+
* @private
|
|
89
|
+
*/
|
|
90
|
+
const SWING = new Float64Array(12);
|
|
91
|
+
|
|
92
|
+
/** Where the parent-driven swing sits in {@link SWING}. @private */
|
|
93
|
+
const SWING_PARENT = 0;
|
|
94
|
+
/** Where the child-driven swing sits in {@link SWING}. @private */
|
|
95
|
+
const SWING_CHILD = 4;
|
|
96
|
+
/** Where the blended swing, and then the local rotation, sit. @private */
|
|
97
|
+
const SWING_OUT = 8;
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* @type {Float64Array}
|
|
101
|
+
* @private
|
|
102
|
+
*/
|
|
103
|
+
const DIRECTION = new Float64Array(12);
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Write one cloth's solved pose onto its subtree.
|
|
107
|
+
*
|
|
108
|
+
* @param {ClothInstance} instance
|
|
109
|
+
* @param {EntityComponentDataset} ecd
|
|
110
|
+
* @returns {void}
|
|
111
|
+
*/
|
|
112
|
+
export function cloth_write_back(instance, ecd) {
|
|
113
|
+
const node_count = instance.node_count;
|
|
114
|
+
|
|
115
|
+
const state = instance.state;
|
|
116
|
+
const particle_of_node = instance.particle_of_node;
|
|
117
|
+
|
|
118
|
+
const blended = instance.blended_position;
|
|
119
|
+
const animated = instance.animated_position;
|
|
120
|
+
|
|
121
|
+
let blend = instance.cloth.blend;
|
|
122
|
+
|
|
123
|
+
if (blend < 0) {
|
|
124
|
+
blend = 0;
|
|
125
|
+
} else if (blend > 1) {
|
|
126
|
+
blend = 1;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
const position = state.position;
|
|
130
|
+
|
|
131
|
+
for (let node = 0; node < node_count; node++) {
|
|
132
|
+
const p = particle_of_node[node] * 3;
|
|
133
|
+
const n = node * 3;
|
|
134
|
+
|
|
135
|
+
blended[n] = animated[n] + blend * (position[p] - animated[n]);
|
|
136
|
+
blended[n + 1] = animated[n + 1] + blend * (position[p + 1] - animated[n + 1]);
|
|
137
|
+
blended[n + 2] = animated[n + 2] + blend * (position[p + 2] - animated[n + 2]);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
const anchor = instance.node_transform[0];
|
|
141
|
+
|
|
142
|
+
const ax = anchor[TRANSFORM64_TRANSLATION_OFFSET];
|
|
143
|
+
const ay = anchor[TRANSFORM64_TRANSLATION_OFFSET + 1];
|
|
144
|
+
const az = anchor[TRANSFORM64_TRANSLATION_OFFSET + 2];
|
|
145
|
+
|
|
146
|
+
const aqx = anchor[TRANSFORM64_ROTATION_OFFSET];
|
|
147
|
+
const aqy = anchor[TRANSFORM64_ROTATION_OFFSET + 1];
|
|
148
|
+
const aqz = anchor[TRANSFORM64_ROTATION_OFFSET + 2];
|
|
149
|
+
const aqw = anchor[TRANSFORM64_ROTATION_OFFSET + 3];
|
|
150
|
+
|
|
151
|
+
const parent = instance.node_parent;
|
|
152
|
+
const rotation = instance.animated_rotation;
|
|
153
|
+
|
|
154
|
+
const local_rotation = instance.blended_rotation;
|
|
155
|
+
|
|
156
|
+
// The anchor is the origin of the frame it anchors, so its reconstructed
|
|
157
|
+
// rotation — which its children's local transforms are relative to — is the
|
|
158
|
+
// identity rather than anything read back off it.
|
|
159
|
+
local_rotation[0] = 0;
|
|
160
|
+
local_rotation[1] = 0;
|
|
161
|
+
local_rotation[2] = 0;
|
|
162
|
+
local_rotation[3] = 1;
|
|
163
|
+
|
|
164
|
+
for (let node = 1; node < node_count; node++) {
|
|
165
|
+
const transform = instance.node_transform[node];
|
|
166
|
+
|
|
167
|
+
const n = node * 3;
|
|
168
|
+
|
|
169
|
+
v3_quaternion_apply(
|
|
170
|
+
transform, TRANSFORM64_TRANSLATION_OFFSET,
|
|
171
|
+
blended[n], blended[n + 1], blended[n + 2],
|
|
172
|
+
aqx, aqy, aqz, aqw
|
|
173
|
+
);
|
|
174
|
+
|
|
175
|
+
transform[TRANSFORM64_TRANSLATION_OFFSET] += ax;
|
|
176
|
+
transform[TRANSFORM64_TRANSLATION_OFFSET + 1] += ay;
|
|
177
|
+
transform[TRANSFORM64_TRANSLATION_OFFSET + 2] += az;
|
|
178
|
+
|
|
179
|
+
const has_parent_swing = link_swing(instance, parent[node], node, SWING_PARENT);
|
|
180
|
+
const has_child_swing = children_swing(instance, node, SWING_CHILD);
|
|
181
|
+
|
|
182
|
+
let swing = SWING_OUT;
|
|
183
|
+
|
|
184
|
+
if (has_parent_swing && has_child_swing) {
|
|
185
|
+
quat3_nlerp(
|
|
186
|
+
SWING, SWING_OUT,
|
|
187
|
+
SWING[SWING_PARENT], SWING[SWING_PARENT + 1], SWING[SWING_PARENT + 2], SWING[SWING_PARENT + 3],
|
|
188
|
+
SWING[SWING_CHILD], SWING[SWING_CHILD + 1], SWING[SWING_CHILD + 2], SWING[SWING_CHILD + 3],
|
|
189
|
+
0.5
|
|
190
|
+
);
|
|
191
|
+
} else if (has_child_swing) {
|
|
192
|
+
swing = SWING_CHILD;
|
|
193
|
+
} else {
|
|
194
|
+
// A leaf, or a link so short its direction is meaningless — in
|
|
195
|
+
// which case `link_swing` left the identity there.
|
|
196
|
+
swing = SWING_PARENT;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
// Animated orientation first, then the swing: the swing is expressed in
|
|
200
|
+
// the cloth's local frame, and the anchor's rotation carries the pair
|
|
201
|
+
// out to world.
|
|
202
|
+
quat3_multiply(
|
|
203
|
+
local_rotation, node * 4,
|
|
204
|
+
SWING[swing], SWING[swing + 1], SWING[swing + 2], SWING[swing + 3],
|
|
205
|
+
rotation[node * 4], rotation[node * 4 + 1], rotation[node * 4 + 2], rotation[node * 4 + 3]
|
|
206
|
+
);
|
|
207
|
+
|
|
208
|
+
quat3_multiply(
|
|
209
|
+
transform, TRANSFORM64_ROTATION_OFFSET,
|
|
210
|
+
aqx, aqy, aqz, aqw,
|
|
211
|
+
local_rotation[node * 4], local_rotation[node * 4 + 1],
|
|
212
|
+
local_rotation[node * 4 + 2], local_rotation[node * 4 + 3]
|
|
213
|
+
);
|
|
214
|
+
|
|
215
|
+
transform.updateMatrix();
|
|
216
|
+
|
|
217
|
+
write_local(instance, node, parent[node]);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
pose_pruned(instance, ecd);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Express one node's solved pose relative to its parent's, and write it into
|
|
225
|
+
* the entity's `TransformAttachment`.
|
|
226
|
+
*
|
|
227
|
+
* Both poses are already in the cloth's own frame, so the parent's inverse is
|
|
228
|
+
* its reconstructed rotation conjugated — there is no matrix inverse here and
|
|
229
|
+
* no scale, which is the same rigid-pose convention the colliders use.
|
|
230
|
+
*
|
|
231
|
+
* @param {ClothInstance} instance
|
|
232
|
+
* @param {number} node
|
|
233
|
+
* @param {number} parent
|
|
234
|
+
* @private
|
|
235
|
+
*/
|
|
236
|
+
function write_local(instance, node, parent) {
|
|
237
|
+
const attachment = instance.node_attachment[node];
|
|
238
|
+
|
|
239
|
+
if (attachment === undefined || attachment === null) {
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
const blended = instance.blended_position;
|
|
244
|
+
const rotation = instance.blended_rotation;
|
|
245
|
+
|
|
246
|
+
const local = attachment.transform;
|
|
247
|
+
|
|
248
|
+
const pqx = rotation[parent * 4];
|
|
249
|
+
const pqy = rotation[parent * 4 + 1];
|
|
250
|
+
const pqz = rotation[parent * 4 + 2];
|
|
251
|
+
const pqw = rotation[parent * 4 + 3];
|
|
252
|
+
|
|
253
|
+
v3_quaternion_apply_inverse(
|
|
254
|
+
local, TRANSFORM64_TRANSLATION_OFFSET,
|
|
255
|
+
blended[node * 3] - blended[parent * 3],
|
|
256
|
+
blended[node * 3 + 1] - blended[parent * 3 + 1],
|
|
257
|
+
blended[node * 3 + 2] - blended[parent * 3 + 2],
|
|
258
|
+
pqx, pqy, pqz, pqw
|
|
259
|
+
);
|
|
260
|
+
|
|
261
|
+
quat3_multiply(
|
|
262
|
+
local, TRANSFORM64_ROTATION_OFFSET,
|
|
263
|
+
-pqx, -pqy, -pqz, pqw,
|
|
264
|
+
rotation[node * 4], rotation[node * 4 + 1], rotation[node * 4 + 2], rotation[node * 4 + 3]
|
|
265
|
+
);
|
|
266
|
+
|
|
267
|
+
// `multiplyTransforms` reads the matrix, not the components, so a local
|
|
268
|
+
// transform that is not refreshed here composes the pose it had last time.
|
|
269
|
+
local.updateMatrix();
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* Swing of the link from `from` to `to`, into `SWING` at `out`.
|
|
274
|
+
*
|
|
275
|
+
* @param {ClothInstance} instance
|
|
276
|
+
* @param {number} from node
|
|
277
|
+
* @param {number} to node
|
|
278
|
+
* @param {number} out
|
|
279
|
+
* @returns {boolean} false when the link is too short to carry a direction, in
|
|
280
|
+
* which case the identity was written
|
|
281
|
+
* @private
|
|
282
|
+
*/
|
|
283
|
+
function link_swing(instance, from, to, out) {
|
|
284
|
+
const animated = instance.animated_position;
|
|
285
|
+
const blended = instance.blended_position;
|
|
286
|
+
|
|
287
|
+
const a = from * 3;
|
|
288
|
+
const b = to * 3;
|
|
289
|
+
|
|
290
|
+
const has_animated = unit(DIRECTION, 0,
|
|
291
|
+
animated[b] - animated[a], animated[b + 1] - animated[a + 1], animated[b + 2] - animated[a + 2]);
|
|
292
|
+
|
|
293
|
+
const has_blended = unit(DIRECTION, 3,
|
|
294
|
+
blended[b] - blended[a], blended[b + 1] - blended[a + 1], blended[b + 2] - blended[a + 2]);
|
|
295
|
+
|
|
296
|
+
if (!has_animated || !has_blended) {
|
|
297
|
+
identity(out);
|
|
298
|
+
|
|
299
|
+
return false;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
quat3_shortest_arc(
|
|
303
|
+
SWING, out,
|
|
304
|
+
DIRECTION[0], DIRECTION[1], DIRECTION[2],
|
|
305
|
+
DIRECTION[3], DIRECTION[4], DIRECTION[5]
|
|
306
|
+
);
|
|
307
|
+
|
|
308
|
+
return true;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* Swing of a node's outgoing links, averaged over its simulated children.
|
|
313
|
+
*
|
|
314
|
+
* The average is over **unit** directions rather than over child positions, so
|
|
315
|
+
* a fork whose two branches are of different lengths is not dominated by the
|
|
316
|
+
* longer one.
|
|
317
|
+
*
|
|
318
|
+
* @param {ClothInstance} instance
|
|
319
|
+
* @param {number} node
|
|
320
|
+
* @param {number} out
|
|
321
|
+
* @returns {boolean}
|
|
322
|
+
* @private
|
|
323
|
+
*/
|
|
324
|
+
function children_swing(instance, node, out) {
|
|
325
|
+
const start = instance.node_child_offset[node];
|
|
326
|
+
const end = instance.node_child_offset[node + 1];
|
|
327
|
+
|
|
328
|
+
if (start === end) {
|
|
329
|
+
identity(out);
|
|
330
|
+
|
|
331
|
+
return false;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
const animated = instance.animated_position;
|
|
335
|
+
const blended = instance.blended_position;
|
|
336
|
+
const child = instance.node_child;
|
|
337
|
+
|
|
338
|
+
const a = node * 3;
|
|
339
|
+
|
|
340
|
+
let anim_x = 0, anim_y = 0, anim_z = 0;
|
|
341
|
+
let sim_x = 0, sim_y = 0, sim_z = 0;
|
|
342
|
+
|
|
343
|
+
for (let i = start; i < end; i++) {
|
|
344
|
+
const b = child[i] * 3;
|
|
345
|
+
|
|
346
|
+
if (unit(DIRECTION, 6,
|
|
347
|
+
animated[b] - animated[a], animated[b + 1] - animated[a + 1], animated[b + 2] - animated[a + 2])) {
|
|
348
|
+
anim_x += DIRECTION[6];
|
|
349
|
+
anim_y += DIRECTION[7];
|
|
350
|
+
anim_z += DIRECTION[8];
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
if (unit(DIRECTION, 9,
|
|
354
|
+
blended[b] - blended[a], blended[b + 1] - blended[a + 1], blended[b + 2] - blended[a + 2])) {
|
|
355
|
+
sim_x += DIRECTION[9];
|
|
356
|
+
sim_y += DIRECTION[10];
|
|
357
|
+
sim_z += DIRECTION[11];
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
const has_animated = unit(DIRECTION, 0, anim_x, anim_y, anim_z);
|
|
362
|
+
const has_blended = unit(DIRECTION, 3, sim_x, sim_y, sim_z);
|
|
363
|
+
|
|
364
|
+
if (!has_animated || !has_blended) {
|
|
365
|
+
// Branches that cancel — a node with two children pointing opposite
|
|
366
|
+
// ways has no outgoing direction to speak of, and the parent link is a
|
|
367
|
+
// better answer than an arbitrary one.
|
|
368
|
+
identity(out);
|
|
369
|
+
|
|
370
|
+
return false;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
quat3_shortest_arc(
|
|
374
|
+
SWING, out,
|
|
375
|
+
DIRECTION[0], DIRECTION[1], DIRECTION[2],
|
|
376
|
+
DIRECTION[3], DIRECTION[4], DIRECTION[5]
|
|
377
|
+
);
|
|
378
|
+
|
|
379
|
+
return true;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
/**
|
|
383
|
+
* Pose the entities the walk pruned, and announce there.
|
|
384
|
+
*
|
|
385
|
+
* @param {ClothInstance} instance
|
|
386
|
+
* @param {EntityComponentDataset} ecd
|
|
387
|
+
* @private
|
|
388
|
+
*/
|
|
389
|
+
function pose_pruned(instance, ecd) {
|
|
390
|
+
const count = instance.pruned_count;
|
|
391
|
+
|
|
392
|
+
for (let i = 0; i < count; i++) {
|
|
393
|
+
const transform = instance.pruned_transform[i];
|
|
394
|
+
const attachment = instance.pruned_attachment[i];
|
|
395
|
+
|
|
396
|
+
if (transform === undefined || attachment === undefined) {
|
|
397
|
+
continue;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
transform.multiplyTransforms(
|
|
401
|
+
instance.node_transform[instance.pruned_parent[i]],
|
|
402
|
+
attachment.transform
|
|
403
|
+
);
|
|
404
|
+
|
|
405
|
+
// The one announcement this pass makes. Everything below a pruned
|
|
406
|
+
// boundary is outside the cloth and reaches its new pose through the
|
|
407
|
+
// ordinary attachment cascade; everything above it has already been
|
|
408
|
+
// written by hand.
|
|
409
|
+
t64_announce_change(ecd, instance.pruned_entity[i]);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
/**
|
|
414
|
+
* Normalise into `DIRECTION`, reporting whether there was a direction to find.
|
|
415
|
+
*
|
|
416
|
+
* @param {Float64Array} out
|
|
417
|
+
* @param {number} offset
|
|
418
|
+
* @param {number} x
|
|
419
|
+
* @param {number} y
|
|
420
|
+
* @param {number} z
|
|
421
|
+
* @returns {boolean}
|
|
422
|
+
* @private
|
|
423
|
+
*/
|
|
424
|
+
function unit(out, offset, x, y, z) {
|
|
425
|
+
const length_squared = x * x + y * y + z * z;
|
|
426
|
+
|
|
427
|
+
if (length_squared < 1e-24) {
|
|
428
|
+
return false;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
const inverse = 1 / Math.sqrt(length_squared);
|
|
432
|
+
|
|
433
|
+
out[offset] = x * inverse;
|
|
434
|
+
out[offset + 1] = y * inverse;
|
|
435
|
+
out[offset + 2] = z * inverse;
|
|
436
|
+
|
|
437
|
+
return true;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
/**
|
|
441
|
+
* @param {number} offset
|
|
442
|
+
* @private
|
|
443
|
+
*/
|
|
444
|
+
function identity(offset) {
|
|
445
|
+
SWING[offset] = 0;
|
|
446
|
+
SWING[offset + 1] = 0;
|
|
447
|
+
SWING[offset + 2] = 0;
|
|
448
|
+
SWING[offset + 3] = 1;
|
|
449
|
+
}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
# Cloth playgrounds
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
npm run dev --workspace @woosh/meep-engine
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
Two pages, one directory, one layer of the system each. (Vite takes the next
|
|
8
|
+
free port if 5173 is busy — the terminal says which.)
|
|
9
|
+
|
|
10
|
+
| | |
|
|
11
|
+
|---|---|
|
|
12
|
+
| [`index.html`](./index.html) | **the solver, M0.** `cloth_step` over a `ClothState`, no ECS at all. |
|
|
13
|
+
| [`rig.html`](./rig.html) | **the entity subtree, M1.** A real `EntityManager`, real entities, `ClothSystem` walking and writing back. |
|
|
14
|
+
|
|
15
|
+
Both are at
|
|
16
|
+
`http://localhost:5173/src/engine/physics/cloth/playground/<page>`.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# The solver page — `index.html`
|
|
21
|
+
|
|
22
|
+
## What it is
|
|
23
|
+
|
|
24
|
+
A `while (true) { cloth_step(...) }` with a canvas attached. Every point on
|
|
25
|
+
screen is a `Float32Array` position out of `ClothState`, projected by this page;
|
|
26
|
+
every control writes straight into an argument `cloth_step` takes; the tripwire
|
|
27
|
+
is the same `find_non_finite_cloth_state` the step asserts on. There is no ECS,
|
|
28
|
+
no worker and no renderer between you and the solver, because at M0 none of
|
|
29
|
+
those exist yet.
|
|
30
|
+
|
|
31
|
+
It is here because M0's findings are behavioural. "A penalty stiffer than a few
|
|
32
|
+
times `m/h²` sustains a limit cycle" is a sentence; watching a curtain breathe
|
|
33
|
+
in and out forever while the energy trace refuses to fall is the thing itself.
|
|
34
|
+
|
|
35
|
+
## Controls
|
|
36
|
+
|
|
37
|
+
| | |
|
|
38
|
+
|---|---|
|
|
39
|
+
| drag a particle | pins it and pulls — the solver moves everything around it |
|
|
40
|
+
| drag the background | orbit |
|
|
41
|
+
| shift-drag, or right-drag | pan |
|
|
42
|
+
| wheel | zoom |
|
|
43
|
+
|
|
44
|
+
**Shape** and **Material** rebuild the cloth. **Budget**, **World** and the
|
|
45
|
+
**Solver constants** are read fresh every step, so dragging one of those sliders
|
|
46
|
+
while it runs changes the thing you are looking at.
|
|
47
|
+
|
|
48
|
+
## The readout
|
|
49
|
+
|
|
50
|
+
- **step** — milliseconds for one `cloth_step`, with the window minimum, against
|
|
51
|
+
§17's 2 ms budget as a bar. The minimum is the honest number; see
|
|
52
|
+
`MEASUREMENTS.md` §7.
|
|
53
|
+
- **residual** — worst `|C|/L₀` across the stretch rows. §7 P2's rubber number.
|
|
54
|
+
- **kinetic energy**, with a log trace beneath it — the single most informative
|
|
55
|
+
thing on the page. A cloth that is settling walks it off the bottom of the
|
|
56
|
+
graph. A cloth that is not, does not, and no amount of waiting changes that.
|
|
57
|
+
- **colours** — how many the particle graph needed. §5.4 budgets 8–10 for a
|
|
58
|
+
garment; a regular sheet comes out at 4.
|
|
59
|
+
- **finite** — the tripwire. If a solve goes non-finite, or a Hessian pivot
|
|
60
|
+
comes out non-positive, the page stops and shows what said so rather than
|
|
61
|
+
painting over it.
|
|
62
|
+
|
|
63
|
+
## The presets, and what each one is for
|
|
64
|
+
|
|
65
|
+
- **cape, hard rows** — the shipping configuration. Watch the energy trace fall
|
|
66
|
+
off the bottom and stay there.
|
|
67
|
+
- **cape, soft rows** — the same cape with a 10 kN/m penalty, which is 740× its
|
|
68
|
+
own `m/h²`. It never rests, and the step is *adding* energy to it, not merely
|
|
69
|
+
failing to remove it. This is what makes a soft stretch row unusable for real
|
|
70
|
+
fabric stiffnesses.
|
|
71
|
+
- **cape, soft and slack** — the same row at 100 N/m, which is 7× `m/h²` and
|
|
72
|
+
inside the dissipative band. It settles. The difference between this preset
|
|
73
|
+
and the one above is the whole finding.
|
|
74
|
+
- **chain, 40 links** — depth is how far a constraint force travels in one
|
|
75
|
+
sweep. Drop `iterations` to 1 and watch the bottom lag.
|
|
76
|
+
- **flag in the wind** — a gusting push, not §10's fluid coupling (that is M6).
|
|
77
|
+
- **the §17 workload** — 1,024 particles at 2×4, the configuration the budget
|
|
78
|
+
was written against and missed by 1.75×.
|
|
79
|
+
- **α·γ = 0.6** — past the divergence cliff. The tripwire fires within a second
|
|
80
|
+
or two, which is the point.
|
|
81
|
+
- **one iteration** — §5.1's claim that the solver is stable at one iteration.
|
|
82
|
+
Softer, not broken.
|
|
83
|
+
|
|
84
|
+
## What it does not do
|
|
85
|
+
|
|
86
|
+
Collision, self-collision, slack, tethers, backstops, friction and wind-as-fluid
|
|
87
|
+
are all rows the design has and M0 does not (§6, §17). Neither does damping:
|
|
88
|
+
`ClothDynamics#damping` is M1, and its absence is why the soft presets behave as
|
|
89
|
+
they do.
|
|
90
|
+
|
|
91
|
+
## Notes
|
|
92
|
+
|
|
93
|
+
The scene builder here is deliberately not the `__fixtures__` grid the specs and
|
|
94
|
+
the measurement scripts share — `__fixtures__` is excluded from the published
|
|
95
|
+
package and this page is not, so importing across that line would ship a broken
|
|
96
|
+
module.
|
|
97
|
+
|
|
98
|
+
`globalThis.cloth_playground` exposes `{ control, camera, rebuild, step_once,
|
|
99
|
+
scene }` for a driver script. The browser pages in this tree get screenshot from
|
|
100
|
+
headless Chrome about as often as they get looked at; note that
|
|
101
|
+
`requestAnimationFrame` does not fire while the pane is hidden, so a driver
|
|
102
|
+
should call `step_once` itself rather than waiting for frames.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
# The rig page — `rig.html`
|
|
107
|
+
|
|
108
|
+
## What it is
|
|
109
|
+
|
|
110
|
+
The same idea one layer up. A real `EntityManager` with a
|
|
111
|
+
`TransformAttachmentSystem` and a `ClothSystem` in it, entities carrying
|
|
112
|
+
`TransformAttachment` and `Transform64`, and a `Cloth` component on top of the
|
|
113
|
+
pile. Every point on screen is an entity's **world transform**, read back out
|
|
114
|
+
of the component the system wrote it into — so what you are looking at is the
|
|
115
|
+
write-back, not the solver.
|
|
116
|
+
|
|
117
|
+
It exists because M1's claims are about a *hierarchy* rather than about an
|
|
118
|
+
array. "Several hanging parts under one `Cloth` are one coupled solve" is a
|
|
119
|
+
sentence; five strands moving together above a readout that says **1 cloth, 91
|
|
120
|
+
particles, 3 colours** is the thing itself.
|
|
121
|
+
|
|
122
|
+
## The rigs
|
|
123
|
+
|
|
124
|
+
- **rope** — one strand. The simplest thing the subtree walk does.
|
|
125
|
+
- **chain** — the `CHAIN` library entry, which is the deepest budget in the
|
|
126
|
+
library at 2×6. Drop `iterations` to 1 and watch the bottom lag.
|
|
127
|
+
- **multi-strand rig** — five strands under **one** `Cloth`. §3.1's claim, and
|
|
128
|
+
the reason the readout counts cloths separately from particles.
|
|
129
|
+
- **hanging sign** — two ropes off a crossbar, with the sign itself carrying a
|
|
130
|
+
`ClothExclude`. It is drawn in amber, it is not a particle, and it follows the
|
|
131
|
+
link it hangs from because the write-back poses it by hand and announces
|
|
132
|
+
there.
|
|
133
|
+
- **nested cloths** — a rope with a second `Cloth` partway down. Two solves; the
|
|
134
|
+
outer one prunes the inner anchor and runs first, so the inner cloth reads an
|
|
135
|
+
anchor that is already where this step put it.
|
|
136
|
+
|
|
137
|
+
## The readout
|
|
138
|
+
|
|
139
|
+
- **cloths / particles** — the coupled-solve claim, as two numbers.
|
|
140
|
+
- **rows s / b / leash** — the stretch table (which carries the link rows, the
|
|
141
|
+
strain limits and the chain's skip rows), the bend table, and M1's leash rows.
|
|
142
|
+
- **worst |x−anchor| / d_geo** — §7 P2's rubber number. Above 1 is a cloth
|
|
143
|
+
reaching further than its own geometry allows.
|
|
144
|
+
- **asleep** — §7 P5. A settled cloth stops being stepped *and* stops being
|
|
145
|
+
written back, which is what makes its pose bit-identical rather than merely
|
|
146
|
+
stable. Turn `never sleep` on to watch it settle instead of watching it stop.
|
|
147
|
+
- **fixed step** — milliseconds for one `ClothSystem#fixedUpdate`. Treat it as
|
|
148
|
+
an indication only: browser `performance.now()` is deliberately coarse, and a
|
|
149
|
+
hidden pane throttles the page. `__fixtures__/cloth_library_bench.mjs` under
|
|
150
|
+
node is the number that means something.
|
|
151
|
+
|
|
152
|
+
## Driving the anchor
|
|
153
|
+
|
|
154
|
+
§7 P6 and P7 are both about what the *anchor* does, so that is what the
|
|
155
|
+
**motion** control drives — and it is the only thing on the page that writes a
|
|
156
|
+
transform the cloth does not own, standing in for whatever poses an anchor in a
|
|
157
|
+
real scene.
|
|
158
|
+
|
|
159
|
+
- **sprint** is P7's own profile: a square wave in velocity. Move `inertia` from
|
|
160
|
+
1 to 0 while it runs and the cloth stops feeling the locomotion entirely.
|
|
161
|
+
- **teleport 1 km** is P6. With `TeleportKeep` off the cloth re-seeds at the
|
|
162
|
+
animated pose and the stabilisation window ramps its velocity limit back from
|
|
163
|
+
nothing; with it on, the shape comes across the jump — which in a frame
|
|
164
|
+
anchored to the cloth's own entity is the solver doing nothing at all.
|
|
165
|
+
|
|
166
|
+
## The views
|
|
167
|
+
|
|
168
|
+
- **links** — the entities and what connects them.
|
|
169
|
+
- **animated pose** — the pose the cloth is leashed to, faint and blue. The gap
|
|
170
|
+
between the two lines is what `slack` bounds; drag `slack` to 0 and they
|
|
171
|
+
become one line, which is §3.4's "at `slack = 0` every particle is welded to
|
|
172
|
+
its animated position".
|
|
173
|
+
- **frames** — the orientation the write-back reconstructed, as an axis triple
|
|
174
|
+
per entity. A particle has no orientation, so this is §11.1's swing: the
|
|
175
|
+
minimal rotation from the link's animated direction to its simulated one,
|
|
176
|
+
half-way between the parent-driven and child-driven answers.
|
|
177
|
+
|
|
178
|
+
## Notes
|
|
179
|
+
|
|
180
|
+
`globalThis.cloth_rig_playground` exposes `{ control, camera, ready, rebuild,
|
|
181
|
+
step_once, render, scene }`. Two differences from the solver page and both are
|
|
182
|
+
real: `rebuild` returns a promise, because `EntityManager#startup` does and an
|
|
183
|
+
entity created before it resolves is never linked; and `render` is separate from
|
|
184
|
+
`step_once`, because `requestAnimationFrame` does not fire in a hidden pane and
|
|
185
|
+
everything on the page hangs off it.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* # Building the playground's cloth
|
|
3
|
+
*
|
|
4
|
+
* Two shapes, because two shapes are what M0's rows can express between them: a
|
|
5
|
+
* triangulated sheet, which exercises stretch and bend together over a mesh
|
|
6
|
+
* eight colours wide, and a chain, which is the same stretch row at depth with
|
|
7
|
+
* no bending at all and is where a solver's convergence shows most plainly.
|
|
8
|
+
*
|
|
9
|
+
* This is playground code rather than the `__fixtures__` grid the specs and the
|
|
10
|
+
* measurement scripts share. It has to be: `__fixtures__` is excluded from the
|
|
11
|
+
* published package and this page is not, so importing across that line would
|
|
12
|
+
* ship a broken module. It also wants different things — several pinning
|
|
13
|
+
* modes, a chain, and a triangle list to draw.
|
|
14
|
+
*
|
|
15
|
+
* @author Alex Goldring
|
|
16
|
+
* @copyright Company Named Limited (c) 2026
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* @typedef {object} ClothPlaygroundScene
|
|
20
|
+
* @property {ClothState} state
|
|
21
|
+
* @property {Int32Array} triangle vertex triples, in the state's own permuted
|
|
22
|
+
* particle numbering, for drawing. Empty for a chain.
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* @param {object} options
|
|
26
|
+
* @param {'sheet'|'chain'} options.shape
|
|
27
|
+
* @param {number} options.width particles across a sheet, or links along a chain
|
|
28
|
+
* @param {number} options.height particles down a sheet; ignored for a chain
|
|
29
|
+
* @param {number} options.spacing metres between adjacent particles
|
|
30
|
+
* @param {number} options.mass total mass of the whole cloth, kg
|
|
31
|
+
* @param {number} options.stretch_stiffness N/m, or `Infinity` for a hard row
|
|
32
|
+
* @param {number} options.bend_modulus
|
|
33
|
+
* @param {'top'|'corners'|'edges'|'none'} options.pinned
|
|
34
|
+
* @param {boolean} options.flat lay a sheet horizontally so it falls and swings,
|
|
35
|
+
* rather than hanging in the vertical plane
|
|
36
|
+
* @returns {ClothPlaygroundScene}
|
|
37
|
+
*/
|
|
38
|
+
export function build_cloth_playground_scene({ shape, width, height, spacing, mass, stretch_stiffness, bend_modulus, pinned, flat }: {
|
|
39
|
+
shape: 'sheet' | 'chain';
|
|
40
|
+
width: number;
|
|
41
|
+
height: number;
|
|
42
|
+
spacing: number;
|
|
43
|
+
mass: number;
|
|
44
|
+
stretch_stiffness: number;
|
|
45
|
+
bend_modulus: number;
|
|
46
|
+
pinned: 'top' | 'corners' | 'edges' | 'none';
|
|
47
|
+
flat: boolean;
|
|
48
|
+
}): ClothPlaygroundScene;
|
|
49
|
+
export type ClothPlaygroundScene = {
|
|
50
|
+
state: ClothState;
|
|
51
|
+
/**
|
|
52
|
+
* vertex triples, in the state's own permuted
|
|
53
|
+
* particle numbering, for drawing. Empty for a chain.
|
|
54
|
+
*/
|
|
55
|
+
triangle: Int32Array;
|
|
56
|
+
};
|
|
57
|
+
import { ClothState } from "../solver/ClothState.js";
|
|
58
|
+
//# sourceMappingURL=cloth_playground_build.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloth_playground_build.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/physics/cloth/playground/cloth_playground_build.js"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;GAKG;AAEH;;;;;;;;;;;;;GAaG;AACH;IAZoC,KAAK,EAA9B,OAAO,GAAC,OAAO;IACC,KAAK,EAArB,MAAM;IACU,MAAM,EAAtB,MAAM;IACU,OAAO,EAAvB,MAAM;IACU,IAAI,EAApB,MAAM;IACU,iBAAiB,EAAjC,MAAM;IACU,YAAY,EAA5B,MAAM;IACkC,MAAM,EAA9C,KAAK,GAAC,SAAS,GAAC,OAAO,GAAC,MAAM;IACb,IAAI,EAArB,OAAO;IAEL,oBAAoB,CAgBhC;;WAjCa,UAAU;;;;;cACV,UAAU;;2BAxBG,yBAAyB"}
|