@woosh/meep-engine 3.15.0 → 3.16.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/editor/Editor.js +7 -7
- package/editor/actions/concrete/TransformModifyAction.d.ts +4 -4
- package/editor/actions/concrete/TransformModifyAction.d.ts.map +1 -1
- package/editor/actions/concrete/TransformModifyAction.js +4 -4
- package/editor/camera/camera_framing.js +7 -7
- package/editor/ecs/component/editors/ecs/Transform64Editor.d.ts +20 -0
- package/editor/ecs/component/editors/ecs/Transform64Editor.d.ts.map +1 -0
- package/editor/ecs/component/editors/ecs/Transform64Editor.js +70 -0
- package/editor/ecs/component/prototypeObjectEditor.js +2 -2
- package/editor/ecs/component/registerEngineComponentEditors.js +3 -3
- package/editor/particles/effect/ParticleEffectDocument.d.ts +396 -0
- package/editor/particles/effect/ParticleEffectDocument.d.ts.map +1 -0
- package/editor/particles/effect/ParticleEffectDocument.js +989 -0
- package/editor/particles/effect/ParticleReferenceSimulation.d.ts +113 -0
- package/editor/particles/effect/ParticleReferenceSimulation.d.ts.map +1 -0
- package/editor/particles/effect/ParticleReferenceSimulation.js +377 -0
- package/editor/particles/effect/actions/ParticleGroupDefineAction.d.ts +35 -0
- package/editor/particles/effect/actions/ParticleGroupDefineAction.d.ts.map +1 -0
- package/editor/particles/effect/actions/ParticleGroupDefineAction.js +45 -0
- package/editor/particles/effect/make_starter_particle_effect.d.ts +23 -0
- package/editor/particles/effect/make_starter_particle_effect.d.ts.map +1 -0
- package/editor/particles/effect/make_starter_particle_effect.js +177 -0
- package/editor/persistence/buildNewSceneDataset.d.ts.map +1 -1
- package/editor/persistence/buildNewSceneDataset.js +10 -8
- package/editor/process/symbolic/AudioEmitterSymbolicDisplay.js +67 -67
- package/editor/process/symbolic/CameraSymbolicDisplay.js +146 -146
- package/editor/process/symbolic/GridPositionSymbolicDisplay.js +6 -6
- package/editor/process/symbolic/LightSymbolicDisplay.js +172 -172
- package/editor/process/symbolic/ParticleEmitterSymbolicDisplay.d.ts.map +1 -1
- package/editor/process/symbolic/ParticleEmitterSymbolicDisplay.js +6 -3
- package/editor/process/symbolic/PositionedMarkerSymbolicDisplay.js +6 -6
- package/editor/selection/editor_pick.js +130 -130
- package/editor/templates/entity_templates.js +7 -7
- package/editor/tools/TransformToolV2.d.ts +3 -3
- package/editor/tools/TransformToolV2.d.ts.map +1 -1
- package/editor/tools/TransformToolV2.js +58 -25
- package/editor/tools/paint/TerrainHeightPaintTool.d.ts.map +1 -1
- package/editor/tools/paint/TerrainHeightPaintTool.js +11 -9
- package/editor/tools/v2/GizmoNode.js +2 -2
- package/editor/tools/v2/TransformControls.d.ts +3 -3
- package/editor/tools/v2/TransformControls.d.ts.map +1 -1
- package/editor/tools/v2/TransformControls.js +1003 -971
- package/editor/tools/v2/handle/gizmo_drag_plane.d.ts.map +1 -1
- package/editor/tools/v2/handle/gizmo_drag_plane.js +6 -1
- package/editor/view/ecs/components/common/AutoCanvasView.js +17 -0
- package/editor/view/node-graph/NodeGraphEditorView.d.ts +143 -2
- package/editor/view/node-graph/NodeGraphEditorView.d.ts.map +1 -1
- package/editor/view/node-graph/NodeGraphEditorView.js +358 -6
- package/editor/view/node-graph/NodeGraphMinimapView.d.ts +120 -0
- package/editor/view/node-graph/NodeGraphMinimapView.d.ts.map +1 -0
- package/editor/view/node-graph/NodeGraphMinimapView.js +859 -0
- package/editor/view/node-graph/NodeGraphPaletteView.d.ts +112 -0
- package/editor/view/node-graph/NodeGraphPaletteView.d.ts.map +1 -0
- package/editor/view/node-graph/NodeGraphPaletteView.js +352 -0
- package/editor/view/node-graph/NodeGraphSearchMenuView.d.ts +76 -0
- package/editor/view/node-graph/NodeGraphSearchMenuView.d.ts.map +1 -0
- package/editor/view/node-graph/NodeGraphSearchMenuView.js +247 -0
- package/editor/view/node-graph/NodeGraphView.d.ts +147 -5
- package/editor/view/node-graph/NodeGraphView.d.ts.map +1 -1
- package/editor/view/node-graph/NodeGraphView.js +809 -76
- package/editor/view/node-graph/NodeIconView.d.ts +33 -0
- package/editor/view/node-graph/NodeIconView.d.ts.map +1 -0
- package/editor/view/node-graph/NodeIconView.js +54 -0
- package/editor/view/node-graph/NodeView.d.ts +71 -1
- package/editor/view/node-graph/NodeView.d.ts.map +1 -1
- package/editor/view/node-graph/NodeView.js +318 -17
- package/editor/view/node-graph/PortView.d.ts +41 -1
- package/editor/view/node-graph/PortView.d.ts.map +1 -1
- package/editor/view/node-graph/PortView.js +121 -69
- package/editor/view/node-graph/actions/ConnectionDeleteAction.d.ts +16 -3
- package/editor/view/node-graph/actions/ConnectionDeleteAction.d.ts.map +1 -1
- package/editor/view/node-graph/actions/ConnectionDeleteAction.js +29 -3
- package/editor/view/node-graph/actions/NodeCreateAction.d.ts +65 -0
- package/editor/view/node-graph/actions/NodeCreateAction.d.ts.map +1 -0
- package/editor/view/node-graph/actions/NodeCreateAction.js +108 -0
- package/editor/view/node-graph/actions/NodeDeleteAction.d.ts +6 -0
- package/editor/view/node-graph/actions/NodeDeleteAction.d.ts.map +1 -1
- package/editor/view/node-graph/actions/NodeDeleteAction.js +24 -2
- package/editor/view/node-graph/connection_wire_geometry.d.ts +34 -0
- package/editor/view/node-graph/connection_wire_geometry.d.ts.map +1 -1
- package/editor/view/node-graph/connection_wire_geometry.js +79 -3
- package/editor/view/node-graph/node-graph.css +678 -0
- package/editor/view/particles/effect/ParticleCodeEditorView.d.ts +37 -0
- package/editor/view/particles/effect/ParticleCodeEditorView.d.ts.map +1 -0
- package/editor/view/particles/effect/ParticleCodeEditorView.js +479 -0
- package/editor/view/particles/effect/ParticleEffectEditorView.d.ts +61 -0
- package/editor/view/particles/effect/ParticleEffectEditorView.d.ts.map +1 -0
- package/editor/view/particles/effect/ParticleEffectEditorView.js +223 -0
- package/editor/view/particles/effect/ParticleEmitterInspectorView.d.ts +25 -0
- package/editor/view/particles/effect/ParticleEmitterInspectorView.d.ts.map +1 -0
- package/editor/view/particles/effect/ParticleEmitterInspectorView.js +606 -0
- package/editor/view/particles/effect/ParticleGraphEditorView.d.ts +156 -0
- package/editor/view/particles/effect/ParticleGraphEditorView.d.ts.map +1 -0
- package/editor/view/particles/effect/ParticleGraphEditorView.js +1636 -0
- package/editor/view/particles/effect/ParticleNodeParametersView.d.ts +22 -0
- package/editor/view/particles/effect/ParticleNodeParametersView.d.ts.map +1 -0
- package/editor/view/particles/effect/ParticleNodeParametersView.js +520 -0
- package/editor/view/particles/effect/ParticlePreviewView.d.ts +52 -0
- package/editor/view/particles/effect/ParticlePreviewView.d.ts.map +1 -0
- package/editor/view/particles/effect/ParticlePreviewView.js +533 -0
- package/editor/view/particles/effect/particle-editor.css +556 -0
- package/editor/view/prepareMeshLibrary.d.ts.map +1 -1
- package/editor/view/prepareMeshLibrary.js +8 -4
- package/package.json +1 -1
- package/samples/engine/first-scene/main.js +152 -152
- package/samples/generation/generators/mir_generator_place_bases.js +3 -3
- package/src/core/assert.d.ts +28 -24
- package/src/core/assert.d.ts.map +1 -1
- package/src/core/assert.js +34 -26
- package/src/core/geom/3d/shape/PosedShape3D.d.ts +17 -0
- package/src/core/geom/3d/shape/PosedShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/shape/PosedShape3D.js +34 -2
- package/src/core/graph/format/graphviz/graphviz_escape_html_label.d.ts +17 -0
- package/src/core/graph/format/graphviz/graphviz_escape_html_label.d.ts.map +1 -0
- package/src/core/graph/format/graphviz/graphviz_escape_html_label.js +25 -0
- package/src/core/graph/format/graphviz/graphviz_escape_quoted.d.ts +16 -0
- package/src/core/graph/format/graphviz/graphviz_escape_quoted.d.ts.map +1 -0
- package/src/core/graph/format/graphviz/graphviz_escape_quoted.js +24 -0
- package/src/core/model/node-graph/NodeGraph.d.ts +12 -0
- package/src/core/model/node-graph/NodeGraph.d.ts.map +1 -1
- package/src/core/model/node-graph/NodeGraph.js +21 -6
- package/src/core/model/node-graph/node/NodeDescription.d.ts +36 -0
- package/src/core/model/node-graph/node/NodeDescription.d.ts.map +1 -1
- package/src/core/model/node-graph/node/NodeDescription.js +41 -0
- package/src/core/model/node-graph/visual/ConnectionVisualData.d.ts +119 -0
- package/src/core/model/node-graph/visual/ConnectionVisualData.d.ts.map +1 -0
- package/src/core/model/node-graph/visual/ConnectionVisualData.js +317 -0
- package/src/core/model/node-graph/visual/NodeDescriptionVisualRegistry.d.ts +4 -0
- package/src/core/model/node-graph/visual/NodeDescriptionVisualRegistry.d.ts.map +1 -1
- package/src/core/model/node-graph/visual/NodeDescriptionVisualRegistry.js +125 -22
- package/src/core/model/node-graph/visual/NodeGraphVisualData.d.ts +91 -2
- package/src/core/model/node-graph/visual/NodeGraphVisualData.d.ts.map +1 -1
- package/src/core/model/node-graph/visual/NodeGraphVisualData.js +164 -113
- package/src/core/model/node-graph/visual/layout/LayoutBoxGraph.d.ts +162 -0
- package/src/core/model/node-graph/visual/layout/LayoutBoxGraph.d.ts.map +1 -0
- package/src/core/model/node-graph/visual/layout/LayoutBoxGraph.js +288 -0
- package/src/core/model/node-graph/visual/layout/LayoutProblem.d.ts +109 -0
- package/src/core/model/node-graph/visual/layout/LayoutProblem.d.ts.map +1 -0
- package/src/core/model/node-graph/visual/layout/LayoutProblem.js +141 -0
- package/src/core/model/node-graph/visual/layout/NodeGraphLayoutOptions.d.ts +149 -0
- package/src/core/model/node-graph/visual/layout/NodeGraphLayoutOptions.d.ts.map +1 -0
- package/src/core/model/node-graph/visual/layout/NodeGraphLayoutOptions.js +175 -0
- package/src/core/model/node-graph/visual/layout/RouteGrid.d.ts +137 -0
- package/src/core/model/node-graph/visual/layout/RouteGrid.d.ts.map +1 -0
- package/src/core/model/node-graph/visual/layout/RouteGrid.js +242 -0
- package/src/core/model/node-graph/visual/layout/RouteSearch.d.ts +114 -0
- package/src/core/model/node-graph/visual/layout/RouteSearch.d.ts.map +1 -0
- package/src/core/model/node-graph/visual/layout/RouteSearch.js +300 -0
- package/src/core/model/node-graph/visual/layout/RouteSet.d.ts +86 -0
- package/src/core/model/node-graph/visual/layout/RouteSet.d.ts.map +1 -0
- package/src/core/model/node-graph/visual/layout/RouteSet.js +168 -0
- package/src/core/model/node-graph/visual/layout/layout_assign_coordinates.d.ts +48 -0
- package/src/core/model/node-graph/visual/layout/layout_assign_coordinates.d.ts.map +1 -0
- package/src/core/model/node-graph/visual/layout/layout_assign_coordinates.js +555 -0
- package/src/core/model/node-graph/visual/layout/layout_assign_layers.d.ts +34 -0
- package/src/core/model/node-graph/visual/layout/layout_assign_layers.d.ts.map +1 -0
- package/src/core/model/node-graph/visual/layout/layout_assign_layers.js +202 -0
- package/src/core/model/node-graph/visual/layout/layout_break_cycles.d.ts +34 -0
- package/src/core/model/node-graph/visual/layout/layout_break_cycles.d.ts.map +1 -0
- package/src/core/model/node-graph/visual/layout/layout_break_cycles.js +254 -0
- package/src/core/model/node-graph/visual/layout/layout_build_problem.d.ts +29 -0
- package/src/core/model/node-graph/visual/layout/layout_build_problem.d.ts.map +1 -0
- package/src/core/model/node-graph/visual/layout/layout_build_problem.js +184 -0
- package/src/core/model/node-graph/visual/layout/layout_insert_lanes.d.ts +29 -0
- package/src/core/model/node-graph/visual/layout/layout_insert_lanes.d.ts.map +1 -0
- package/src/core/model/node-graph/visual/layout/layout_insert_lanes.js +95 -0
- package/src/core/model/node-graph/visual/layout/layout_node_graph.d.ts +56 -0
- package/src/core/model/node-graph/visual/layout/layout_node_graph.d.ts.map +1 -0
- package/src/core/model/node-graph/visual/layout/layout_node_graph.js +131 -0
- package/src/core/model/node-graph/visual/layout/layout_order_layers.d.ts +36 -0
- package/src/core/model/node-graph/visual/layout/layout_order_layers.d.ts.map +1 -0
- package/src/core/model/node-graph/visual/layout/layout_order_layers.js +415 -0
- package/src/core/model/node-graph/visual/layout/layout_orient_links.d.ts +21 -0
- package/src/core/model/node-graph/visual/layout/layout_orient_links.d.ts.map +1 -0
- package/src/core/model/node-graph/visual/layout/layout_orient_links.js +49 -0
- package/src/core/model/node-graph/visual/layout/route_connections.d.ts +41 -0
- package/src/core/model/node-graph/visual/layout/route_connections.d.ts.map +1 -0
- package/src/core/model/node-graph/visual/layout/route_connections.js +309 -0
- package/src/core/model/node-graph/visual/layout/route_grid_build.d.ts +33 -0
- package/src/core/model/node-graph/visual/layout/route_grid_build.d.ts.map +1 -0
- package/src/core/model/node-graph/visual/layout/route_grid_build.js +237 -0
- package/src/core/model/node-graph/visual/layout/route_nudge.d.ts +25 -0
- package/src/core/model/node-graph/visual/layout/route_nudge.d.ts.map +1 -0
- package/src/core/model/node-graph/visual/layout/route_nudge.js +220 -0
- package/src/core/model/node-graph/visual/layout/route_to_spline.d.ts +29 -0
- package/src/core/model/node-graph/visual/layout/route_to_spline.d.ts.map +1 -0
- package/src/core/model/node-graph/visual/layout/route_to_spline.js +120 -0
- package/src/engine/EngineHarness.d.ts.map +1 -1
- package/src/engine/EngineHarness.js +593 -586
- package/src/engine/EntityCreator.js +116 -116
- package/src/engine/achievements/AchievementManager.js +437 -437
- package/src/engine/animation/AnimatedActions.js +111 -111
- package/src/engine/animation/AnimationUtils.d.ts.map +1 -1
- package/src/engine/animation/AnimationUtils.js +246 -234
- package/src/engine/animation/Animations.d.ts +1 -0
- package/src/engine/animation/Animations.d.ts.map +1 -1
- package/src/engine/animation/Animations.js +13 -5
- package/src/engine/animation/clip/bind_property_writer.d.ts.map +1 -1
- package/src/engine/animation/clip/bind_property_writer.js +12 -5
- package/src/engine/animation/curve/binding/BoundTransform64Writer.d.ts +29 -0
- package/src/engine/animation/curve/binding/BoundTransform64Writer.d.ts.map +1 -0
- package/src/engine/animation/curve/binding/BoundTransform64Writer.js +80 -0
- package/src/engine/animation/removeEntityWithMeshParticlesEffect.js +4 -4
- package/src/engine/asset/loaders/gltf_test_fixtures.d.ts.map +1 -1
- package/src/engine/asset/loaders/gltf_test_fixtures.js +5 -4
- package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts +12 -12
- package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts.map +1 -1
- package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.js +77 -44
- package/src/engine/control/first-person/abilities/LedgeGrab.js +1 -1
- package/src/engine/control/first-person/abilities/Mantle.js +1 -1
- package/src/engine/control/first-person/abilities/Slide.js +1 -1
- package/src/engine/control/first-person/collision/KinematicMover.d.ts +5 -9
- package/src/engine/control/first-person/collision/KinematicMover.d.ts.map +1 -1
- package/src/engine/control/first-person/collision/KinematicMover.js +59 -29
- package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.d.ts +2 -2
- package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.d.ts.map +1 -1
- package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.js +7 -7
- package/src/engine/ecs/EventType.d.ts +1 -0
- package/src/engine/ecs/EventType.js +35 -10
- package/src/engine/ecs/dynamic_actions/actions/definition/SendRequestActionDescription.d.ts.map +1 -1
- package/src/engine/ecs/dynamic_actions/actions/definition/SendRequestActionDescription.js +12 -4
- package/src/engine/ecs/fow/FogOfWarRevealerSystem.d.ts +4 -4
- package/src/engine/ecs/fow/FogOfWarRevealerSystem.d.ts.map +1 -1
- package/src/engine/ecs/fow/FogOfWarRevealerSystem.js +10 -11
- package/src/engine/ecs/grid/pick.js +1 -1
- package/src/engine/ecs/gui/hud/HeadsUpDisplaySystem.d.ts +1 -1
- package/src/engine/ecs/gui/hud/HeadsUpDisplaySystem.js +13 -13
- package/src/engine/ecs/gui/hud/testHudEdgeStick.js +3 -3
- package/src/engine/ecs/ik/InverseKinematicsSystem.d.ts +10 -10
- package/src/engine/ecs/ik/InverseKinematicsSystem.d.ts.map +1 -1
- package/src/engine/ecs/ik/InverseKinematicsSystem.js +8 -8
- package/src/engine/ecs/ik/TwoBoneInverseKinematicsSolver.d.ts.map +1 -1
- package/src/engine/ecs/ik/TwoBoneInverseKinematicsSolver.js +120 -97
- package/src/engine/ecs/ik/ik_bone_chain.d.ts +16 -5
- package/src/engine/ecs/ik/ik_bone_chain.d.ts.map +1 -1
- package/src/engine/ecs/ik/ik_bone_chain.js +16 -4
- package/src/engine/ecs/ik/ik_probe_terrain_contact.d.ts +7 -3
- package/src/engine/ecs/ik/ik_probe_terrain_contact.d.ts.map +1 -1
- package/src/engine/ecs/ik/ik_probe_terrain_contact.js +20 -16
- package/src/engine/ecs/ik/ik_write_local_rotation.d.ts +18 -0
- package/src/engine/ecs/ik/ik_write_local_rotation.d.ts.map +1 -0
- package/src/engine/ecs/ik/ik_write_local_rotation.js +30 -0
- package/src/engine/ecs/parent/EntityNode.d.ts +24 -6
- package/src/engine/ecs/parent/EntityNode.d.ts.map +1 -1
- package/src/engine/ecs/parent/EntityNode.js +54 -42
- package/src/engine/ecs/parent/EntityNodeFlags.d.ts +0 -1
- package/src/engine/ecs/parent/EntityNodeFlags.js +7 -8
- package/src/engine/ecs/speaker/VoiceSystem.d.ts +2 -2
- package/src/engine/ecs/speaker/VoiceSystem.d.ts.map +1 -1
- package/src/engine/ecs/speaker/VoiceSystem.js +4 -4
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts.map +1 -1
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.js +2 -0
- package/src/engine/ecs/terrain/ecs/Terrain.d.ts +5 -2
- package/src/engine/ecs/terrain/ecs/Terrain.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/Terrain.js +7 -4
- package/src/engine/ecs/terrain/ecs/TerrainSystem.js +3 -3
- package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSystem.d.ts +7 -7
- package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSystem.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSystem.js +84 -36
- package/src/engine/ecs/transform/TRANSFORM64_MIGRATION_PLAN_2026_09_04.md +513 -0
- package/src/engine/ecs/transform/Transform64.d.ts +48 -11
- package/src/engine/ecs/transform/Transform64.d.ts.map +1 -1
- package/src/engine/ecs/transform/Transform64.js +54 -15
- package/src/engine/ecs/transform/Transform64SerializationAdapter.d.ts +37 -0
- package/src/engine/ecs/transform/Transform64SerializationAdapter.d.ts.map +1 -0
- package/src/engine/ecs/transform/Transform64SerializationAdapter.js +75 -0
- package/src/engine/ecs/transform/__probe.d.ts +4 -0
- package/src/engine/ecs/transform/__probe.d.ts.map +1 -0
- package/src/engine/ecs/transform/t64_allocation_probe.d.ts +31 -0
- package/src/engine/ecs/transform/t64_allocation_probe.d.ts.map +1 -0
- package/src/engine/ecs/transform/t64_allocation_probe.js +78 -0
- package/src/engine/ecs/transform/t64_announce_change.d.ts +33 -0
- package/src/engine/ecs/transform/t64_announce_change.d.ts.map +1 -0
- package/src/engine/ecs/transform/t64_announce_change.js +39 -0
- package/src/engine/ecs/transform/t64_equals_components.d.ts +30 -0
- package/src/engine/ecs/transform/t64_equals_components.d.ts.map +1 -0
- package/src/engine/ecs/transform/t64_equals_components.js +59 -0
- package/src/engine/ecs/transform/t64_read_rotation.d.ts +13 -0
- package/src/engine/ecs/transform/t64_read_rotation.d.ts.map +1 -0
- package/src/engine/ecs/transform/t64_read_rotation.js +16 -0
- package/src/engine/ecs/transform/t64_read_translation.d.ts +14 -0
- package/src/engine/ecs/transform/t64_read_translation.d.ts.map +1 -0
- package/src/engine/ecs/transform/t64_read_translation.js +17 -0
- package/src/engine/ecs/transform-attachment/TransformAttachment.d.ts +5 -5
- package/src/engine/ecs/transform-attachment/TransformAttachment.d.ts.map +1 -1
- package/src/engine/ecs/transform-attachment/TransformAttachment.js +4 -4
- package/src/engine/ecs/transform-attachment/TransformAttachmentSystem.d.ts +10 -10
- package/src/engine/ecs/transform-attachment/TransformAttachmentSystem.d.ts.map +1 -1
- package/src/engine/ecs/transform-attachment/TransformAttachmentSystem.js +71 -20
- package/src/engine/graphics/debug/createDebugLabel.js +3 -3
- package/src/engine/graphics/ecs/camera/pp/PerfectPanner.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/pp/PerfectPanner.js +5 -4
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js +8 -3
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSystem.d.ts +6 -6
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSystem.js +25 -13
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraLanderSystem.js +1 -1
- package/src/engine/graphics/ecs/mesh/setMesh.js +2 -2
- package/src/engine/graphics/ecs/path/entity/EntityPath.d.ts.map +1 -1
- package/src/engine/graphics/ecs/path/entity/EntityPath.js +21 -7
- package/src/engine/graphics/ecs/path/entity/EntityPathMarkerDefinition.d.ts +4 -4
- package/src/engine/graphics/ecs/path/entity/EntityPathMarkerDefinition.d.ts.map +1 -1
- package/src/engine/graphics/ecs/path/entity/EntityPathMarkerDefinition.js +4 -4
- package/src/engine/graphics/ecs/sprite/SpriteSystemPE.d.ts +2 -2
- package/src/engine/graphics/ecs/sprite/SpriteSystemPE.d.ts.map +1 -1
- package/src/engine/graphics/ecs/sprite/SpriteSystemPE.js +145 -135
- package/src/engine/graphics/geometry/MikkT/Build4RuleGroups.js +2 -2
- package/src/engine/graphics/geometry/MikkT/DegenEpilogue.js +1 -1
- package/src/engine/graphics/geometry/MikkT/DegenPrologue.js +1 -1
- package/src/engine/graphics/geometry/MikkT/EvalTspace.js +1 -1
- package/src/engine/graphics/geometry/MikkT/GenerateTSpaces.js +3 -3
- package/src/engine/graphics/render/frame_graph/CORRECTNESS_FIXES_2026_09_04.md +659 -0
- package/src/engine/graphics/render/frame_graph/FRAME_GRAPH_RECOMMENDATIONS.md +21 -5
- package/src/engine/graphics/render/frame_graph/FrameGraph.d.ts +45 -0
- package/src/engine/graphics/render/frame_graph/FrameGraph.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/FrameGraph.js +282 -60
- package/src/engine/graphics/render/frame_graph/FramePassBuilder.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/FramePassBuilder.js +20 -9
- package/src/engine/graphics/render/frame_graph/FramePassNode.d.ts +12 -0
- package/src/engine/graphics/render/frame_graph/FramePassNode.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/FramePassNode.js +13 -0
- 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/ResourceEntry.d.ts +19 -1
- package/src/engine/graphics/render/frame_graph/ResourceEntry.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/ResourceEntry.js +23 -1
- package/src/engine/graphics/render/frame_graph/backend/void/VoidRenderContext.d.ts +15 -1
- package/src/engine/graphics/render/frame_graph/backend/void/VoidRenderContext.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/backend/void/VoidRenderContext.js +33 -16
- package/src/engine/graphics/render/frame_graph/resource/RenderResourceManager.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/resource/RenderResourceManager.js +19 -1
- package/src/engine/graphics/sh3/path_tracer/populate_path_traced_scene_from_ecd.js +6 -6
- package/src/engine/graphics3/CameraSystem.d.ts +6 -6
- package/src/engine/graphics3/CameraSystem.d.ts.map +1 -1
- package/src/engine/graphics3/CameraSystem.js +170 -170
- package/src/engine/graphics3/DecalSystem.d.ts +6 -6
- package/src/engine/graphics3/DecalSystem.d.ts.map +1 -1
- package/src/engine/graphics3/DecalSystem.js +449 -449
- package/src/engine/graphics3/LightSystem.d.ts +6 -6
- package/src/engine/graphics3/LightSystem.d.ts.map +1 -1
- package/src/engine/graphics3/LightSystem.js +234 -221
- package/src/engine/graphics3/MeshSystem.d.ts +6 -6
- package/src/engine/graphics3/MeshSystem.d.ts.map +1 -1
- package/src/engine/graphics3/MeshSystem.js +53 -22
- package/src/engine/graphics3/ParticipatingMediaSystem.d.ts +20 -15
- package/src/engine/graphics3/ParticipatingMediaSystem.d.ts.map +1 -1
- package/src/engine/graphics3/ParticipatingMediaSystem.js +198 -184
- package/src/engine/graphics3/ParticleEmitterSystem.d.ts +6 -6
- package/src/engine/graphics3/ParticleEmitterSystem.d.ts.map +1 -1
- package/src/engine/graphics3/ParticleEmitterSystem.js +310 -289
- package/src/engine/graphics3/PickingSystem.d.ts +6 -6
- package/src/engine/graphics3/PickingSystem.d.ts.map +1 -1
- package/src/engine/graphics3/PickingSystem.js +273 -273
- package/src/engine/graphics3/ShadedGeometrySystem.d.ts +6 -6
- package/src/engine/graphics3/ShadedGeometrySystem.d.ts.map +1 -1
- package/src/engine/graphics3/ShadedGeometrySystem.js +180 -169
- package/src/engine/graphics3/TerrainSystem.d.ts.map +1 -1
- package/src/engine/graphics3/TerrainSystem.js +565 -566
- package/src/engine/graphics3/Trail3DSystem.d.ts +6 -6
- package/src/engine/graphics3/Trail3DSystem.d.ts.map +1 -1
- package/src/engine/graphics3/Trail3DSystem.js +221 -221
- package/src/engine/graphics3/camera_sync_from_transform.d.ts +2 -2
- package/src/engine/graphics3/camera_sync_from_transform.d.ts.map +1 -1
- package/src/engine/graphics3/camera_sync_from_transform.js +2 -1
- package/src/engine/graphics3/debug/gizmo_view_from_camera.js +4 -4
- package/src/engine/graphics3/particles/GPUParticularRenderer.d.ts +6 -0
- package/src/engine/graphics3/particles/GPUParticularRenderer.d.ts.map +1 -1
- package/src/engine/graphics3/particles/GPUParticularRenderer.js +82 -53
- package/src/engine/graphics3/particles/particle_gpu_records.d.ts +12 -8
- package/src/engine/graphics3/particles/particle_gpu_records.d.ts.map +1 -1
- package/src/engine/graphics3/particles/particle_gpu_records.js +53 -45
- package/src/engine/graphics3/preview/make_model_preview_scene.js +1 -1
- package/src/engine/graphics3/shade_camera_projection_ray.js +4 -4
- package/src/engine/graphics3/shade_node_to_entity_composition.d.ts.map +1 -1
- package/src/engine/graphics3/shade_node_to_entity_composition.js +88 -84
- package/src/engine/grid/grid2transform/GridPosition2TransformSystem.d.ts +7 -7
- package/src/engine/grid/grid2transform/GridPosition2TransformSystem.d.ts.map +1 -1
- package/src/engine/grid/grid2transform/GridPosition2TransformSystem.js +8 -8
- package/src/engine/grid/transform2grid/Transform2GridPositionSystem.d.ts +9 -8
- package/src/engine/grid/transform2grid/Transform2GridPositionSystem.d.ts.map +1 -1
- package/src/engine/grid/transform2grid/Transform2GridPositionSystem.js +29 -8
- package/src/engine/input/ecs/controllers/KeyboardCameraController.js +2 -2
- package/src/engine/intelligence/behavior/ecs/OrbitingBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/ecs/OrbitingBehavior.js +35 -21
- package/src/engine/intelligence/behavior/util/RotationBehavior.js +5 -5
- package/src/engine/intelligence/mcts/StateNode.js +1 -1
- package/src/engine/interpolation/TransformPoseSerializationAdapter.d.ts +7 -7
- package/src/engine/interpolation/TransformPoseSerializationAdapter.d.ts.map +1 -1
- package/src/engine/interpolation/TransformPoseSerializationAdapter.js +14 -15
- package/src/engine/interpolation/pose_interpoland.d.ts +2 -2
- package/src/engine/interpolation/pose_interpoland.js +4 -4
- package/src/engine/navigation/ecs/path_following/PathFollowingSystem.d.ts +4 -4
- package/src/engine/navigation/ecs/path_following/PathFollowingSystem.d.ts.map +1 -1
- package/src/engine/navigation/ecs/path_following/PathFollowingSystem.js +39 -14
- package/src/engine/network/adapters/TransformReplicationAdapter.d.ts +7 -7
- package/src/engine/network/adapters/TransformReplicationAdapter.d.ts.map +1 -1
- package/src/engine/network/adapters/TransformReplicationAdapter.js +19 -20
- package/src/engine/network/replication/Replicator.d.ts +5 -3
- package/src/engine/network/replication/Replicator.d.ts.map +1 -1
- package/src/engine/network/replication/Replicator.js +65 -16
- package/src/engine/physics/broadphase/compute_fat_world_aabb.js +3 -3
- package/src/engine/physics/ccd/linear_sweep.d.ts.map +1 -1
- package/src/engine/physics/ccd/linear_sweep.js +9 -3
- package/src/engine/physics/constraint/solve_constraints.js +10 -10
- package/src/engine/physics/ecs/ColliderObserverSystem.d.ts +8 -8
- package/src/engine/physics/ecs/ColliderObserverSystem.d.ts.map +1 -1
- package/src/engine/physics/ecs/ColliderObserverSystem.js +6 -6
- package/src/engine/physics/ecs/PhysicsSystem.d.ts +22 -32
- package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
- package/src/engine/physics/ecs/PhysicsSystem.js +2337 -2310
- package/src/engine/physics/ecs/find_non_finite_physics_state.js +6 -6
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +7 -7
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.js +16 -8
- package/src/engine/physics/fluid/ecs/FluidSystem.d.ts +4 -4
- package/src/engine/physics/fluid/ecs/FluidSystem.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/FluidSystem.js +6 -6
- package/src/engine/physics/fluid/ecs/WorkerFluidSystem.d.ts +2 -2
- package/src/engine/physics/fluid/ecs/WorkerFluidSystem.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/WorkerFluidSystem.js +4 -4
- package/src/engine/physics/fluid/ecs/fluid_reanchor_field.js +7 -7
- package/src/engine/physics/fluid/effector/ImpulseFluidEffector.js +4 -4
- package/src/engine/physics/fluid/effector/WakeFluidEffector.js +7 -7
- package/src/engine/physics/inertia/world_inverse_inertia.js +1 -1
- package/src/engine/physics/integration/integrate_position.d.ts.map +1 -1
- package/src/engine/physics/integration/integrate_position.js +13 -12
- package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.d.ts.map +1 -1
- package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.js +23 -5
- package/src/engine/physics/narrowphase/compute_penetration.js +18 -14
- package/src/engine/physics/narrowphase/convex_convex_manifold.js +2 -2
- package/src/engine/physics/narrowphase/mesh_mesh_tet_manifold.js +9 -9
- package/src/engine/physics/narrowphase/narrowphase_step.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/narrowphase_step.js +95 -68
- package/src/engine/physics/narrowphase/refine_ray_concave.js +1 -1
- package/src/engine/physics/narrowphase/refine_ray_hit.js +3 -3
- package/src/engine/physics/queries/overlap_shape.d.ts.map +1 -1
- package/src/engine/physics/queries/overlap_shape.js +19 -7
- package/src/engine/physics/queries/raycast.js +3 -3
- package/src/engine/physics/queries/shape_cast.d.ts.map +1 -1
- package/src/engine/physics/queries/shape_cast.js +628 -620
- package/src/engine/physics/solver/solve_contacts.js +10 -10
- package/src/engine/physics/vehicle/RaycastVehicle.d.ts +6 -5
- package/src/engine/physics/vehicle/RaycastVehicle.d.ts.map +1 -1
- package/src/engine/physics/vehicle/RaycastVehicle.js +10 -5
- package/src/engine/sound/ecs/SoundListenerSystem.d.ts +16 -4
- package/src/engine/sound/ecs/SoundListenerSystem.d.ts.map +1 -1
- package/src/engine/sound/ecs/SoundListenerSystem.js +70 -11
- package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts +7 -7
- package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/AudioEmitterSystem.js +343 -338
- package/src/engine/sound/ecs/audio/LiveEmitterSet.d.ts +2 -2
- package/src/engine/sound/ecs/audio/LiveEmitterSet.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/LiveEmitterSet.js +356 -345
- package/src/engine/sound/ecs/audio/SpatialAudioIndex.d.ts +23 -2
- package/src/engine/sound/ecs/audio/SpatialAudioIndex.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/SpatialAudioIndex.js +174 -140
- package/src/engine/sound/ecs/trigger/AudioEventTriggerSystem.d.ts +6 -6
- package/src/engine/sound/ecs/trigger/AudioEventTriggerSystem.d.ts.map +1 -1
- package/src/engine/sound/ecs/trigger/AudioEventTriggerSystem.js +185 -184
- package/src/engine/sound/material/detector/terrain/TerrainSoundMaterialSurfaceDetector.js +1 -1
- package/src/engine/sound/simulation/core/AcousticRegionIndex.d.ts +2 -1
- package/src/engine/sound/simulation/core/AcousticRegionIndex.d.ts.map +1 -1
- package/src/engine/sound/simulation/core/AcousticRegionIndex.js +4 -3
- package/src/engine/sound/simulation/core/AcousticVolumeRegion.d.ts +3 -2
- package/src/engine/sound/simulation/core/AcousticVolumeRegion.d.ts.map +1 -1
- package/src/engine/sound/simulation/core/AcousticVolumeRegion.js +6 -4
- package/src/engine/sound/simulation/ecs/AcousticSimulationSystem.d.ts +10 -6
- package/src/engine/sound/simulation/ecs/AcousticSimulationSystem.d.ts.map +1 -1
- package/src/engine/sound/simulation/ecs/AcousticSimulationSystem.js +32 -7
- package/src/engine/sound/simulation/ecs/AcousticVolumeSystem.d.ts +7 -7
- package/src/engine/sound/simulation/ecs/AcousticVolumeSystem.d.ts.map +1 -1
- package/src/engine/sound/simulation/ecs/AcousticVolumeSystem.js +6 -6
- package/src/engine/sound/sopra/runtime/EventInstance.d.ts.map +1 -1
- package/src/engine/sound/sopra/runtime/EventInstance.js +8 -2
- package/src/format/scene/gltf/gltf_component_type.d.ts.map +1 -1
- package/src/format/scene/gltf/gltf_component_type.js +3 -1
- package/src/format/texture/ktx2/ktx2_read.d.ts.map +1 -1
- package/src/format/texture/ktx2/ktx2_read.js +2 -1
- package/src/generation/grid/generation/GridTaskDensityMarkerDistribution.d.ts.map +1 -1
- package/src/generation/grid/generation/GridTaskDensityMarkerDistribution.js +8 -1
- package/src/generation/markers/GridCellActionPlaceMarker.d.ts +4 -4
- package/src/generation/markers/GridCellActionPlaceMarker.d.ts.map +1 -1
- package/src/generation/markers/GridCellActionPlaceMarker.js +16 -6
- package/src/generation/markers/MarkerNode.d.ts +3 -3
- package/src/generation/markers/MarkerNode.d.ts.map +1 -1
- package/src/generation/markers/MarkerNode.js +3 -3
- package/src/generation/markers/actions/MarkerNodeActionEntityPlacement.d.ts +4 -4
- package/src/generation/markers/actions/MarkerNodeActionEntityPlacement.d.ts.map +1 -1
- package/src/generation/markers/actions/MarkerNodeActionEntityPlacement.js +7 -7
- package/src/generation/markers/actions/MarkerNodeActionImaginary.d.ts.map +1 -1
- package/src/generation/markers/actions/MarkerNodeActionImaginary.js +20 -2
- package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.js +1 -1
- package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorRandomRotation.d.ts.map +1 -1
- package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorRandomRotation.js +13 -3
- package/src/generation/markers/transform/MarkerNodeTransformRotateRandom.d.ts.map +1 -1
- package/src/generation/markers/transform/MarkerNodeTransformRotateRandom.js +11 -1
- package/src/generation/markers/transform/MarkerNodeTransformerAddPositionYFromFilter.d.ts.map +1 -1
- package/src/generation/markers/transform/MarkerNodeTransformerAddPositionYFromFilter.js +8 -4
- package/src/generation/markers/transform/MarkerNodeTransformerOffsetPosition.d.ts.map +1 -1
- package/src/generation/markers/transform/MarkerNodeTransformerOffsetPosition.js +13 -5
- package/src/generation/markers/transform/MarkerNodeTransformerYRotateByFilter.d.ts.map +1 -1
- package/src/generation/markers/transform/MarkerNodeTransformerYRotateByFilter.js +8 -2
- package/src/generation/markers/transform/MarkerNodeTransformerYRotateByFilterGradient.d.ts.map +1 -1
- package/src/generation/markers/transform/MarkerNodeTransformerYRotateByFilterGradient.js +16 -2
- package/src/shade/device/graph/BufferResourceDescriptor.d.ts.map +1 -1
- package/src/shade/device/graph/BufferResourceDescriptor.js +193 -184
- package/src/shade/device/graph/TextureResourceDescriptor.d.ts.map +1 -1
- package/src/shade/device/graph/TextureResourceDescriptor.js +12 -0
- package/src/shade/device/mock/SoftwareGPUDevice.d.ts.map +1 -1
- package/src/shade/device/mock/SoftwareGPUDevice.js +8 -0
- package/src/shade/playground/avboit/main.js +3 -3
- package/src/shade/playground/basis_textures/main.js +1 -1
- package/src/shade/playground/ground_seam/main.js +1 -1
- package/src/shade/playground/particle_editor/README.md +175 -0
- package/src/shade/playground/particle_editor/index.html +76 -0
- package/src/shade/playground/particle_editor/main.d.ts +2 -0
- package/src/shade/playground/particle_editor/main.d.ts.map +1 -0
- package/src/shade/playground/particle_editor/main.js +139 -0
- package/src/shade/playground/particle_system/README.md +92 -62
- package/src/shade/playground/particle_system/index.html +67 -21
- package/src/shade/playground/particle_system/main.js +247 -102
- package/src/shade/{renderer/particles → playground/particle_system}/particle_prototype.d.ts +21 -18
- package/src/shade/playground/particle_system/particle_prototype.d.ts.map +1 -0
- package/src/shade/{renderer/particles → playground/particle_system}/particle_prototype.js +197 -181
- package/src/shade/playground/particle_system/particle_scene.d.ts +136 -20
- package/src/shade/playground/particle_system/particle_scene.d.ts.map +1 -1
- package/src/shade/playground/particle_system/particle_scene.js +487 -670
- package/src/shade/playground/skinned_blas_refit/sweep_views.js +2 -2
- package/src/shade/playground/skinned_blas_refit/verify_instance_bounds.d.ts.map +1 -1
- package/src/shade/playground/skinned_blas_refit/verify_instance_bounds.js +2 -1
- package/src/shade/playground/skinned_blas_refit/verify_skinned_blas_refit.d.ts.map +1 -1
- package/src/shade/playground/skinned_blas_refit/verify_skinned_blas_refit.js +2 -1
- package/src/shade/playground/sponza_path_trace/main.js +1 -1
- package/src/shade/playground/volumetrics_froxel/main.js +917 -917
- package/src/shade/playground/volumetrics_froxel/measure.js +559 -559
- package/src/shade/renderer/Renderer.d.ts +28 -0
- package/src/shade/renderer/Renderer.d.ts.map +1 -1
- package/src/shade/renderer/Renderer.js +140 -8
- package/src/shade/renderer/atmosphere/GPUSky.d.ts.map +1 -1
- package/src/shade/renderer/atmosphere/GPUSky.js +4 -2
- package/src/shade/renderer/buffer/graph_read_buffer.d.ts.map +1 -1
- package/src/shade/renderer/buffer/graph_read_buffer.js +8 -1
- package/src/shade/renderer/buffer/table/GPUTypedTable.js +1 -1
- package/src/shade/renderer/buffer/table/GPUTypedTableDescriptor.d.ts +30 -0
- package/src/shade/renderer/buffer/table/GPUTypedTableDescriptor.d.ts.map +1 -1
- package/src/shade/renderer/buffer/table/GPUTypedTableDescriptor.js +84 -0
- package/src/shade/renderer/buffer/table/gpu_database_emulator_image.d.ts +27 -0
- package/src/shade/renderer/buffer/table/gpu_database_emulator_image.d.ts.map +1 -0
- package/src/shade/renderer/buffer/table/gpu_database_words.d.ts +24 -0
- package/src/shade/renderer/buffer/table/gpu_database_words.d.ts.map +1 -0
- package/src/shade/renderer/buffer/table/gpu_database_words.js +92 -0
- package/src/shade/renderer/camera/Camera.d.ts +2 -2
- package/src/shade/renderer/camera/Camera.d.ts.map +1 -1
- package/src/shade/renderer/camera/Camera.js +11 -5
- package/src/shade/renderer/camera/GPUCameraContext.d.ts.map +1 -1
- package/src/shade/renderer/camera/GPUCameraContext.js +2 -1
- package/src/shade/renderer/camera/OrbitalCameraController.d.ts +3 -3
- package/src/shade/renderer/camera/OrbitalCameraController.d.ts.map +1 -1
- package/src/shade/renderer/camera/OrbitalCameraController.js +31 -16
- package/src/shade/renderer/camera/orbital/OrbitalCameraController.d.ts +2 -2
- package/src/shade/renderer/camera/orbital/OrbitalCameraController.d.ts.map +1 -1
- package/src/shade/renderer/camera/orbital/OrbitalCameraController.js +4 -3
- package/src/shade/renderer/camera/orbital/OrbitalCameraRig.d.ts +10 -5
- package/src/shade/renderer/camera/orbital/OrbitalCameraRig.d.ts.map +1 -1
- package/src/shade/renderer/camera/orbital/OrbitalCameraRig.js +8 -4
- package/src/shade/renderer/extension/FrameContext.d.ts.map +1 -1
- package/src/shade/renderer/extension/FrameContext.js +5 -0
- package/src/shade/renderer/extension/FrameRecord.d.ts +16 -0
- package/src/shade/renderer/extension/FrameRecord.d.ts.map +1 -1
- package/src/shade/renderer/extension/FrameRecord.js +31 -0
- package/src/shade/renderer/extension/GBufferTextures.d.ts +11 -0
- package/src/shade/renderer/extension/GBufferTextures.d.ts.map +1 -1
- package/src/shade/renderer/extension/GBufferTextures.js +14 -0
- package/src/shade/renderer/geometry/attribute/gpu_vertex_buffer_layout_from_spec.js +1 -1
- package/src/shade/renderer/geometry/util/geometry_stripify.js +6 -6
- package/src/shade/renderer/geometry/virtual/format/prototypeVGEOFormatViewer.js +8 -8
- 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 +14 -5
- 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 -9
- package/src/shade/renderer/global_illumination/probe/octahedral/border/graph_lpv_paint_border_depth.d.ts +2 -1
- 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 +4 -1
- package/src/shade/renderer/global_illumination/probe/octahedral/convolve/graph_lvp_atlas_to_sh.d.ts +2 -1
- 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 +11 -1
- package/src/shade/renderer/global_illumination/probe/octahedral/graph_lpv_shade.d.ts +1 -1
- package/src/shade/renderer/global_illumination/probe/octahedral/graph_lpv_shade.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/probe/octahedral/graph_lpv_shade.js +4 -2
- package/src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.js +5 -1
- 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 +35 -11
- package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +1 -1
- package/src/shade/renderer/particles/DESIGN.md +271 -112
- package/src/shade/renderer/particles/GPUParticleSystem.d.ts +251 -86
- package/src/shade/renderer/particles/GPUParticleSystem.d.ts.map +1 -1
- package/src/shade/renderer/particles/GPUParticleSystem.js +822 -146
- package/src/shade/renderer/particles/ParticleConstants.d.ts +96 -3
- package/src/shade/renderer/particles/ParticleConstants.d.ts.map +1 -1
- package/src/shade/renderer/particles/ParticleConstants.js +103 -4
- package/src/shade/renderer/particles/coherence/graph_particle_bucket.d.ts +5 -4
- package/src/shade/renderer/particles/coherence/graph_particle_bucket.d.ts.map +1 -1
- package/src/shade/renderer/particles/coherence/graph_particle_bucket.js +11 -15
- package/src/shade/renderer/particles/coherence/shader_particle_bucket.d.ts +2 -2
- package/src/shade/renderer/particles/coherence/shader_particle_bucket.d.ts.map +1 -1
- package/src/shade/renderer/particles/coherence/shader_particle_bucket.js +20 -15
- package/src/shade/renderer/particles/data/PARTICLE_COUNTERS.d.ts +7 -8
- package/src/shade/renderer/particles/data/PARTICLE_COUNTERS.d.ts.map +1 -1
- package/src/shade/renderer/particles/data/PARTICLE_COUNTERS.js +7 -17
- package/src/shade/renderer/particles/data/PARTICLE_DATABASE_SPEC.d.ts +56 -0
- package/src/shade/renderer/particles/data/PARTICLE_DATABASE_SPEC.d.ts.map +1 -0
- package/src/shade/renderer/particles/data/PARTICLE_DATABASE_SPEC.js +68 -0
- package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STATE.d.ts +39 -0
- package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STATE.d.ts.map +1 -0
- package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STATE.js +52 -0
- package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STRUCT.d.ts +83 -0
- package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STRUCT.js +166 -0
- package/src/shade/renderer/particles/data/chunk_particle_emitter.d.ts +21 -5
- package/src/shade/renderer/particles/data/chunk_particle_emitter.d.ts.map +1 -1
- package/src/shade/renderer/particles/data/chunk_particle_emitter.js +44 -85
- package/src/shade/renderer/particles/data/particle_header.d.ts +62 -0
- package/src/shade/renderer/particles/data/particle_header.d.ts.map +1 -0
- package/src/shade/renderer/particles/data/particle_header.js +103 -0
- package/src/shade/renderer/particles/graph/ParticleGroupBuilder.d.ts +179 -0
- package/src/shade/renderer/particles/graph/ParticleGroupBuilder.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/ParticleGroupBuilder.js +303 -0
- package/src/shade/renderer/particles/graph/ParticleNodeDescription.d.ts +120 -1
- package/src/shade/renderer/particles/graph/ParticleNodeDescription.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/ParticleNodeDescription.js +90 -1
- package/src/shade/renderer/particles/graph/ParticleNodeGroup.d.ts +283 -0
- package/src/shade/renderer/particles/graph/ParticleNodeGroup.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/ParticleNodeGroup.js +419 -0
- package/src/shade/renderer/particles/graph/ParticleNodeRegistry.d.ts +44 -2
- package/src/shade/renderer/particles/graph/ParticleNodeRegistry.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/ParticleNodeRegistry.js +476 -40
- package/src/shade/renderer/particles/graph/ParticleValueType.d.ts +188 -0
- package/src/shade/renderer/particles/graph/ParticleValueType.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/ParticleValueType.js +287 -0
- package/src/shade/renderer/particles/graph/compile_particle_graph.d.ts +16 -9
- package/src/shade/renderer/particles/graph/compile_particle_graph.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/compile_particle_graph.js +464 -205
- package/src/shade/renderer/particles/graph/flatten_particle_graph.d.ts +11 -0
- package/src/shade/renderer/particles/graph/flatten_particle_graph.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/flatten_particle_graph.js +213 -0
- package/src/shade/renderer/particles/graph/groups/particle_builtin_groups.d.ts +27 -0
- package/src/shade/renderer/particles/graph/groups/particle_builtin_groups.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/groups/particle_builtin_groups.js +75 -0
- package/src/shade/renderer/particles/graph/groups/particle_groups_geometry.d.ts +83 -0
- package/src/shade/renderer/particles/graph/groups/particle_groups_geometry.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/groups/particle_groups_geometry.js +319 -0
- package/src/shade/renderer/particles/graph/groups/particle_groups_noise.d.ts +22 -0
- package/src/shade/renderer/particles/graph/groups/particle_groups_noise.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/groups/particle_groups_noise.js +517 -0
- package/src/shade/renderer/particles/graph/groups/particle_groups_utility.d.ts +70 -0
- package/src/shade/renderer/particles/graph/groups/particle_groups_utility.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/groups/particle_groups_utility.js +161 -0
- package/src/shade/renderer/particles/graph/groups/simplex_reference.d.ts +8 -0
- package/src/shade/renderer/particles/graph/groups/simplex_reference.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/groups/simplex_reference.js +159 -0
- package/src/shade/renderer/particles/graph/infer_particle_graph_types.d.ts +88 -0
- package/src/shade/renderer/particles/graph/infer_particle_graph_types.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/infer_particle_graph_types.js +234 -0
- package/src/shade/renderer/particles/graph/make_particle_group.d.ts +98 -0
- package/src/shade/renderer/particles/graph/make_particle_group.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/make_particle_group.js +427 -0
- package/src/shade/renderer/particles/graph/particle_graph_authoring.d.ts +11 -4
- package/src/shade/renderer/particles/graph/particle_graph_authoring.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/particle_graph_authoring.js +121 -108
- package/src/shade/renderer/particles/graph/particle_graph_diagnostic.d.ts +38 -0
- package/src/shade/renderer/particles/graph/particle_graph_diagnostic.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/particle_graph_diagnostic.js +25 -0
- package/src/shade/renderer/particles/graph/particle_graph_distributions.d.ts +29 -0
- package/src/shade/renderer/particles/graph/particle_graph_distributions.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/particle_graph_distributions.js +170 -0
- package/src/shade/renderer/particles/graph/particle_graph_json.d.ts +87 -0
- package/src/shade/renderer/particles/graph/particle_graph_json.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/particle_graph_json.js +196 -0
- package/src/shade/renderer/particles/graph/particle_group_json.d.ts +86 -0
- package/src/shade/renderer/particles/graph/particle_group_json.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/particle_group_json.js +182 -0
- package/src/shade/renderer/particles/graph/particle_group_library.d.ts +33 -0
- package/src/shade/renderer/particles/graph/particle_group_library.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/particle_group_library.js +75 -0
- package/src/shade/renderer/particles/graph/particle_node_library.d.ts +37 -0
- package/src/shade/renderer/particles/graph/particle_node_library.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/particle_node_library.js +64 -0
- package/src/shade/renderer/particles/graph/particle_node_parameters.d.ts +146 -0
- package/src/shade/renderer/particles/graph/particle_node_parameters.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/particle_node_parameters.js +234 -0
- package/src/shade/renderer/particles/graph/particle_node_presentation.d.ts +30 -0
- package/src/shade/renderer/particles/graph/particle_node_presentation.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/particle_node_presentation.js +286 -0
- package/src/shade/renderer/particles/graph/validate_particle_graph.d.ts +66 -0
- package/src/shade/renderer/particles/graph/validate_particle_graph.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph/validate_particle_graph.js +439 -0
- package/src/shade/renderer/particles/graph_particles.d.ts +143 -68
- package/src/shade/renderer/particles/graph_particles.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph_particles.js +424 -71
- package/src/shade/renderer/particles/graph_particles_avboit.d.ts +107 -0
- package/src/shade/renderer/particles/graph_particles_avboit.d.ts.map +1 -0
- package/src/shade/renderer/particles/graph_particles_avboit.js +312 -0
- package/src/shade/renderer/particles/isa/InstructionStream.d.ts +41 -8
- package/src/shade/renderer/particles/isa/InstructionStream.d.ts.map +1 -1
- package/src/shade/renderer/particles/isa/InstructionStream.js +111 -33
- package/src/shade/renderer/particles/isa/ParticleAssembler.d.ts +13 -10
- package/src/shade/renderer/particles/isa/ParticleAssembler.d.ts.map +1 -1
- package/src/shade/renderer/particles/isa/ParticleAssembler.js +30 -26
- package/src/shade/renderer/particles/isa/ParticleProgram.d.ts +27 -15
- package/src/shade/renderer/particles/isa/ParticleProgram.d.ts.map +1 -1
- package/src/shade/renderer/particles/isa/ParticleProgram.js +139 -34
- package/src/shade/renderer/particles/isa/ParticleVMISA.d.ts +117 -9
- package/src/shade/renderer/particles/isa/ParticleVMISA.d.ts.map +1 -1
- package/src/shade/renderer/particles/isa/ParticleVMISA.js +296 -37
- package/src/shade/renderer/particles/isa/particle_assembly.d.ts +149 -0
- package/src/shade/renderer/particles/isa/particle_assembly.d.ts.map +1 -0
- package/src/shade/renderer/particles/isa/particle_assembly.js +999 -0
- package/src/shade/renderer/particles/layout/ParticleLayout.d.ts +25 -3
- package/src/shade/renderer/particles/layout/ParticleLayout.d.ts.map +1 -1
- package/src/shade/renderer/particles/layout/ParticleLayout.js +33 -5
- package/src/shade/renderer/particles/optimizer/optimize_particle_program.d.ts +160 -0
- package/src/shade/renderer/particles/optimizer/optimize_particle_program.d.ts.map +1 -0
- package/src/shade/renderer/particles/optimizer/optimize_particle_program.js +478 -0
- package/src/shade/renderer/particles/optimizer/particle_program_analysis.d.ts +291 -0
- package/src/shade/renderer/particles/optimizer/particle_program_analysis.d.ts.map +1 -0
- package/src/shade/renderer/particles/optimizer/particle_program_analysis.js +647 -0
- package/src/shade/renderer/particles/optimizer/particle_program_equivalence.d.ts +95 -0
- package/src/shade/renderer/particles/optimizer/particle_program_equivalence.d.ts.map +1 -0
- package/src/shade/renderer/particles/optimizer/particle_program_equivalence.js +213 -0
- package/src/shade/renderer/particles/optimizer/particle_program_fuzz.d.ts +16 -0
- package/src/shade/renderer/particles/optimizer/particle_program_fuzz.d.ts.map +1 -0
- package/src/shade/renderer/particles/optimizer/particle_program_fuzz.js +223 -0
- package/src/shade/renderer/particles/optimizer/particle_vm_semantics.d.ts +121 -0
- package/src/shade/renderer/particles/optimizer/particle_vm_semantics.d.ts.map +1 -0
- package/src/shade/renderer/particles/optimizer/particle_vm_semantics.js +206 -0
- package/src/shade/renderer/particles/optimizer/pass_dedup_constants.d.ts +11 -0
- package/src/shade/renderer/particles/optimizer/pass_dedup_constants.d.ts.map +1 -0
- package/src/shade/renderer/particles/optimizer/pass_dedup_constants.js +197 -0
- package/src/shade/renderer/particles/optimizer/pass_eliminate_dead_code.d.ts +4 -0
- package/src/shade/renderer/particles/optimizer/pass_eliminate_dead_code.d.ts.map +1 -0
- package/src/shade/renderer/particles/optimizer/pass_eliminate_dead_code.js +51 -0
- package/src/shade/renderer/particles/optimizer/pass_fold_constants.d.ts +4 -0
- package/src/shade/renderer/particles/optimizer/pass_fold_constants.d.ts.map +1 -0
- package/src/shade/renderer/particles/optimizer/pass_fold_constants.js +561 -0
- package/src/shade/renderer/particles/optimizer/pass_narrow_widths.d.ts +4 -0
- package/src/shade/renderer/particles/optimizer/pass_narrow_widths.d.ts.map +1 -0
- package/src/shade/renderer/particles/optimizer/pass_narrow_widths.js +72 -0
- package/src/shade/renderer/particles/optimizer/pass_pack_registers.d.ts +4 -0
- package/src/shade/renderer/particles/optimizer/pass_pack_registers.d.ts.map +1 -0
- package/src/shade/renderer/particles/optimizer/pass_pack_registers.js +86 -0
- package/src/shade/renderer/particles/optimizer/pass_peephole.d.ts +4 -0
- package/src/shade/renderer/particles/optimizer/pass_peephole.d.ts.map +1 -0
- package/src/shade/renderer/particles/optimizer/pass_peephole.js +271 -0
- package/src/shade/renderer/particles/optimizer/pass_propagate_copies.d.ts +4 -0
- package/src/shade/renderer/particles/optimizer/pass_propagate_copies.d.ts.map +1 -0
- package/src/shade/renderer/particles/optimizer/pass_propagate_copies.js +268 -0
- package/src/shade/renderer/particles/optimizer/pass_share_subexpressions.d.ts +4 -0
- package/src/shade/renderer/particles/optimizer/pass_share_subexpressions.d.ts.map +1 -0
- package/src/shade/renderer/particles/optimizer/pass_share_subexpressions.js +151 -0
- package/src/shade/renderer/particles/particle_test_fixtures.d.ts +131 -0
- package/src/shade/renderer/particles/particle_test_fixtures.d.ts.map +1 -0
- package/src/shade/renderer/particles/particle_test_fixtures.js +203 -0
- package/src/shade/renderer/particles/runtime/Emitter.d.ts +219 -0
- package/src/shade/renderer/particles/runtime/Emitter.d.ts.map +1 -0
- package/src/shade/renderer/particles/runtime/EmitterRegistry.d.ts +128 -60
- package/src/shade/renderer/particles/runtime/EmitterRegistry.d.ts.map +1 -1
- package/src/shade/renderer/particles/runtime/EmitterRegistry.js +286 -117
- package/src/shade/renderer/particles/runtime/ParticleEmitter.d.ts +264 -0
- package/src/shade/renderer/particles/runtime/ParticleEmitter.d.ts.map +1 -0
- package/src/shade/renderer/particles/runtime/ParticleEmitter.js +404 -0
- package/src/shade/renderer/particles/runtime/ParticleSpawnScheduler.d.ts +49 -15
- package/src/shade/renderer/particles/runtime/ParticleSpawnScheduler.d.ts.map +1 -1
- package/src/shade/renderer/particles/runtime/ProgramArena.d.ts +51 -18
- package/src/shade/renderer/particles/runtime/ProgramArena.d.ts.map +1 -1
- package/src/shade/renderer/particles/runtime/ProgramArena.js +72 -32
- package/src/shade/renderer/particles/runtime/create_particle_effect.d.ts +4 -4
- package/src/shade/renderer/particles/runtime/create_particle_effect.d.ts.map +1 -1
- package/src/shade/renderer/particles/runtime/create_particle_effect.js +4 -4
- package/src/shade/renderer/particles/runtime/emitter_database_image.d.ts +15 -0
- package/src/shade/renderer/particles/runtime/emitter_database_image.d.ts.map +1 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_avboit_contribution.d.ts +17 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_avboit_contribution.d.ts.map +1 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_avboit_contribution.js +75 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.d.ts +20 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.d.ts.map +1 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.js +94 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_context.d.ts +15 -5
- package/src/shade/renderer/particles/shaders/chunk_particle_context.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_curve_animation.d.ts +1 -2
- package/src/shade/renderer/particles/shaders/chunk_particle_curve_animation.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_curve_animation.js +1 -2
- package/src/shade/renderer/particles/shaders/chunk_particle_curve_disabled.d.ts +11 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_curve_disabled.d.ts.map +1 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_curve_disabled.js +13 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_emitter_age.d.ts +17 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_emitter_age.d.ts.map +1 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_emitter_age.js +22 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_emitter_world_sphere.d.ts +14 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_emitter_world_sphere.d.ts.map +1 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_emitter_world_sphere.js +23 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_render_math.js +1 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_scene_view_depth.d.ts +18 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_scene_view_depth.d.ts.map +1 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_scene_view_depth.js +24 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_setup_context.d.ts +26 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_setup_context.d.ts.map +1 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_setup_context.js +59 -0
- package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.d.ts +14 -0
- package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.d.ts.map +1 -0
- package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.js +153 -0
- package/src/shade/renderer/particles/shaders/shader_particle_avboit_occupancy.d.ts +3 -0
- package/src/shade/renderer/particles/shaders/shader_particle_avboit_occupancy.d.ts.map +1 -0
- package/src/shade/renderer/particles/shaders/shader_particle_avboit_occupancy.js +124 -0
- package/src/shade/renderer/particles/shaders/shader_particle_avboit_splat.d.ts +19 -0
- package/src/shade/renderer/particles/shaders/shader_particle_avboit_splat.d.ts.map +1 -0
- package/src/shade/renderer/particles/shaders/shader_particle_avboit_splat.js +147 -0
- package/src/shade/renderer/particles/shaders/shader_particle_emit.d.ts +18 -8
- package/src/shade/renderer/particles/shaders/shader_particle_emit.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_emit.js +72 -37
- package/src/shade/renderer/particles/shaders/shader_particle_emitter_tick.d.ts +5 -0
- package/src/shade/renderer/particles/shaders/shader_particle_emitter_tick.d.ts.map +1 -0
- package/src/shade/renderer/particles/shaders/shader_particle_emitter_tick.js +216 -0
- package/src/shade/renderer/particles/shaders/shader_particle_finalize.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_finalize.js +7 -3
- package/src/shade/renderer/particles/shaders/shader_particle_render.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_render.js +132 -197
- package/src/shade/renderer/particles/shaders/shader_particle_simulate.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_simulate.js +78 -24
- package/src/shade/renderer/particles/shaders/shader_particle_spawn_commands.d.ts +26 -0
- package/src/shade/renderer/particles/shaders/shader_particle_spawn_commands.d.ts.map +1 -0
- package/src/shade/renderer/particles/shaders/shader_particle_spawn_commands.js +66 -0
- package/src/shade/renderer/particles/sort/shader_particle_sort.d.ts +1 -1
- package/src/shade/renderer/particles/sort/shader_particle_sort.d.ts.map +1 -1
- package/src/shade/renderer/particles/sort/shader_particle_sort.js +21 -36
- package/src/shade/renderer/particles/vm/ParticleVMReference.d.ts +2 -2
- package/src/shade/renderer/particles/vm/ParticleVMReference.d.ts.map +1 -1
- package/src/shade/renderer/particles/vm/ParticleVMReference.js +100 -90
- package/src/shade/renderer/particles/vm/chunk_particle_vm.d.ts.map +1 -1
- package/src/shade/renderer/particles/vm/chunk_particle_vm.js +270 -138
- package/src/shade/renderer/postprocess/denoise/debug/graph_pass_debug_reprojection.d.ts +1 -2
- 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 +0 -3
- package/src/shade/renderer/postprocess/dof/gather/DepthOfFieldU.js +1 -1
- package/src/shade/renderer/postprocess/dof/raymarch/DepthOfField.js +1 -1
- package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
- package/src/shade/renderer/postprocess/nss/NSS.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/nss/NSS.js +3 -2
- package/src/shade/renderer/postprocess/nss/generate_NSS_WEIGHTS_ACTUAL.js +3 -2
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts +87 -0
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.js +61 -0
- package/src/shade/renderer/rasterize/native/avboit/AVBOIT_LEDGER.md +179 -0
- package/src/shade/renderer/rasterize/native/avboit/AVBOIT_PLAN_2026_09_03.md +27 -2
- package/src/shade/renderer/rasterize/native/avboit/avboit_draw_fragment_body.d.ts +9 -2
- package/src/shade/renderer/rasterize/native/avboit/avboit_draw_fragment_body.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/avboit_draw_fragment_body.js +12 -3
- package/src/shade/renderer/rasterize/native/avboit/chunk_avboit_splat_slice.d.ts +18 -0
- package/src/shade/renderer/rasterize/native/avboit/chunk_avboit_splat_slice.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/native/avboit/chunk_avboit_splat_slice.js +58 -0
- package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.d.ts +25 -1
- 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 +69 -10
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_resolve.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_resolve.js +10 -4
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_splat.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_splat.js +4 -39
- package/src/shade/renderer/rasterize/standard/graph_rasterize_scene.d.ts +7 -2
- package/src/shade/renderer/rasterize/standard/graph_rasterize_scene.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/standard/graph_rasterize_scene.js +16 -2
- package/src/shade/renderer/scene/optimization/geometry/geometry_deduplicate.d.ts +3 -3
- package/src/shade/renderer/scene/optimization/geometry/geometry_deduplicate.d.ts.map +1 -1
- package/src/shade/renderer/scene/optimization/geometry/geometry_deduplicate.js +29 -23
- package/src/shade/renderer/scene/optimization/geometry/internal/anchor_grow_topological.d.ts +2 -2
- package/src/shade/renderer/scene/optimization/geometry/internal/anchor_grow_topological.d.ts.map +1 -1
- package/src/shade/renderer/scene/optimization/geometry/internal/anchor_grow_topological.js +3 -3
- package/src/shade/renderer/scene/optimization/geometry/internal/cover_greedy.d.ts +4 -4
- package/src/shade/renderer/scene/optimization/geometry/internal/cover_greedy.d.ts.map +1 -1
- package/src/shade/renderer/scene/optimization/geometry/internal/cover_greedy.js +2 -2
- package/src/shade/renderer/scene/optimization/geometry/internal/match_refit_validate.d.ts +2 -2
- package/src/shade/renderer/scene/optimization/geometry/internal/match_refit_validate.d.ts.map +1 -1
- package/src/shade/renderer/scene/optimization/geometry/internal/match_refit_validate.js +2 -2
- package/src/shade/renderer/scene/optimization/geometry/internal/match_solve_transform.d.ts +7 -7
- package/src/shade/renderer/scene/optimization/geometry/internal/match_solve_transform.d.ts.map +1 -1
- package/src/shade/renderer/scene/optimization/geometry/internal/match_solve_transform.js +79 -71
- package/src/shade/renderer/shader/chunk/math/chunk_lower_bound_branchless.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/math/chunk_lower_bound_branchless.js +3 -1
- package/src/shade/renderer/shader/chunk/random/chunk_hash_to_float01.d.ts +13 -3
- package/src/shade/renderer/shader/chunk/random/chunk_hash_to_float01.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/random/chunk_hash_to_float01.js +15 -5
- package/src/shade/renderer/shader/chunk/random/chunk_random_uint.d.ts +8 -0
- package/src/shade/renderer/shader/chunk/random/chunk_random_uint.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/random/chunk_random_uint.js +15 -5
- package/src/shade/renderer/shader/chunk/random/pcg/chunk_pcg.d.ts +7 -0
- package/src/shade/renderer/shader/chunk/random/pcg/chunk_pcg.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/random/pcg/chunk_pcg.js +17 -7
- package/src/shade/renderer/shader/chunk/random/pcg/chunk_pcg_advance.d.ts +17 -0
- package/src/shade/renderer/shader/chunk/random/pcg/chunk_pcg_advance.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/random/pcg/chunk_pcg_advance.js +26 -0
- package/src/shade/renderer/shader/chunk/random/pcg/chunk_pcg_output.d.ts +15 -0
- package/src/shade/renderer/shader/chunk/random/pcg/chunk_pcg_output.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/random/pcg/chunk_pcg_output.js +26 -0
- package/src/shade/renderer/shadow/map/DirectionalLightShadowmap.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/DirectionalLightShadowmap.js +8 -2
- package/src/shade/renderer/shadow/map/PointLightShadowmap.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/PointLightShadowmap.js +7 -2
- package/src/shade/renderer/shadow/map/SpotLightShadowmap.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/SpotLightShadowmap.js +3 -15
- package/src/shade/renderer/shadow/map/TetrahedronPointLightShadowmap.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/TetrahedronPointLightShadowmap.js +10 -4
- package/src/shade/renderer/shadow/vsm/GPUViewShadowMaps.d.ts.map +1 -1
- package/src/shade/renderer/shadow/vsm/GPUViewShadowMaps.js +7 -2
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.js +2 -2
- package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts +3 -3
- package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.js +3 -3
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.d.ts.map +1 -1
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.js +66 -5
- package/src/shade/wgsl/emulator/WGSLLanguageCore.d.ts.map +1 -1
- package/src/shade/wgsl/emulator/WGSLLanguageCore.js +35 -4
- package/src/view/minimap/Minimap.d.ts.map +1 -1
- package/src/view/minimap/Minimap.js +227 -225
- package/src/view/minimap/MinimapCanvasView.js +3 -3
- package/src/view/minimap/MinimapMarker.d.ts +45 -0
- package/src/view/minimap/MinimapMarker.d.ts.map +1 -0
- package/src/view/minimap/MinimapMarker.js +80 -0
- package/src/view/minimap/MinimapMarkerCollection.d.ts +6 -5
- package/src/view/minimap/MinimapMarkerCollection.d.ts.map +1 -1
- package/src/view/minimap/MinimapMarkerCollection.js +6 -6
- package/src/view/minimap/MinimapMarkerSerializationAdapter.d.ts +19 -0
- package/src/view/minimap/MinimapMarkerSerializationAdapter.d.ts.map +1 -0
- package/src/view/minimap/MinimapMarkerSerializationAdapter.js +42 -0
- package/src/view/minimap/dom/MinimapCameraView.d.ts +1 -1
- package/src/view/minimap/dom/MinimapCameraView.d.ts.map +1 -1
- package/src/view/minimap/dom/MinimapCameraView.js +23 -4
- package/src/view/minimap/dom/MinimapMarkerView.js +3 -3
- package/src/view/minimap/gl/MarkerGL.js +3 -3
- package/src/view/util/DomLayoutFrame.d.ts +53 -0
- package/src/view/util/DomLayoutFrame.d.ts.map +1 -0
- package/src/view/util/DomLayoutFrame.js +122 -0
- package/src/core/model/node-graph/visual/layout/BoxLayoutSpec.js +0 -19
- package/src/core/model/node-graph/visual/layout/ConnectedBoxLayouter.js +0 -241
- package/src/core/model/node-graph/visual/layout/ConnectionEndpointLayoutSpec.js +0 -40
- package/src/core/model/node-graph/visual/layout/ConnectionLayoutSpec.js +0 -28
- package/src/engine/ecs/util/hideEntityGracefully.js +0 -196
- package/src/shade/renderer/particles/cull/chunk_particle_cull.js +0 -38
- package/src/shade/renderer/particles/data/PARTICLE_EMITTER_LAYOUT.js +0 -214
- package/src/shade/renderer/particles/particle_prototype.d.ts.map +0 -1
- package/src/shade/renderer/particles/runtime/ParticleSpawnScheduler.js +0 -86
- package/src/shade/renderer/particles/runtime/spawn_request_encoding.js +0 -52
- package/src/shade/renderer/particles/shaders/chunk_particle_context.js +0 -58
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { assert } from "../../../assert.js";
|
|
1
2
|
import { aabb3_transform_oriented } from "../aabb/aabb3_transform_oriented.js";
|
|
2
3
|
import { AbstractShape3D } from "./AbstractShape3D.js";
|
|
3
4
|
|
|
@@ -46,9 +47,40 @@ export class PosedShape3D extends AbstractShape3D {
|
|
|
46
47
|
* @param {Quaternion|{x:number,y:number,z:number,w:number}} rotation
|
|
47
48
|
*/
|
|
48
49
|
setup(shape, position, rotation) {
|
|
50
|
+
// An array-shaped pose - a Float64Array triple, a Transform64's translation view, a literal
|
|
51
|
+
// [x, y, z] - reads back as undefined here and quietly poses the shape at NaN, where every
|
|
52
|
+
// support query answers "no hit". Two call sites had done exactly that. Arrays go through
|
|
53
|
+
// setup_components instead, and this says so rather than silently disappearing.
|
|
54
|
+
assert.isNumber(position.x, 'position.x');
|
|
55
|
+
assert.isNumber(rotation.w, 'rotation.w');
|
|
56
|
+
|
|
57
|
+
this.setup_components(
|
|
58
|
+
shape,
|
|
59
|
+
position.x, position.y, position.z,
|
|
60
|
+
rotation.x, rotation.y, rotation.z, rotation.w
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The same, from loose components.
|
|
66
|
+
*
|
|
67
|
+
* A pose does not always arrive as a pair of objects: a `Transform64` keeps its translation and
|
|
68
|
+
* rotation as numbers inside one buffer, and reading them through its view accessors would build
|
|
69
|
+
* two throwaway arrays per call, in a loop that runs per collider per step.
|
|
70
|
+
*
|
|
71
|
+
* @param {AbstractShape3D} shape
|
|
72
|
+
* @param {number} px
|
|
73
|
+
* @param {number} py
|
|
74
|
+
* @param {number} pz
|
|
75
|
+
* @param {number} qx
|
|
76
|
+
* @param {number} qy
|
|
77
|
+
* @param {number} qz
|
|
78
|
+
* @param {number} qw
|
|
79
|
+
*/
|
|
80
|
+
setup_components(shape, px, py, pz, qx, qy, qz, qw) {
|
|
49
81
|
this.shape = shape;
|
|
50
|
-
this.px =
|
|
51
|
-
this.qx =
|
|
82
|
+
this.px = px; this.py = py; this.pz = pz;
|
|
83
|
+
this.qx = qx; this.qy = qy; this.qz = qz; this.qw = qw;
|
|
52
84
|
}
|
|
53
85
|
|
|
54
86
|
/**
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Escapes a string for use inside a GraphViz **HTML-like** label, that is `label=<...>` rather than
|
|
3
|
+
* `label="..."`.
|
|
4
|
+
*
|
|
5
|
+
* The two label syntaxes have nothing in common. Inside `<...>` the text is parsed as markup, so a
|
|
6
|
+
* bare `&`, `<` or `>` is a syntax error that makes graphviz refuse **the whole file** rather than
|
|
7
|
+
* the one node — which is exactly when a pass gets named something descriptive. And the
|
|
8
|
+
* backslash escapes {@link graphviz_escape_string} produces are not processed there at all: they
|
|
9
|
+
* render as literal backslashes.
|
|
10
|
+
*
|
|
11
|
+
* @param {string} input The raw string to be escaped.
|
|
12
|
+
* @returns {string} The escaped string, safe to interpolate into an HTML-like label.
|
|
13
|
+
* @see graphviz_escape_string for the `label="..."` / quoted-attribute case
|
|
14
|
+
* @see https://graphviz.org/doc/info/shapes.html#html
|
|
15
|
+
*/
|
|
16
|
+
export function graphviz_escape_html_label(input: string): string;
|
|
17
|
+
//# sourceMappingURL=graphviz_escape_html_label.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphviz_escape_html_label.d.ts","sourceRoot":"","sources":["../../../../../../src/core/graph/format/graphviz/graphviz_escape_html_label.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,kDALW,MAAM,GACJ,MAAM,CAWlB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { assert } from "../../../assert.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Escapes a string for use inside a GraphViz **HTML-like** label, that is `label=<...>` rather than
|
|
5
|
+
* `label="..."`.
|
|
6
|
+
*
|
|
7
|
+
* The two label syntaxes have nothing in common. Inside `<...>` the text is parsed as markup, so a
|
|
8
|
+
* bare `&`, `<` or `>` is a syntax error that makes graphviz refuse **the whole file** rather than
|
|
9
|
+
* the one node — which is exactly when a pass gets named something descriptive. And the
|
|
10
|
+
* backslash escapes {@link graphviz_escape_string} produces are not processed there at all: they
|
|
11
|
+
* render as literal backslashes.
|
|
12
|
+
*
|
|
13
|
+
* @param {string} input The raw string to be escaped.
|
|
14
|
+
* @returns {string} The escaped string, safe to interpolate into an HTML-like label.
|
|
15
|
+
* @see graphviz_escape_string for the `label="..."` / quoted-attribute case
|
|
16
|
+
* @see https://graphviz.org/doc/info/shapes.html#html
|
|
17
|
+
*/
|
|
18
|
+
export function graphviz_escape_html_label(input) {
|
|
19
|
+
assert.isString(input, 'input');
|
|
20
|
+
|
|
21
|
+
return input
|
|
22
|
+
.replace(/&/g, '&') // first, or it would escape the ampersands introduced below
|
|
23
|
+
.replace(/</g, '<')
|
|
24
|
+
.replace(/>/g, '>');
|
|
25
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Escapes a string for use inside a plain **quoted attribute**, such as `tooltip="..."` or a
|
|
3
|
+
* cluster's `label="..."` — anywhere the value is text rather than a record label.
|
|
4
|
+
*
|
|
5
|
+
* Only the two characters that would end or corrupt the quoted string, plus newlines.
|
|
6
|
+
* {@link graphviz_escape_string} additionally backslash-escapes `|`, `{` and `}`, which is right
|
|
7
|
+
* for `shape=record` label syntax and wrong everywhere else: in an ordinary attribute those are
|
|
8
|
+
* ordinary characters, and the escapes are rendered as literal backslashes.
|
|
9
|
+
*
|
|
10
|
+
* @param {string} input The raw string to be escaped.
|
|
11
|
+
* @returns {string} The escaped string, safe to sit inside double quotes.
|
|
12
|
+
* @see graphviz_escape_string for the record-label case
|
|
13
|
+
* @see https://graphviz.org/docs/attr-types/escString/
|
|
14
|
+
*/
|
|
15
|
+
export function graphviz_escape_quoted(input: string): string;
|
|
16
|
+
//# sourceMappingURL=graphviz_escape_quoted.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphviz_escape_quoted.d.ts","sourceRoot":"","sources":["../../../../../../src/core/graph/format/graphviz/graphviz_escape_quoted.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,8CALW,MAAM,GACJ,MAAM,CAWlB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { assert } from "../../../assert.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Escapes a string for use inside a plain **quoted attribute**, such as `tooltip="..."` or a
|
|
5
|
+
* cluster's `label="..."` — anywhere the value is text rather than a record label.
|
|
6
|
+
*
|
|
7
|
+
* Only the two characters that would end or corrupt the quoted string, plus newlines.
|
|
8
|
+
* {@link graphviz_escape_string} additionally backslash-escapes `|`, `{` and `}`, which is right
|
|
9
|
+
* for `shape=record` label syntax and wrong everywhere else: in an ordinary attribute those are
|
|
10
|
+
* ordinary characters, and the escapes are rendered as literal backslashes.
|
|
11
|
+
*
|
|
12
|
+
* @param {string} input The raw string to be escaped.
|
|
13
|
+
* @returns {string} The escaped string, safe to sit inside double quotes.
|
|
14
|
+
* @see graphviz_escape_string for the record-label case
|
|
15
|
+
* @see https://graphviz.org/docs/attr-types/escString/
|
|
16
|
+
*/
|
|
17
|
+
export function graphviz_escape_quoted(input) {
|
|
18
|
+
assert.isString(input, 'input');
|
|
19
|
+
|
|
20
|
+
return input
|
|
21
|
+
.replace(/\\/g, '\\\\')
|
|
22
|
+
.replace(/"/g, '\\"')
|
|
23
|
+
.replace(/\n/g, '\\n');
|
|
24
|
+
}
|
|
@@ -43,6 +43,18 @@ export class NodeGraph {
|
|
|
43
43
|
*/
|
|
44
44
|
readonly get version(): number;
|
|
45
45
|
/**
|
|
46
|
+
* Changes to the graph's structure, announced once the graph is consistent again.
|
|
47
|
+
*
|
|
48
|
+
* A connection is not one fact but three — an entry in {@link #connections}, and a link on each
|
|
49
|
+
* of the two endpoints it joins — and everything that asks what is wired to a port reads the
|
|
50
|
+
* endpoint links rather than the list. These signals are the list's own, so the endpoint links
|
|
51
|
+
* are written before a connection joins the list and erased before it leaves: a listener always
|
|
52
|
+
* sees a whole edit rather than the middle of one.
|
|
53
|
+
*
|
|
54
|
+
* Without that, a validator run from `connectionRemoved` would still find the wire that was
|
|
55
|
+
* just cut, and one run from `connectionAdded` would not find the wire that was just made — so
|
|
56
|
+
* every diagnostic in the editor would describe the graph as it was one edit ago.
|
|
57
|
+
*
|
|
46
58
|
* @readonly
|
|
47
59
|
*/
|
|
48
60
|
readonly on: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeGraph.d.ts","sourceRoot":"","sources":["../../../../../src/core/model/node-graph/NodeGraph.js"],"names":[],"mappings":"AASA;;;;;;;;GAQG;AACH;IAEI;;;;OAIG;IACH,uBAAmB;IAEnB;;;;;OAKG;IACH,6BAAyB;IAEzB;;;;;OAKG;IACH,4BAA0B;IAE1B;;;;;OAKG;IACH,kCAAgC;IAQhC;;;;;OAKG;IACH,+BAEC;IAED
|
|
1
|
+
{"version":3,"file":"NodeGraph.d.ts","sourceRoot":"","sources":["../../../../../src/core/model/node-graph/NodeGraph.js"],"names":[],"mappings":"AASA;;;;;;;;GAQG;AACH;IAEI;;;;OAIG;IACH,uBAAmB;IAEnB;;;;;OAKG;IACH,6BAAyB;IAEzB;;;;;OAKG;IACH,4BAA0B;IAE1B;;;;;OAKG;IACH,kCAAgC;IAQhC;;;;;OAKG;IACH,+BAEC;IAED;;;;;;;;;;;;;;OAcG;IACH;QACI;;;WAGG;;QAGH;;;WAGG;;QAGH;;;WAGG;;QAGH;;;WAGG;;MAEL;IAEF;;OAEG;IACH,cAQC;IAED;;;OAGG;IACH,YAFW,SAAS,QAYnB;IAED;;;OAGG;IACH,SAFa,SAAS,CAQrB;IAED;;;;;;OAMG;IACH,aAHW,SAAS,GACP;QAAC,WAAW,EAAC,UAAU,EAAE,CAAC;QAAC,KAAK,EAAC,YAAY,EAAE,CAAA;KAAC,CAe5D;IAED;;;;;;;;OAQG;IACH,sCAJW,YAAY,EAAE,GAEZ;QAAC,WAAW,EAAC,UAAU,EAAE,CAAC;QAAC,KAAK,EAAC,YAAY,EAAE,CAAA;KAAC,CAmF5D;IAED;;;;OAIG;IACH,8BAHoB,YAAY,+BAK/B;IAED;;;;OAIG;IACH,oCAHoB,UAAU,+BAK7B;IAED;;;;OAIG;IACH,YAFY,YAAY,EAAE,CAIzB;IAED;;;;OAIG;IACH,kBAFY,UAAU,EAAE,CAIvB;IAED;;;;OAIG;IACH,cAHW,YAAY,GACV,OAAO,CAgBnB;IAED;;;;OAIG;IACH,qDAFa,YAAY,EAAE,CAsB1B;IAED;;;;OAIG;IACH,0DAFa,YAAY,EAAE,CAqB1B;IAED;;;;OAIG;IACH,YAHW,MAAM,GACJ,YAAY,GAAC,SAAS,CAkBlC;IAED;;;;;OAKG;IACH,gBAJW,MAAM,GACJ,YAAY,CAWxB;IAED;;;;OAIG;IACH,kBAHW,MAAM,GACJ,UAAU,GAAC,SAAS,CAgBhC;IAED;;;;;OAKG;IACH,+BAJW,MAAM,WACN,MAAM,GACJ,4BAA0B,SAAS,CAY/C;IAED;;;;OAIG;IACH,mCAFa,MAAM,CAclB;IAED;;;OAGG;IACH,cAFW,YAAY,QAkBtB;IAED;;;;OAIG;IACH,eAHW,MAAM,GACJ,OAAO,CA8BnB;IAED;;;;;;;;OAQG;IACH,uCANW,MAAM,cACN,MAAM,cACN,MAAM,cACN,MAAM,GACJ,MAAM,CAqClB;IAED;;;;;;;;OAQG;IACH,6BAPW,MAAM,cACN,MAAM,cACN,MAAM,cACN,MAAM,GACJ,MAAM,CAwDlB;IAED;;;;;;;OAOG;IACH,0BAHW,UAAU,GACR,MAAM,CA4BlB;IAED;;;;OAIG;IACH,qBAHW,MAAM,GACJ,OAAO,CA6BnB;IAED;;;;;OAKG;IACH,iCAJW,MAAM,UACN,MAAM,EAAE,GACN,MAAM,CAyBlB;IAED,mBAEC;IAGL;;;;;;;;OAQG;IACH,sBAFU,OAAO,CAEc;;CAX9B;6BA/tB4B,wBAAwB;2BAD1B,iBAAiB"}
|
|
@@ -66,6 +66,18 @@ export class NodeGraph {
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
/**
|
|
69
|
+
* Changes to the graph's structure, announced once the graph is consistent again.
|
|
70
|
+
*
|
|
71
|
+
* A connection is not one fact but three — an entry in {@link #connections}, and a link on each
|
|
72
|
+
* of the two endpoints it joins — and everything that asks what is wired to a port reads the
|
|
73
|
+
* endpoint links rather than the list. These signals are the list's own, so the endpoint links
|
|
74
|
+
* are written before a connection joins the list and erased before it leaves: a listener always
|
|
75
|
+
* sees a whole edit rather than the middle of one.
|
|
76
|
+
*
|
|
77
|
+
* Without that, a validator run from `connectionRemoved` would still find the wire that was
|
|
78
|
+
* just cut, and one run from `connectionAdded` would not find the wire that was just made — so
|
|
79
|
+
* every diagnostic in the editor would describe the graph as it was one edit ago.
|
|
80
|
+
*
|
|
69
81
|
* @readonly
|
|
70
82
|
*/
|
|
71
83
|
on = {
|
|
@@ -608,8 +620,6 @@ export class NodeGraph {
|
|
|
608
620
|
const id = this.__idpConnections.get();
|
|
609
621
|
connection.id = id;
|
|
610
622
|
|
|
611
|
-
this.connections.add(connection);
|
|
612
|
-
|
|
613
623
|
// add connection links to the nodes
|
|
614
624
|
sourceNodeInstance.connections.addUnique(connection);
|
|
615
625
|
targetNodeInstance.connections.addUnique(connection);
|
|
@@ -617,6 +627,9 @@ export class NodeGraph {
|
|
|
617
627
|
array_push_if_unique(sourceEndpoint.connections, connection);
|
|
618
628
|
array_push_if_unique(targetEndpoint.connections, connection);
|
|
619
629
|
|
|
630
|
+
// last, because this is what announces the addition: see the note on #on
|
|
631
|
+
this.connections.add(connection);
|
|
632
|
+
|
|
620
633
|
this.#version++;
|
|
621
634
|
|
|
622
635
|
return id;
|
|
@@ -643,8 +656,6 @@ export class NodeGraph {
|
|
|
643
656
|
const sourceEndpoint = connection.source;
|
|
644
657
|
const targetEndpoint = connection.target;
|
|
645
658
|
|
|
646
|
-
this.connections.add(connection);
|
|
647
|
-
|
|
648
659
|
// add connection links to the nodes
|
|
649
660
|
sourceEndpoint.instance.connections.addUnique(connection);
|
|
650
661
|
targetEndpoint.instance.connections.addUnique(connection);
|
|
@@ -652,6 +663,9 @@ export class NodeGraph {
|
|
|
652
663
|
array_push_if_unique(sourceEndpoint.connections, connection);
|
|
653
664
|
array_push_if_unique(targetEndpoint.connections, connection);
|
|
654
665
|
|
|
666
|
+
// last, because this is what announces the addition: see the note on #on
|
|
667
|
+
this.connections.add(connection);
|
|
668
|
+
|
|
655
669
|
this.#version++;
|
|
656
670
|
|
|
657
671
|
return connection.id;
|
|
@@ -670,8 +684,6 @@ export class NodeGraph {
|
|
|
670
684
|
return false;
|
|
671
685
|
}
|
|
672
686
|
|
|
673
|
-
this.connections.removeOneOf(connection);
|
|
674
|
-
|
|
675
687
|
// remove from end-point nodes
|
|
676
688
|
const sourceEndpoint = connection.source;
|
|
677
689
|
const targetEndpoint = connection.target;
|
|
@@ -682,6 +694,9 @@ export class NodeGraph {
|
|
|
682
694
|
array_remove_first(sourceEndpoint.connections, connection);
|
|
683
695
|
array_remove_first(targetEndpoint.connections, connection);
|
|
684
696
|
|
|
697
|
+
// last, because this is what announces the removal: see the note on #on
|
|
698
|
+
this.connections.removeOneOf(connection);
|
|
699
|
+
|
|
685
700
|
//release id, mirroring deleteNode
|
|
686
701
|
this.__idpConnections.release(id);
|
|
687
702
|
|
|
@@ -11,6 +11,32 @@ export class NodeDescription {
|
|
|
11
11
|
* @type {string}
|
|
12
12
|
*/
|
|
13
13
|
name: string;
|
|
14
|
+
/**
|
|
15
|
+
* What to call this node type in front of a person, where that is not what {@link #name} is.
|
|
16
|
+
*
|
|
17
|
+
* A library's names are addresses: they are what a graph serializes, what code looks a type up
|
|
18
|
+
* by, and so they are terse and they do not change. `div`, `mad`, `setAttribute`. None of those
|
|
19
|
+
* is what an author reads them as, and a graph that only ever shows them makes every reader
|
|
20
|
+
* translate — so a view shows this and the model keeps the name.
|
|
21
|
+
*
|
|
22
|
+
* Empty means the name is already what to show, which is the honest answer for a type called
|
|
23
|
+
* `clamp`. Read it through {@link #getDisplayLabel} rather than directly.
|
|
24
|
+
*
|
|
25
|
+
* @type {string}
|
|
26
|
+
*/
|
|
27
|
+
display_label: string;
|
|
28
|
+
/**
|
|
29
|
+
* A glyph for this node type: SVG path data drawn in a 24x24 box, or an empty string for a type
|
|
30
|
+
* with no icon.
|
|
31
|
+
*
|
|
32
|
+
* Path data rather than an image because an icon here is small, is drawn at several sizes, and
|
|
33
|
+
* has to take the colour of whatever it is sitting in — and because a library of node types
|
|
34
|
+
* that ships as source has nowhere to put a hundred PNGs. `stroke` and `currentColor` are the
|
|
35
|
+
* view's business; this is the shape.
|
|
36
|
+
*
|
|
37
|
+
* @type {string}
|
|
38
|
+
*/
|
|
39
|
+
icon: string;
|
|
14
40
|
/**
|
|
15
41
|
* A unique identifier in the scope of a single registry
|
|
16
42
|
* If two nodes belong to the same registry - they must have different IDs
|
|
@@ -44,6 +70,16 @@ export class NodeDescription {
|
|
|
44
70
|
*/
|
|
45
71
|
readonly portRemoved: any;
|
|
46
72
|
};
|
|
73
|
+
/**
|
|
74
|
+
* What to show a person for this node type: {@link #display_label} where there is one, and
|
|
75
|
+
* {@link #name} otherwise.
|
|
76
|
+
*
|
|
77
|
+
* The one place the fallback lives, so every view that puts a node type in front of somebody —
|
|
78
|
+
* the node itself, a palette, a search result, a diagnostic — agrees on what it is called.
|
|
79
|
+
*
|
|
80
|
+
* @returns {string}
|
|
81
|
+
*/
|
|
82
|
+
getDisplayLabel(): string;
|
|
47
83
|
/**
|
|
48
84
|
* Perform additional processing on the node instance
|
|
49
85
|
* This gives us an opportunity to add/change ports based on current state of a specific node instance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeDescription.d.ts","sourceRoot":"","sources":["../../../../../../src/core/model/node-graph/node/NodeDescription.js"],"names":[],"mappings":"AAwCA;
|
|
1
|
+
{"version":3,"file":"NodeDescription.d.ts","sourceRoot":"","sources":["../../../../../../src/core/model/node-graph/node/NodeDescription.js"],"names":[],"mappings":"AAwCA;IA+ZI;;;;;OAKG;IACH,iDAFa,eAAe,CAQ3B;IA1aD;;;OAGG;IACH,MAFU,MAAM,CAEN;IAEV;;;;;;;;;;;;OAYG;IACH,eAFU,MAAM,CAEG;IAEnB;;;;;;;;;;OAUG;IACH,MAFU,MAAM,CAEN;IAEV;;;;;;OAMG;IACH,IAFU,MAAM,CAEO;IAEvB;;;OAGG;IACH,iBAFU,IAAI,EAAE,CAEL;IAEX;;;OAGG;IACH,YAFU,wBAAwB,EAAE,CAEpB;IAEhB;;OAEG;IACH;QACI;;;WAGG;;QAEH;;;WAGG;;MAEL;IAEF;;;;;;;;OAQG;IACH,mBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,4CAEC;IAED;;;OAGG;IACH,uBAEC;IAED;;;OAGG;IACH,sBAEC;IAED;;;;;;OAMG;IACH,sBALW,MAAM,QACN,qBAAqB,iBACrB,MAAM,GAAC,OAAO,GAAC,MAAM,GACnB,MAAM,CA0ClB;IAED;;;;OAIG;IACH,iBAHW,MAAM,GACJ,wBAAwB,GAAC,IAAI,CAiBzC;IAGD;;;;;;OAMG;IACH,oDAHW,aAAa,GACX,MAAM,CA2BlB;IAED;;;;OAIG;IACH,eAHW,MAAM,GACJ,OAAO,CAuBnB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GACJ,IAAI,GAAC,IAAI,CAgBrB;IAED;;;;OAIG;IACH,qBAHW,MAAM,GACL,IAAI,EAAE,CAwBjB;IAED;;;;;OAKG;IACH,+BAHW,aAAa,GACZ,OAAO,CAiBlB;IAED;;;;OAIG;IACH,+BAHW,aAAa,GACZ,IAAI,EAAE,CAuBjB;IAED;;;;;OAKG;IACH,iCAJW,MAAM,aACN,aAAa,GACZ,IAAI,GAAC,SAAS,CAmBzB;IAED;;;OAGG;IACH,YAFa,IAAI,EAAE,CAIlB;IAED;;;OAGG;IACH,QAFY,MAAM,CAIjB;IAED;;;;OAIG;IACH,cAHW,eAAe,GACb,OAAO,CAYnB;IAED,mBAEC;IAED;;;;MAMC;IAgBD;;;;;;OAMG;IACH,8BALW,EAAE,gCAaZ;IAKL;;;OAGG;IACH,4BAFU,OAAO,CAE0B;CAR1C;;;;qBA9doB,WAAW;yCADS,yCAAyC;sCAD5C,sCAAsC;8BAG9C,oBAAoB"}
|
|
@@ -45,6 +45,34 @@ export class NodeDescription {
|
|
|
45
45
|
*/
|
|
46
46
|
name = "";
|
|
47
47
|
|
|
48
|
+
/**
|
|
49
|
+
* What to call this node type in front of a person, where that is not what {@link #name} is.
|
|
50
|
+
*
|
|
51
|
+
* A library's names are addresses: they are what a graph serializes, what code looks a type up
|
|
52
|
+
* by, and so they are terse and they do not change. `div`, `mad`, `setAttribute`. None of those
|
|
53
|
+
* is what an author reads them as, and a graph that only ever shows them makes every reader
|
|
54
|
+
* translate — so a view shows this and the model keeps the name.
|
|
55
|
+
*
|
|
56
|
+
* Empty means the name is already what to show, which is the honest answer for a type called
|
|
57
|
+
* `clamp`. Read it through {@link #getDisplayLabel} rather than directly.
|
|
58
|
+
*
|
|
59
|
+
* @type {string}
|
|
60
|
+
*/
|
|
61
|
+
display_label = "";
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* A glyph for this node type: SVG path data drawn in a 24x24 box, or an empty string for a type
|
|
65
|
+
* with no icon.
|
|
66
|
+
*
|
|
67
|
+
* Path data rather than an image because an icon here is small, is drawn at several sizes, and
|
|
68
|
+
* has to take the colour of whatever it is sitting in — and because a library of node types
|
|
69
|
+
* that ships as source has nowhere to put a hundred PNGs. `stroke` and `currentColor` are the
|
|
70
|
+
* view's business; this is the shape.
|
|
71
|
+
*
|
|
72
|
+
* @type {string}
|
|
73
|
+
*/
|
|
74
|
+
icon = "";
|
|
75
|
+
|
|
48
76
|
/**
|
|
49
77
|
* A unique identifier in the scope of a single registry
|
|
50
78
|
* If two nodes belong to the same registry - they must have different IDs
|
|
@@ -82,6 +110,19 @@ export class NodeDescription {
|
|
|
82
110
|
portRemoved: new Signal()
|
|
83
111
|
};
|
|
84
112
|
|
|
113
|
+
/**
|
|
114
|
+
* What to show a person for this node type: {@link #display_label} where there is one, and
|
|
115
|
+
* {@link #name} otherwise.
|
|
116
|
+
*
|
|
117
|
+
* The one place the fallback lives, so every view that puts a node type in front of somebody —
|
|
118
|
+
* the node itself, a palette, a search result, a diagnostic — agrees on what it is called.
|
|
119
|
+
*
|
|
120
|
+
* @returns {string}
|
|
121
|
+
*/
|
|
122
|
+
getDisplayLabel() {
|
|
123
|
+
return this.display_label !== "" ? this.display_label : this.name;
|
|
124
|
+
}
|
|
125
|
+
|
|
85
126
|
/**
|
|
86
127
|
* Perform additional processing on the node instance
|
|
87
128
|
* This gives us an opportunity to add/change ports based on current state of a specific node instance
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The path one connection is drawn along.
|
|
3
|
+
*
|
|
4
|
+
* A chain of cubic Hermite curves, joined end to end: each knot is a point and the tangent the curve
|
|
5
|
+
* passes through it with, and each pair of neighbouring knots is one curve. A wire that goes
|
|
6
|
+
* straight from one port to another is two knots and looks like what it always did; one that had to
|
|
7
|
+
* find its way around three nodes is a dozen, and the corners between its straight runs are the
|
|
8
|
+
* curves.
|
|
9
|
+
*
|
|
10
|
+
* **Hermite rather than Bézier** because the two ends of a curve are what everything here is stated
|
|
11
|
+
* in terms of — a wire leaves a port in a direction, meets a corner at a tangent, and shares both
|
|
12
|
+
* with whatever is on the other side of the knot. Bézier control points are the same information
|
|
13
|
+
* said less directly, and conversion is exact and one multiply away for the drawing code that wants
|
|
14
|
+
* them.
|
|
15
|
+
*
|
|
16
|
+
* Everything is held in one flat array rather than as objects per knot: a graph has hundreds of
|
|
17
|
+
* these, all of them are read on every repaint, and none of them is ever handled one knot at a time.
|
|
18
|
+
*
|
|
19
|
+
* @author Alex Goldring
|
|
20
|
+
* @copyright Company Named Limited (c) 2026
|
|
21
|
+
*/
|
|
22
|
+
export class ConnectionVisualData {
|
|
23
|
+
/**
|
|
24
|
+
* Id of the connection this is the path of.
|
|
25
|
+
* @type {number}
|
|
26
|
+
*/
|
|
27
|
+
id: number;
|
|
28
|
+
/**
|
|
29
|
+
* `[x, y, tangent x, tangent y]` per knot.
|
|
30
|
+
* @type {Float64Array}
|
|
31
|
+
*/
|
|
32
|
+
knots: Float64Array;
|
|
33
|
+
/**
|
|
34
|
+
* @type {number}
|
|
35
|
+
*/
|
|
36
|
+
knot_count: number;
|
|
37
|
+
/**
|
|
38
|
+
* @returns {number}
|
|
39
|
+
*/
|
|
40
|
+
get segment_count(): number;
|
|
41
|
+
/**
|
|
42
|
+
* Make room for a path of the given size, discarding whatever was here.
|
|
43
|
+
* @param {number} knot_count
|
|
44
|
+
* @returns {void}
|
|
45
|
+
*/
|
|
46
|
+
allocate(knot_count: number): void;
|
|
47
|
+
/**
|
|
48
|
+
* @param {number} index
|
|
49
|
+
* @param {number} x
|
|
50
|
+
* @param {number} y
|
|
51
|
+
* @param {number} tangent_x
|
|
52
|
+
* @param {number} tangent_y
|
|
53
|
+
* @returns {void}
|
|
54
|
+
*/
|
|
55
|
+
set_knot(index: number, x: number, y: number, tangent_x: number, tangent_y: number): void;
|
|
56
|
+
/**
|
|
57
|
+
* A point along the path.
|
|
58
|
+
*
|
|
59
|
+
* `t` runs from 0 at the source port to 1 at the target, split evenly between the segments
|
|
60
|
+
* rather than by their length — the segments are not the same length, so this walks the path
|
|
61
|
+
* unevenly. That is what a caller drawing or hit-testing wants anyway, since a corner is short
|
|
62
|
+
* and needs as many samples as a long straight run.
|
|
63
|
+
*
|
|
64
|
+
* @param {Vector2} result
|
|
65
|
+
* @param {number} t in [0, 1]
|
|
66
|
+
* @returns {void}
|
|
67
|
+
*/
|
|
68
|
+
sample(result: Vector2, t: number): void;
|
|
69
|
+
/**
|
|
70
|
+
* @param {Vector2} result
|
|
71
|
+
* @param {number} segment
|
|
72
|
+
* @param {number} t in [0, 1]
|
|
73
|
+
* @returns {void}
|
|
74
|
+
*/
|
|
75
|
+
sample_segment(result: Vector2, segment: number, t: number): void;
|
|
76
|
+
/**
|
|
77
|
+
* Control points of one segment, as a cubic Bézier.
|
|
78
|
+
* @param {number[]|Float64Array} result 8 numbers written: `[x0, y0, cx0, cy0, cx1, cy1, x1, y1]`
|
|
79
|
+
* @param {number} offset
|
|
80
|
+
* @param {number} segment
|
|
81
|
+
* @returns {void}
|
|
82
|
+
*/
|
|
83
|
+
write_segment_bezier(result: number[] | Float64Array, offset: number, segment: number): void;
|
|
84
|
+
/**
|
|
85
|
+
* Exact bounds of the whole path.
|
|
86
|
+
*
|
|
87
|
+
* Exact rather than the bounds of the knots: a curve leaves the line between its ends, and a
|
|
88
|
+
* caller culling by these would drop a wire whose bulge is the only part on screen.
|
|
89
|
+
*
|
|
90
|
+
* @param {AABB2} result set, not expanded
|
|
91
|
+
* @returns {void}
|
|
92
|
+
*/
|
|
93
|
+
computeBounds(result: AABB2): void;
|
|
94
|
+
/**
|
|
95
|
+
* Distance from a point to the path, by flattening it.
|
|
96
|
+
*
|
|
97
|
+
* Precision is ample for deciding what a click landed on, which is the only thing that asks.
|
|
98
|
+
*
|
|
99
|
+
* @param {number} x
|
|
100
|
+
* @param {number} y
|
|
101
|
+
* @returns {number}
|
|
102
|
+
*/
|
|
103
|
+
distanceToPoint(x: number, y: number): number;
|
|
104
|
+
/**
|
|
105
|
+
* @param {ConnectionVisualData} other
|
|
106
|
+
* @returns {void}
|
|
107
|
+
*/
|
|
108
|
+
copy(other: ConnectionVisualData): void;
|
|
109
|
+
/**
|
|
110
|
+
* @returns {ConnectionVisualData}
|
|
111
|
+
*/
|
|
112
|
+
clone(): ConnectionVisualData;
|
|
113
|
+
toJSON(): {
|
|
114
|
+
id: number;
|
|
115
|
+
knots: any[];
|
|
116
|
+
};
|
|
117
|
+
fromJSON(json: any): void;
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=ConnectionVisualData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectionVisualData.d.ts","sourceRoot":"","sources":["../../../../../../src/core/model/node-graph/visual/ConnectionVisualData.js"],"names":[],"mappings":"AAqBA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH;IAEI;;;OAGG;IACH,IAFU,MAAM,CAET;IAEP;;;OAGG;IACH,OAFU,YAAY,CAEM;IAE5B;;OAEG;IACH,YAFU,MAAM,CAED;IAEf;;OAEG;IACH,4BAEC;IAED;;;;OAIG;IACH,qBAHW,MAAM,GACJ,IAAI,CAQhB;IAED;;;;;;;OAOG;IACH,gBAPW,MAAM,KACN,MAAM,KACN,MAAM,aACN,MAAM,aACN,MAAM,GACJ,IAAI,CAShB;IAED;;;;;;;;;;;OAWG;IACH,2BAHW,MAAM,GACJ,IAAI,CA4BhB;IAED;;;;;OAKG;IACH,yCAJW,MAAM,KACN,MAAM,GACJ,IAAI,CAYhB;IAED;;;;;;OAMG;IACH,6BALW,MAAM,EAAE,GAAC,YAAY,UACrB,MAAM,WACN,MAAM,GACJ,IAAI,CAUhB;IAED;;;;;;;;OAQG;IACH,8BAFa,IAAI,CA8BhB;IAED;;;;;;;;OAQG;IACH,mBAJW,MAAM,KACN,MAAM,GACJ,MAAM,CA2ClB;IAED;;;OAGG;IACH,YAHW,oBAAoB,GAClB,IAAI,CAQhB;IAED;;OAEG;IACH,SAFa,oBAAoB,CAQhC;IAED;;;MAWC;IAED,0BAUC;CACJ"}
|