@woosh/meep-engine 3.45.0 → 3.47.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/build/bundle-worker-terrain.js +1 -1
- package/editor/actions/concrete/TransformModifyAction.d.ts.map +1 -1
- package/editor/actions/concrete/TransformModifyAction.js +10 -2
- package/editor/ecs/component/FieldDescriptor.js +15 -0
- package/editor/ecs/component/createObjectEditor.js +41 -12
- package/editor/ecs/component/editors/ecs/Transform64Editor.d.ts.map +1 -1
- package/editor/ecs/component/editors/ecs/Transform64Editor.js +77 -70
- package/editor/tools/TransformToolV2.d.ts.map +1 -1
- package/editor/tools/TransformToolV2.js +4 -0
- package/editor/tools/v2/TransformControls.d.ts.map +1 -1
- package/editor/tools/v2/TransformControls.js +7 -0
- package/editor/view/ecs/EntityEditor.d.ts.map +1 -1
- package/editor/view/ecs/EntityEditor.js +4 -2
- package/package.json +1 -1
- package/src/core/assert.d.ts.map +1 -1
- package/src/core/assert.js +5 -1
- package/src/core/binary/hash/XXH128Hash.d.ts +1 -37
- package/src/core/binary/hash/XXH128Hash.d.ts.map +1 -1
- package/src/core/binary/hash/XXH128Hash.js +4 -55
- package/src/core/binary/hash/XXH3_SECRET.d.ts +1 -12
- package/src/core/binary/hash/XXH3_SECRET.d.ts.map +1 -1
- package/src/core/binary/hash/XXH3_SECRET.js +4 -25
- package/src/core/binary/hash/crc32.d.ts +1 -15
- package/src/core/binary/hash/crc32.d.ts.map +1 -1
- package/src/core/binary/hash/crc32.js +4 -96
- package/src/core/binary/hash/xxh3_128.d.ts +1 -9
- package/src/core/binary/hash/xxh3_128.d.ts.map +1 -1
- package/src/core/binary/hash/xxh3_128.js +4 -341
- package/src/core/binary/hash/xxh3_64.d.ts +1 -8
- package/src/core/binary/hash/xxh3_64.d.ts.map +1 -1
- package/src/core/binary/hash/xxh3_64.js +4 -241
- package/src/core/binary/hash/xxh3_common.d.ts +1 -223
- package/src/core/binary/hash/xxh3_common.d.ts.map +1 -1
- package/src/core/binary/hash/xxh3_common.js +90 -476
- package/src/core/collection/array/array_insert_at.d.ts +16 -0
- package/src/core/collection/array/array_insert_at.d.ts.map +1 -0
- package/src/core/collection/array/array_insert_at.js +32 -0
- package/src/core/collection/array/array_remove_at.d.ts +15 -0
- package/src/core/collection/array/array_remove_at.d.ts.map +1 -0
- package/src/core/collection/array/array_remove_at.js +30 -0
- package/src/core/collection/array/combine_hash.d.ts +6 -0
- package/src/core/collection/array/combine_hash.d.ts.map +1 -1
- package/src/core/collection/array/combine_hash.js +6 -0
- package/src/core/function/FunctionCompiler.js +2 -2
- package/src/core/geom/3d/mat4/m4_multiply.d.ts +3 -0
- package/src/core/geom/3d/mat4/m4_multiply.d.ts.map +1 -1
- package/src/core/geom/3d/mat4/m4_multiply.js +3 -0
- package/src/core/geom/3d/mat4/m4_multiply_f64.d.ts +30 -0
- package/src/core/geom/3d/mat4/m4_multiply_f64.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/m4_multiply_f64.js +106 -0
- package/src/core/geom/3d/quaternion/quat3_look_rotation.d.ts +37 -0
- package/src/core/geom/3d/quaternion/quat3_look_rotation.d.ts.map +1 -0
- package/src/core/geom/3d/quaternion/quat3_look_rotation.js +172 -0
- package/src/core/geom/ConicRay.js +2 -2
- package/src/core/geom/Quaternion.d.ts +1 -0
- package/src/core/geom/Quaternion.d.ts.map +1 -1
- package/src/core/geom/Quaternion.js +12 -48
- package/src/core/geom/Vector4.d.ts.map +1 -1
- package/src/core/geom/Vector4.js +8 -5
- package/src/core/math/hash/XXH128Hash.d.ts +38 -0
- package/src/core/math/hash/XXH128Hash.d.ts.map +1 -0
- package/src/core/math/hash/XXH128Hash.js +55 -0
- package/src/core/math/hash/XXH3_SECRET.d.ts +13 -0
- package/src/core/math/hash/XXH3_SECRET.d.ts.map +1 -0
- package/src/core/math/hash/XXH3_SECRET.js +25 -0
- package/src/core/math/hash/crc32.d.ts +16 -0
- package/src/core/math/hash/crc32.d.ts.map +1 -0
- package/src/core/math/hash/crc32.js +96 -0
- package/src/core/math/hash/xxh3_128.d.ts +10 -0
- package/src/core/math/hash/xxh3_128.d.ts.map +1 -0
- package/src/core/math/hash/xxh3_128.js +341 -0
- package/src/core/math/hash/xxh3_64.d.ts +9 -0
- package/src/core/math/hash/xxh3_64.d.ts.map +1 -0
- package/src/core/math/hash/xxh3_64.js +241 -0
- package/src/core/math/hash/xxh3_common.d.ts +224 -0
- package/src/core/math/hash/xxh3_common.d.ts.map +1 -0
- package/src/core/math/hash/xxh3_common.js +476 -0
- package/src/core/math/lookup/ParameterLookupTable.js +2 -2
- package/src/core/model/node-graph/node/NodeInstancePortReference.js +2 -2
- package/src/core/model/reactive/model/ReactiveBinaryExpression.js +2 -2
- package/src/core/model/reactive/model/terminal/ReactiveReference.js +2 -2
- package/src/engine/Engine.d.ts.map +1 -1
- package/src/engine/Engine.js +9 -4
- package/src/engine/asset/AssetDescription.js +2 -2
- package/src/engine/ecs/animation/Animation.js +2 -2
- package/src/engine/ecs/animation/AnimationClip.d.ts.map +1 -1
- package/src/engine/ecs/animation/AnimationClip.js +7 -5
- package/src/engine/ecs/gui/GUIElement.d.ts.map +1 -1
- package/src/engine/ecs/gui/GUIElement.js +7 -5
- package/src/engine/ecs/gui/hud/HeadsUpDisplay.js +2 -2
- package/src/engine/ecs/gui/position/ViewportPosition.d.ts.map +1 -1
- package/src/engine/ecs/gui/position/ViewportPosition.js +11 -7
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts.map +1 -1
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.js +10 -0
- package/src/engine/ecs/transform/Transform64.d.ts +1 -1
- package/src/engine/ecs/transform/Transform64.d.ts.map +1 -1
- package/src/engine/ecs/transform/Transform64.js +5 -4
- package/src/engine/ecs/transform/t64_look_rotation.d.ts +4 -4
- package/src/engine/ecs/transform/t64_look_rotation.d.ts.map +1 -1
- package/src/engine/ecs/transform/t64_look_rotation.js +7 -18
- package/src/engine/graphics/ecs/animation/animator/AnimationClip.d.ts.map +1 -1
- package/src/engine/graphics/ecs/animation/animator/AnimationClip.js +8 -5
- package/src/engine/graphics/ecs/animation/animator/AnimationClipDefinition.js +2 -2
- package/src/engine/graphics/ecs/animation/animator/AnimationNotification.js +2 -2
- package/src/engine/graphics/ecs/animation/animator/AnimationNotificationDefinition.js +2 -2
- package/src/engine/graphics/ecs/animation/animator/graph/definition/AnimationGraphDefinition.js +2 -2
- package/src/engine/graphics/ecs/animation/animator/graph/definition/AnimationStateDefinition.js +2 -2
- package/src/engine/graphics/ecs/animation/animator/graph/definition/AnimationTransitionDefinition.d.ts.map +1 -1
- package/src/engine/graphics/ecs/animation/animator/graph/definition/AnimationTransitionDefinition.js +8 -5
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSystem.js +30 -1
- package/src/engine/graphics/ecs/decal/v2/Decal.d.ts.map +1 -1
- package/src/engine/graphics/ecs/decal/v2/Decal.js +9 -8
- package/src/engine/graphics/render/frame_graph/resource/TextureResourceDescriptor.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/resource/TextureResourceDescriptor.js +9 -6
- package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts +6 -0
- package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts.map +1 -1
- package/src/engine/graphics3/GPUParticleEmitterSystem.js +72 -29
- package/src/engine/graphics3/ParticipatingMedia.js +204 -204
- package/src/engine/graphics3/animation/AnimationClips.d.ts +5 -0
- package/src/engine/graphics3/animation/AnimationClips.d.ts.map +1 -1
- package/src/engine/graphics3/animation/AnimationClips.js +5 -0
- package/src/engine/grid/obstacle/GridObstacle.js +2 -2
- package/src/engine/input/devices/KeyboardDevice.d.ts +1 -0
- package/src/engine/input/devices/KeyboardDevice.d.ts.map +1 -1
- package/src/engine/input/devices/KeyboardDevice.js +7 -6
- package/src/engine/intelligence/behavior/selector/WeightedElement.js +2 -2
- package/src/engine/interpolation/Interpolated.js +2 -2
- package/src/engine/navigation/ecs/path_following/PathFollowingSystem.d.ts.map +1 -1
- package/src/engine/navigation/ecs/path_following/PathFollowingSystem.js +15 -2
- package/src/engine/network/CONGESTION_CONTROL.md +9 -9
- package/src/engine/network/MESSAGE_TRANSPORT.md +364 -0
- package/src/engine/network/NetworkSession.d.ts +31 -11
- package/src/engine/network/NetworkSession.d.ts.map +1 -1
- package/src/engine/network/NetworkSession.js +453 -286
- package/src/engine/network/README.md +77 -27
- package/src/engine/network/SMOOTHNESS_DESIGN.md +13 -5
- package/src/engine/network/diagnostics/BandwidthMeter.d.ts +1 -1
- package/src/engine/network/diagnostics/BandwidthMeter.js +1 -1
- package/src/engine/network/orchestrator/HostJoin.d.ts +111 -0
- package/src/engine/network/orchestrator/HostJoin.d.ts.map +1 -0
- package/src/engine/network/orchestrator/HostJoin.js +271 -0
- package/src/engine/network/orchestrator/NetworkPeer.d.ts +151 -112
- package/src/engine/network/orchestrator/NetworkPeer.d.ts.map +1 -1
- package/src/engine/network/orchestrator/NetworkPeer.js +450 -499
- package/src/engine/network/orchestrator/PendingSlices.d.ts +30 -0
- package/src/engine/network/orchestrator/PendingSlices.d.ts.map +1 -0
- package/src/engine/network/orchestrator/PendingSlices.js +83 -0
- package/src/engine/network/orchestrator/ReliableFrames.d.ts +34 -0
- package/src/engine/network/orchestrator/ReliableFrames.d.ts.map +1 -0
- package/src/engine/network/orchestrator/ReliableFrames.js +96 -0
- package/src/engine/network/orchestrator/ServerAuthoritativeClient.d.ts +77 -10
- package/src/engine/network/orchestrator/ServerAuthoritativeClient.d.ts.map +1 -1
- package/src/engine/network/orchestrator/ServerAuthoritativeClient.js +236 -61
- package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts +20 -6
- package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts.map +1 -1
- package/src/engine/network/orchestrator/ServerAuthoritativeServer.js +33 -8
- package/src/engine/network/replication/Replicator.d.ts.map +1 -1
- package/src/engine/network/replication/Replicator.js +7 -1
- package/src/engine/network/sim/ActionLog.d.ts +32 -5
- package/src/engine/network/sim/ActionLog.d.ts.map +1 -1
- package/src/engine/network/sim/ActionLog.js +47 -5
- package/src/engine/network/sim/SimActionExecutor.d.ts +42 -2
- package/src/engine/network/sim/SimActionExecutor.d.ts.map +1 -1
- package/src/engine/network/sim/SimActionExecutor.js +100 -4
- package/src/engine/network/sim/Snapshotter.d.ts +12 -0
- package/src/engine/network/sim/Snapshotter.d.ts.map +1 -1
- package/src/engine/network/sim/Snapshotter.js +43 -0
- package/src/engine/network/state/Baseline.d.ts +1 -1
- package/src/engine/network/state/Baseline.js +1 -1
- package/src/engine/network/state/FrameBufferRing.d.ts +25 -6
- package/src/engine/network/state/FrameBufferRing.d.ts.map +1 -1
- package/src/engine/network/state/FrameBufferRing.js +51 -6
- package/src/engine/network/state/InputRing.d.ts +4 -0
- package/src/engine/network/state/InputRing.d.ts.map +1 -1
- package/src/engine/network/state/InputRing.js +7 -0
- package/src/engine/network/transport/DeferredTransport.d.ts.map +1 -1
- package/src/engine/network/transport/DeferredTransport.js +1 -0
- package/src/engine/network/transport/LoopbackTransport.d.ts.map +1 -1
- package/src/engine/network/transport/LoopbackTransport.js +4 -2
- package/src/engine/network/transport/Transport.d.ts +7 -0
- package/src/engine/network/transport/Transport.d.ts.map +1 -1
- package/src/engine/network/transport/Transport.js +8 -0
- package/src/engine/network/transport/adapters/NodeUDPTransport.d.ts.map +1 -1
- package/src/engine/network/transport/adapters/NodeUDPTransport.js +20 -5
- package/src/engine/network/transport/adapters/WebRTCDataChannelTransport.d.ts.map +1 -1
- package/src/engine/network/transport/adapters/WebRTCDataChannelTransport.js +8 -0
- package/src/engine/network/transport/adapters/WebTransportTransport.d.ts.map +1 -1
- package/src/engine/network/transport/adapters/WebTransportTransport.js +6 -0
- package/src/engine/network/transport/connection/Connection.d.ts +191 -0
- package/src/engine/network/transport/connection/Connection.d.ts.map +1 -0
- package/src/engine/network/transport/connection/Connection.js +1262 -0
- package/src/engine/network/transport/connection/RangeSet.d.ts +94 -0
- package/src/engine/network/transport/connection/RangeSet.d.ts.map +1 -0
- package/src/engine/network/transport/connection/RangeSet.js +260 -0
- package/src/engine/network/transport/connection/RxStream.d.ts +48 -0
- package/src/engine/network/transport/connection/RxStream.d.ts.map +1 -0
- package/src/engine/network/transport/connection/RxStream.js +211 -0
- package/src/engine/network/transport/connection/TxStream.d.ts +90 -0
- package/src/engine/network/transport/connection/TxStream.d.ts.map +1 -0
- package/src/engine/network/transport/connection/TxStream.js +243 -0
- package/src/engine/network/transport/connection/bytes_copy.d.ts +17 -0
- package/src/engine/network/transport/connection/bytes_copy.d.ts.map +1 -0
- package/src/engine/network/transport/connection/bytes_copy.js +34 -0
- package/src/engine/network/transport/connection/varint.d.ts +46 -0
- package/src/engine/network/transport/connection/varint.d.ts.map +1 -0
- package/src/engine/network/transport/connection/varint.js +107 -0
- package/src/engine/physics/cloth/ecs/Cloth.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/Cloth.js +7 -5
- package/src/engine/physics/cloth/ecs/ClothCollider.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/ClothCollider.js +7 -5
- package/src/engine/physics/cloth/ecs/ClothDynamics.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/ClothDynamics.js +20 -11
- package/src/engine/physics/fluid/FluidField.d.ts.map +1 -1
- package/src/engine/physics/fluid/FluidField.js +7 -5
- package/src/engine/physics/fluid/ecs/FluidComponent.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/FluidComponent.js +19 -11
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
- package/src/engine/physics/fluid/effector/AbstractFluidEffector.d.ts +2 -2
- package/src/engine/physics/fluid/effector/AbstractFluidEffector.js +2 -2
- package/src/engine/physics/fluid/effector/GlobalFluidEffector.d.ts.map +1 -1
- package/src/engine/physics/fluid/effector/GlobalFluidEffector.js +11 -7
- package/src/engine/physics/fluid/effector/ImpulseFluidEffector.d.ts.map +1 -1
- package/src/engine/physics/fluid/effector/ImpulseFluidEffector.js +11 -7
- package/src/engine/physics/fluid/effector/WakeFluidEffector.d.ts.map +1 -1
- package/src/engine/physics/fluid/effector/WakeFluidEffector.js +16 -9
- package/src/engine/sound/ecs/audio/AudioEmitter.d.ts +38 -7
- package/src/engine/sound/ecs/audio/AudioEmitter.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/AudioEmitter.js +47 -14
- package/src/engine/sound/ecs/audio/AudioEmitterSerializationAdapter.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/AudioEmitterSerializationAdapter.js +5 -1
- package/src/engine/sound/ecs/audio/AudioEmitterSerializationUpgrader_0_1.d.ts +18 -0
- package/src/engine/sound/ecs/audio/AudioEmitterSerializationUpgrader_0_1.d.ts.map +1 -0
- package/src/engine/sound/ecs/audio/AudioEmitterSerializationUpgrader_0_1.js +48 -0
- package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts +12 -2
- package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/AudioEmitterSystem.js +173 -9
- package/src/engine/sound/ecs/audio/LiveEmitterSet.d.ts +9 -3
- package/src/engine/sound/ecs/audio/LiveEmitterSet.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/LiveEmitterSet.js +28 -8
- package/src/engine/sound/ecs/trigger/AudioEventTrigger.d.ts +8 -0
- package/src/engine/sound/ecs/trigger/AudioEventTrigger.d.ts.map +1 -1
- package/src/engine/sound/ecs/trigger/AudioEventTrigger.js +192 -191
- package/src/engine/sound/ecs/trigger/AudioEventTriggerSerializationAdapter.d.ts.map +1 -1
- package/src/engine/sound/ecs/trigger/AudioEventTriggerSerializationAdapter.js +5 -1
- package/src/engine/sound/ecs/trigger/AudioEventTriggerSerializationUpgrader_0_1.d.ts +18 -0
- package/src/engine/sound/ecs/trigger/AudioEventTriggerSerializationUpgrader_0_1.d.ts.map +1 -0
- package/src/engine/sound/ecs/trigger/AudioEventTriggerSerializationUpgrader_0_1.js +51 -0
- package/src/engine/sound/ecs/trigger/AudioEventTriggerSystem.d.ts.map +1 -1
- package/src/engine/sound/ecs/trigger/AudioEventTriggerSystem.js +15 -1
- package/src/engine/sound/simulation/core/AcousticMedium.js +2 -2
- package/src/engine/sound/simulation/definition/AcousticDirectivity.js +2 -2
- package/src/engine/sound/simulation/definition/AcousticMaterial.d.ts.map +1 -1
- package/src/engine/sound/simulation/definition/AcousticMaterial.js +11 -7
- package/src/engine/sound/sopra/README.md +768 -644
- package/src/engine/sound/sopra/SopraEngine.d.ts +104 -8
- package/src/engine/sound/sopra/SopraEngine.d.ts.map +1 -1
- package/src/engine/sound/sopra/SopraEngine.js +327 -12
- package/src/engine/sound/sopra/definition/BusDefinition.d.ts.map +1 -1
- package/src/engine/sound/sopra/definition/BusDefinition.js +5 -4
- package/src/engine/sound/sopra/definition/DuckingRule.d.ts.map +1 -1
- package/src/engine/sound/sopra/definition/DuckingRule.js +7 -5
- package/src/engine/sound/sopra/definition/EventDescription.d.ts +28 -2
- package/src/engine/sound/sopra/definition/EventDescription.d.ts.map +1 -1
- package/src/engine/sound/sopra/definition/EventDescription.js +77 -17
- package/src/engine/sound/sopra/definition/EventDescriptionSerializationAdapter.d.ts +10 -0
- package/src/engine/sound/sopra/definition/EventDescriptionSerializationAdapter.d.ts.map +1 -1
- package/src/engine/sound/sopra/definition/EventDescriptionSerializationAdapter.js +77 -55
- package/src/engine/sound/sopra/definition/EventDescriptionSerializationUpgrader_0_1.d.ts +31 -0
- package/src/engine/sound/sopra/definition/EventDescriptionSerializationUpgrader_0_1.d.ts.map +1 -0
- package/src/engine/sound/sopra/definition/EventDescriptionSerializationUpgrader_0_1.js +75 -0
- package/src/engine/sound/sopra/definition/MixerSnapshot.js +2 -2
- package/src/engine/sound/sopra/definition/ParameterDefinition.d.ts.map +1 -1
- package/src/engine/sound/sopra/definition/ParameterDefinition.js +7 -5
- package/src/engine/sound/sopra/definition/clip/AbstractAudioClip.js +2 -2
- package/src/engine/sound/sopra/definition/clip/BlendContainerAudioClip.d.ts.map +1 -1
- package/src/engine/sound/sopra/definition/clip/BlendContainerAudioClip.js +4 -3
- package/src/engine/sound/sopra/definition/clip/ContainerAudioClip.js +2 -2
- package/src/engine/sound/sopra/definition/clip/RandomContainerAudioClip.js +3 -3
- package/src/engine/sound/sopra/definition/clip/SampleAudioClip.d.ts.map +1 -1
- package/src/engine/sound/sopra/definition/clip/SampleAudioClip.js +16 -9
- package/src/engine/sound/sopra/definition/clip/SilenceAudioClip.js +2 -2
- package/src/engine/sound/sopra/definition/clip/SwitchContainerAudioClip.d.ts +1 -1
- package/src/engine/sound/sopra/definition/clip/SwitchContainerAudioClip.d.ts.map +1 -1
- package/src/engine/sound/sopra/definition/clip/SwitchContainerAudioClip.js +2 -2
- package/src/engine/sound/sopra/definition/effect/AbstractAudioEffect.d.ts +38 -9
- package/src/engine/sound/sopra/definition/effect/AbstractAudioEffect.d.ts.map +1 -1
- package/src/engine/sound/sopra/definition/effect/AbstractAudioEffect.js +34 -5
- package/src/engine/sound/sopra/definition/effect/CompressorEffect.d.ts +7 -2
- package/src/engine/sound/sopra/definition/effect/CompressorEffect.d.ts.map +1 -1
- package/src/engine/sound/sopra/definition/effect/CompressorEffect.js +137 -120
- package/src/engine/sound/sopra/definition/effect/EqEffect.d.ts +3 -1
- package/src/engine/sound/sopra/definition/effect/EqEffect.d.ts.map +1 -1
- package/src/engine/sound/sopra/definition/effect/EqEffect.js +146 -128
- package/src/engine/sound/sopra/definition/effect/ReverbEffect.d.ts +1 -0
- package/src/engine/sound/sopra/definition/effect/ReverbEffect.d.ts.map +1 -1
- package/src/engine/sound/sopra/definition/effect/ReverbEffect.js +8 -3
- package/src/engine/sound/sopra/legacy/SoundEmitter.d.ts.map +1 -1
- package/src/engine/sound/sopra/legacy/SoundEmitter.js +357 -352
- package/src/engine/sound/sopra/legacy/SoundTrack.d.ts.map +1 -1
- package/src/engine/sound/sopra/legacy/SoundTrack.js +281 -278
- package/src/engine/sound/sopra/runtime/BusGraph.d.ts +44 -2
- package/src/engine/sound/sopra/runtime/BusGraph.d.ts.map +1 -1
- package/src/engine/sound/sopra/runtime/BusGraph.js +83 -43
- package/src/engine/sound/sopra/runtime/EffectChain.d.ts +96 -0
- package/src/engine/sound/sopra/runtime/EffectChain.d.ts.map +1 -0
- package/src/engine/sound/sopra/runtime/EffectChain.js +286 -0
- package/src/engine/sound/sopra/runtime/EffectParamOverrides.d.ts +123 -0
- package/src/engine/sound/sopra/runtime/EffectParamOverrides.d.ts.map +1 -0
- package/src/engine/sound/sopra/runtime/EffectParamOverrides.js +320 -0
- package/src/engine/sound/sopra/runtime/EventInstance.d.ts +55 -5
- package/src/engine/sound/sopra/runtime/EventInstance.d.ts.map +1 -1
- package/src/engine/sound/sopra/runtime/EventInstance.js +201 -26
- package/src/engine/sound/sopra/serialization/populateSopraSerializationRegistry.d.ts +2 -1
- package/src/engine/sound/sopra/serialization/populateSopraSerializationRegistry.d.ts.map +1 -1
- package/src/engine/sound/sopra/serialization/populateSopraSerializationRegistry.js +6 -1
- package/src/engine/sound/sopra/serialization/sopraSerializationHarness.d.ts +15 -0
- package/src/engine/sound/sopra/serialization/sopraSerializationHarness.d.ts.map +1 -1
- package/src/engine/sound/sopra/serialization/sopraSerializationHarness.js +32 -0
- package/src/engine/sound/sopra/util/MockAudioContext.d.ts.map +1 -1
- package/src/engine/sound/sopra/util/MockAudioContext.js +3 -0
- package/src/engine/sound/sopra/util/fadeOutAndStop.d.ts +13 -3
- package/src/engine/sound/sopra/util/fadeOutAndStop.d.ts.map +1 -1
- package/src/engine/sound/sopra/util/fadeOutAndStop.js +25 -13
- package/src/format/image/png/PNGReader.js +644 -644
- package/src/format/image/png/crc32.d.ts +1 -1
- package/src/format/image/png/crc32.js +7 -8
- package/src/shade/RENDERER_CONTRACT.md +6 -3
- package/src/shade/descriptor/binding/BindGroupLayoutDescriptor.js +2 -2
- package/src/shade/descriptor/binding/BindGroupLayoutEntry.d.ts.map +1 -1
- package/src/shade/descriptor/binding/BindGroupLayoutEntry.js +12 -8
- package/src/shade/descriptor/binding/StorageTextureBindingLayout.js +2 -2
- package/src/shade/descriptor/binding/TextureBindingLayout.js +2 -2
- package/src/shade/descriptor/blend/BlendComponent.js +2 -2
- package/src/shade/descriptor/pipeline/PipelineDescriptorBase.js +2 -2
- package/src/shade/descriptor/pipeline/PipelineLayoutDescriptor.js +2 -2
- package/src/shade/descriptor/pipeline/ProgrammableStage.js +2 -2
- package/src/shade/descriptor/pipeline/compute/ComputePipelineDescriptor.js +2 -2
- package/src/shade/descriptor/pipeline/render/ColorTargetState.js +2 -2
- package/src/shade/descriptor/pipeline/render/FragmentState.js +2 -2
- package/src/shade/descriptor/pipeline/render/PrimitiveState.js +2 -2
- package/src/shade/descriptor/pipeline/render/RenderPipelineDescriptor.d.ts.map +1 -1
- package/src/shade/descriptor/pipeline/render/RenderPipelineDescriptor.js +8 -5
- package/src/shade/descriptor/pipeline/render/VertexAttribute.js +2 -2
- package/src/shade/descriptor/texture/SamplerDescriptor.d.ts.map +1 -1
- package/src/shade/descriptor/texture/SamplerDescriptor.js +20 -12
- package/src/shade/descriptor/texture/TextureDescriptor.d.ts.map +1 -1
- package/src/shade/descriptor/texture/TextureDescriptor.js +11 -7
- package/src/shade/device/SHADE_DEVICE_FLOOR.d.ts +24 -0
- package/src/shade/device/SHADE_DEVICE_FLOOR.d.ts.map +1 -0
- package/src/shade/device/SHADE_DEVICE_FLOOR.js +34 -0
- package/src/shade/device/ShadeDeviceFailure.d.ts +12 -5
- package/src/shade/device/ShadeDeviceFailure.d.ts.map +1 -1
- package/src/shade/device/ShadeDeviceFailure.js +17 -8
- package/src/shade/device/ShadeDeviceFailureReason.d.ts +1 -1
- package/src/shade/device/ShadeDeviceFailureReason.js +2 -2
- package/src/shade/device/graph/BufferResourceDescriptor.d.ts.map +1 -1
- package/src/shade/device/graph/BufferResourceDescriptor.js +196 -193
- package/src/shade/device/graph/TextureResourceDescriptor.d.ts.map +1 -1
- package/src/shade/device/graph/TextureResourceDescriptor.js +178 -173
- package/src/shade/device/shade_device_floor_unmet.d.ts +13 -0
- package/src/shade/device/shade_device_floor_unmet.d.ts.map +1 -0
- package/src/shade/device/shade_device_floor_unmet.js +32 -0
- package/src/shade/device/timing/profile/sgpt_read_header.js +1 -1
- package/src/shade/device/timing/profile/sgpt_read_records.js +1 -1
- package/src/shade/device/timing/profile/sgpt_write_header.js +1 -1
- package/src/shade/device/timing/profile/sgpt_write_record.js +1 -1
- package/src/shade/renderer/Renderer.d.ts +2 -0
- package/src/shade/renderer/Renderer.d.ts.map +1 -1
- package/src/shade/renderer/Renderer.js +29 -55
- package/src/shade/renderer/binding/BufferBinding.js +2 -2
- package/src/shade/renderer/buffer/GPUBufferAllocator.d.ts.map +1 -1
- package/src/shade/renderer/buffer/GPUBufferAllocator.js +9 -0
- package/src/shade/renderer/buffer/buffer_pool_ops.d.ts +21 -12
- package/src/shade/renderer/buffer/buffer_pool_ops.d.ts.map +1 -1
- package/src/shade/renderer/buffer/buffer_pool_ops.js +18 -19
- package/src/shade/renderer/camera/Camera.js +2 -2
- package/src/shade/renderer/geometry/Attribute.js +2 -2
- package/src/shade/renderer/geometry/Geometry.js +2 -2
- package/src/shade/renderer/geometry/geometry_deduplicate_vertices.js +2 -2
- package/src/shade/renderer/geometry/meshlet/MeshletBatch.js +2 -2
- package/src/shade/renderer/geometry/virtual/format/checksum/vgeo_compute_asset_id.js +13 -13
- package/src/shade/renderer/geometry/virtual/format/checksum/vgeo_compute_directory_block_checksum.js +41 -41
- package/src/shade/renderer/geometry/virtual/format/checksum/vgeo_compute_frame_checksum.js +41 -41
- package/src/shade/renderer/geometry/virtual/format/checksum/vgeo_compute_header_checksum.js +25 -25
- package/src/shade/renderer/gpu_primitive/test/gpu_test.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/test/gpu_test.js +8 -11
- package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +1 -1
- package/src/shade/renderer/material/StandardShadeMaterial.d.ts.map +1 -1
- package/src/shade/renderer/material/StandardShadeMaterial.js +13 -8
- package/src/shade/renderer/pool/TransientResourcePool.d.ts +24 -0
- package/src/shade/renderer/pool/TransientResourcePool.d.ts.map +1 -1
- package/src/shade/renderer/pool/TransientResourcePool.js +41 -10
- package/src/shade/renderer/scene/optimization/geometry/internal/triangle_fingerprint_stream.d.ts.map +1 -1
- package/src/shade/renderer/scene/optimization/geometry/internal/triangle_fingerprint_stream.js +14 -5
- package/src/shade/renderer/scene/optimization/sampler2d_from_image_bitmap.js +1 -1
- package/src/shade/renderer/shader/ComputeShader.d.ts.map +1 -1
- package/src/shade/renderer/shader/ComputeShader.js +18 -2
- package/src/shade/renderer/shader/ImageShader.d.ts.map +1 -1
- package/src/shade/renderer/shader/ImageShader.js +230 -218
- package/src/shade/renderer/shader/type/WGSLStructField.js +2 -2
- package/src/shade/renderer/shader/type/WebGPUArray.js +2 -2
- package/src/shade/renderer/shader/type/WebGPUStruct.d.ts.map +1 -1
- package/src/shade/renderer/shader/type/WebGPUStruct.js +9 -6
- package/src/shade/renderer/texture/ShadeTexture.d.ts.map +1 -1
- package/src/shade/renderer/texture/ShadeTexture.js +17 -10
- package/src/shade/renderer/texture/mipmaps/WebGPUMipmapGenerator.js +2 -2
- package/src/shade/renderer/water/surface/chunk_water_surface_sample.d.ts +4 -4
- package/src/shade/renderer/water/surface/chunk_water_surface_sample.js +6 -6
- package/src/shade/renderer/water/surface/particles/GPUWaterParticles.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/particles/GPUWaterParticles.js +46 -55
- package/src/shade/renderer/water/surface/particles/WATER_PARTICLE_STRUCT.d.ts +3 -3
- package/src/shade/renderer/water/surface/particles/WATER_PARTICLE_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/particles/WATER_PARTICLE_STRUCT.js +14 -4
- package/src/shade/renderer/water/surface/particles/chunk_water_particle.d.ts +10 -1
- package/src/shade/renderer/water/surface/particles/chunk_water_particle.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/particles/chunk_water_particle.js +82 -40
- package/src/shade/renderer/water/surface/particles/chunk_water_particle_step.d.ts +4 -1
- package/src/shade/renderer/water/surface/particles/chunk_water_particle_step.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/particles/chunk_water_particle_step.js +8 -4
- package/src/shade/renderer/water/surface/particles/shader_water_particles.d.ts +98 -86
- package/src/shade/renderer/water/surface/particles/shader_water_particles.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/particles/shader_water_particles.js +440 -298
- package/src/view/common/HTMLElementCacheKey.d.ts.map +1 -1
- package/src/view/common/HTMLElementCacheKey.js +4 -3
- package/src/view/graphics/GraphicsContextFailureView.d.ts +1 -2
- package/src/view/graphics/GraphicsContextFailureView.d.ts.map +1 -1
- package/src/view/graphics/GraphicsContextFailureView.js +1 -2
- package/src/view/minimap/MinimapMarker.js +2 -2
- package/src/engine/network/transport/Channel.js +0 -336
- package/src/engine/network/transport/ReliableCommandPipeline.js +0 -335
- package/src/engine/network/transport/fragments/FragmentAssembler.js +0 -350
- package/src/engine/network/transport/fragments/FragmentRetention.js +0 -191
- package/src/engine/network/transport/fragments/fragment_send.js +0 -157
- package/src/engine/network/transport/fragments/packet_size.js +0 -107
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SampleAudioClip.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/sound/sopra/definition/clip/SampleAudioClip.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SampleAudioClip.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/sound/sopra/definition/clip/SampleAudioClip.js"],"names":[],"mappings":"AAMA;;;;GAIG;AACH;IA2CI;;;;;OAKG;IACH,iBAJW,MAAM,mFACN;QAAC,UAAU,CAAC,EAAC,OAAO,CAAC;QAAC,IAAI,CAAC,EAAC,OAAO,CAAC;QAAC,IAAI,CAAC,EAAC,MAAM,CAAC;QAAC,KAAK,CAAC,EAAC,MAAM,CAAC;QAAC,SAAS,CAAC,EAAC,MAAM,CAAC;QAAC,OAAO,CAAC,EAAC,MAAM,CAAC;QAAC,WAAW,CAAC,EAAC,MAAM,CAAC;QAAC,UAAU,CAAC,EAAC,MAAM,CAAA;KAAC,GAC5I,eAAe,CAyB3B;IAtED;;;OAGG;IACH,KAFU,MAAM,CAEP;IAET;;;OAGG;IACH,YAFU,OAAO,CAEE;IAEnB;;OAEG;IACH,MAFU,OAAO,CAEJ;IAEb;;;OAGG;IACH,WAFU,MAAM,CAEF;IAEd;;;OAGG;IACH,SAFU,MAAM,CAEJ;IAEZ;;;OAGG;IACH,aAFU,MAAM,CAEA;IAEhB;;;OAGG;IACH,YAFU,MAAM,CAED;IAiCf;;;;OAIG;IACH,cAHW,eAAe,GACb,OAAO,CAWnB;IAwBD;;OAEG;IACH,SAFa,eAAe,CAe3B;IAED;;;;;;;;;;MAYC;IAED;;;;;;;;;;aAUC;IAED;;;;;;OAMG;IACH,gCALW,MAAM,eACN,MAAM,WACN,MAAM,GACJ;QAAC,KAAK,EAAE;YAAC,IAAI,EAAE,eAAe,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAC,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,CA6BtI;IAED,uCAGC;CAKJ;;;;kCA/MiC,wBAAwB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { hash_mix2 } from "../../../../../core/math/hash/hash_mix2.js";
|
|
2
|
+
import { hash_mix3 } from "../../../../../core/math/hash/hash_mix3.js";
|
|
2
3
|
import { computeHashFloat } from "../../../../../core/primitives/numbers/computeHashFloat.js";
|
|
3
4
|
import { computeStringHash } from "../../../../../core/primitives/strings/computeStringHash.js";
|
|
4
5
|
import { AbstractAudioClip } from "./AbstractAudioClip.js";
|
|
@@ -102,14 +103,20 @@ export class SampleAudioClip extends AbstractAudioClip {
|
|
|
102
103
|
* @returns {number}
|
|
103
104
|
*/
|
|
104
105
|
hash() {
|
|
105
|
-
return
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
106
|
+
return hash_mix2(
|
|
107
|
+
hash_mix3(
|
|
108
|
+
hash_mix3(
|
|
109
|
+
hash_mix3(
|
|
110
|
+
super.hash(),
|
|
111
|
+
computeStringHash(this.url),
|
|
112
|
+
this.usingAlias ? 1 : 0
|
|
113
|
+
),
|
|
114
|
+
this.loop ? 1 : 0,
|
|
115
|
+
computeHashFloat(this.loopStart)
|
|
116
|
+
),
|
|
117
|
+
computeHashFloat(this.loopEnd),
|
|
118
|
+
computeHashFloat(this.pitchRandom)
|
|
119
|
+
),
|
|
113
120
|
computeHashFloat(this.gainRandom)
|
|
114
121
|
);
|
|
115
122
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { hash_mix2 } from "../../../../../core/math/hash/hash_mix2.js";
|
|
2
2
|
import { computeHashFloat } from "../../../../../core/primitives/numbers/computeHashFloat.js";
|
|
3
3
|
import { AbstractAudioClip } from "./AbstractAudioClip.js";
|
|
4
4
|
|
|
@@ -39,7 +39,7 @@ export class SilenceAudioClip extends AbstractAudioClip {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
hash() {
|
|
42
|
-
return
|
|
42
|
+
return hash_mix2(
|
|
43
43
|
super.hash(),
|
|
44
44
|
computeHashFloat(this.duration)
|
|
45
45
|
);
|
|
@@ -46,12 +46,12 @@ export class SwitchContainerAudioClip extends ContainerAudioClip {
|
|
|
46
46
|
parameter: string;
|
|
47
47
|
defaultValue: number;
|
|
48
48
|
children: {
|
|
49
|
-
type: string;
|
|
50
49
|
/**
|
|
51
50
|
* @param {AbstractAudioClip[]} [children]
|
|
52
51
|
* @param {{parameter?:string, defaultValue?:number}} [options]
|
|
53
52
|
* @returns {SwitchContainerAudioClip}
|
|
54
53
|
*/
|
|
54
|
+
type: string;
|
|
55
55
|
data: any;
|
|
56
56
|
}[];
|
|
57
57
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwitchContainerAudioClip.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/sound/sopra/definition/clip/SwitchContainerAudioClip.js"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH;IAcI;;;;OAIG;IACH,uBAJW,mBAAmB,gCACnB;QAAC,SAAS,CAAC,EAAC,MAAM,CAAC;QAAC,YAAY,CAAC,EAAC,MAAM,CAAA;KAAC,GACvC,wBAAwB,CAUpC;IAzBD;;;OAGG;IACH,WAFU,MAAM,CAED;IAEf;;;OAGG;IACH,cAFU,MAAM,CAEC;IAmCjB;;;;;;;;;MAWC;IAED;;;OAGG;IACH,cAHW,wBAAwB,GACtB,OAAO,CAMnB;IAWD,kCAYC;IAED
|
|
1
|
+
{"version":3,"file":"SwitchContainerAudioClip.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/sound/sopra/definition/clip/SwitchContainerAudioClip.js"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH;IAcI;;;;OAIG;IACH,uBAJW,mBAAmB,gCACnB;QAAC,SAAS,CAAC,EAAC,MAAM,CAAC;QAAC,YAAY,CAAC,EAAC,MAAM,CAAA;KAAC,GACvC,wBAAwB,CAUpC;IAzBD;;;OAGG;IACH,WAFU,MAAM,CAED;IAEf;;;OAGG;IACH,cAFU,MAAM,CAEC;IAmCjB;;;;;;;;;MAWC;IAED;;;OAGG;IACH,cAHW,wBAAwB,GACtB,OAAO,CAMnB;IAWD,kCAYC;IAED;;;;;;YA/EA;;;;eAIG;;;;MAmFF;IAED;;;;;;aAMC;;CACJ;;;;mCAvHkC,yBAAyB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { hash_mix3 } from "../../../../../core/math/hash/hash_mix3.js";
|
|
2
2
|
import { computeHashFloat } from "../../../../../core/primitives/numbers/computeHashFloat.js";
|
|
3
3
|
import { computeStringHash } from "../../../../../core/primitives/strings/computeStringHash.js";
|
|
4
4
|
import { ContainerAudioClip } from "./ContainerAudioClip.js";
|
|
@@ -82,7 +82,7 @@ export class SwitchContainerAudioClip extends ContainerAudioClip {
|
|
|
82
82
|
|
|
83
83
|
hash() {
|
|
84
84
|
// super.hash() already folds gain/pitch + children; only this class's own fields go on top
|
|
85
|
-
return
|
|
85
|
+
return hash_mix3(
|
|
86
86
|
super.hash(),
|
|
87
87
|
computeStringHash(this.parameter),
|
|
88
88
|
computeHashFloat(this.defaultValue)
|
|
@@ -1,24 +1,53 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* What {@link AbstractAudioEffect#build} returns: the live sub-graph, as the two nodes it is spliced in by,
|
|
3
|
+
* and the parameters that can be moved while it plays.
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* `params` holds the live {@link AudioParam} of each of the class's {@link AbstractAudioEffect.parameters},
|
|
6
|
+
* in that order. Omitted by an effect that declares none.
|
|
7
|
+
*
|
|
8
|
+
* @typedef {{input: AudioNode, output: AudioNode, params?: AudioParam[]}} BuiltAudioEffect
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Base class for serializable insert effects — on a bus ({@link BusDefinition.effects}) or on an event
|
|
12
|
+
* ({@link EventDescription.effects}).
|
|
13
|
+
*
|
|
14
|
+
* An effect is a DEFINITION; {@link build} turns it into a live WebAudio sub-graph, once per bus or once per
|
|
15
|
+
* playing instance. The returned `{ input, output }` lets an {@link EffectChain} splice the effect in
|
|
16
|
+
* (`input → effect → output`); for single-node effects `input === output`. The definition is never touched
|
|
17
|
+
* at runtime: a parameter moved on a built effect moves that one copy (see `SopraEngine.setBusEffectParam`,
|
|
18
|
+
* `EventInstance.setEffectParam`).
|
|
19
|
+
*
|
|
20
|
+
* A subclass that has parameters worth moving while it plays names them in a static `parameters` list and
|
|
21
|
+
* returns their `AudioParam`s from {@link build} in the same order. An "effect param" is one of those — a
|
|
22
|
+
* live `AudioParam` of an insert — which is not the same thing as a sopra parameter (the named game value
|
|
23
|
+
* of `SopraEngine.setParameter`).
|
|
7
24
|
*/
|
|
8
25
|
export class AbstractAudioEffect {
|
|
9
26
|
/**
|
|
10
27
|
* Construct the live WebAudio nodes for this effect.
|
|
11
28
|
* @param {BaseAudioContext} ctx
|
|
12
|
-
* @returns {
|
|
29
|
+
* @returns {BuiltAudioEffect}
|
|
13
30
|
*/
|
|
14
|
-
build(ctx: BaseAudioContext):
|
|
15
|
-
input: AudioNode;
|
|
16
|
-
output: AudioNode;
|
|
17
|
-
};
|
|
31
|
+
build(ctx: BaseAudioContext): BuiltAudioEffect;
|
|
18
32
|
/**
|
|
19
33
|
* @readonly
|
|
20
34
|
* @type {boolean}
|
|
21
35
|
*/
|
|
22
36
|
readonly isAudioEffect: boolean;
|
|
23
37
|
}
|
|
38
|
+
export namespace AbstractAudioEffect {
|
|
39
|
+
let parameters: string[];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* What {@link AbstractAudioEffectbuild } returns: the live sub-graph, as the two nodes it is spliced in by,
|
|
43
|
+
* and the parameters that can be moved while it plays.
|
|
44
|
+
*
|
|
45
|
+
* `params` holds the live {@link AudioParam } of each of the class's {@link AbstractAudioEffect.parameters },
|
|
46
|
+
* in that order. Omitted by an effect that declares none.
|
|
47
|
+
*/
|
|
48
|
+
export type BuiltAudioEffect = {
|
|
49
|
+
input: AudioNode;
|
|
50
|
+
output: AudioNode;
|
|
51
|
+
params?: AudioParam[];
|
|
52
|
+
};
|
|
24
53
|
//# sourceMappingURL=AbstractAudioEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractAudioEffect.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/sound/sopra/definition/effect/AbstractAudioEffect.js"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"AbstractAudioEffect.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/sound/sopra/definition/effect/AbstractAudioEffect.js"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;GAcG;AACH;IAEI;;;;OAIG;IACH,WAHW,gBAAgB,GACd,gBAAgB,CAI5B;IAcL;;;OAGG;IACH,wBAFU,OAAO,CAE0B;CAjB1C;;oBASS,MAAM,EAAE;;;;;;;;;+BArCL;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAA;CAAC"}
|
|
@@ -1,22 +1,51 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* What {@link AbstractAudioEffect#build} returns: the live sub-graph, as the two nodes it is spliced in by,
|
|
3
|
+
* and the parameters that can be moved while it plays.
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* `params` holds the live {@link AudioParam} of each of the class's {@link AbstractAudioEffect.parameters},
|
|
6
|
+
* in that order. Omitted by an effect that declares none.
|
|
7
|
+
*
|
|
8
|
+
* @typedef {{input: AudioNode, output: AudioNode, params?: AudioParam[]}} BuiltAudioEffect
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Base class for serializable insert effects — on a bus ({@link BusDefinition.effects}) or on an event
|
|
13
|
+
* ({@link EventDescription.effects}).
|
|
14
|
+
*
|
|
15
|
+
* An effect is a DEFINITION; {@link build} turns it into a live WebAudio sub-graph, once per bus or once per
|
|
16
|
+
* playing instance. The returned `{ input, output }` lets an {@link EffectChain} splice the effect in
|
|
17
|
+
* (`input → effect → output`); for single-node effects `input === output`. The definition is never touched
|
|
18
|
+
* at runtime: a parameter moved on a built effect moves that one copy (see `SopraEngine.setBusEffectParam`,
|
|
19
|
+
* `EventInstance.setEffectParam`).
|
|
20
|
+
*
|
|
21
|
+
* A subclass that has parameters worth moving while it plays names them in a static `parameters` list and
|
|
22
|
+
* returns their `AudioParam`s from {@link build} in the same order. An "effect param" is one of those — a
|
|
23
|
+
* live `AudioParam` of an insert — which is not the same thing as a sopra parameter (the named game value
|
|
24
|
+
* of `SopraEngine.setParameter`).
|
|
7
25
|
*/
|
|
8
26
|
export class AbstractAudioEffect {
|
|
9
27
|
|
|
10
28
|
/**
|
|
11
29
|
* Construct the live WebAudio nodes for this effect.
|
|
12
30
|
* @param {BaseAudioContext} ctx
|
|
13
|
-
* @returns {
|
|
31
|
+
* @returns {BuiltAudioEffect}
|
|
14
32
|
*/
|
|
15
33
|
build(ctx) {
|
|
16
34
|
throw new Error('Implementation must override build()');
|
|
17
35
|
}
|
|
18
36
|
}
|
|
19
37
|
|
|
38
|
+
/**
|
|
39
|
+
* The names of the parameters this class's built effect can move while it plays, in the order
|
|
40
|
+
* {@link AbstractAudioEffect#build} returns their `AudioParam`s. Each is the name of the definition field
|
|
41
|
+
* it starts from, so the field that authors a value and the name that moves it are one word. Declared
|
|
42
|
+
* once per CLASS, so a built effect carries no names of its own. Empty: nothing to move — which is also
|
|
43
|
+
* what a subclass written before parameters existed inherits.
|
|
44
|
+
* @readonly
|
|
45
|
+
* @type {string[]}
|
|
46
|
+
*/
|
|
47
|
+
AbstractAudioEffect.parameters = [];
|
|
48
|
+
|
|
20
49
|
/**
|
|
21
50
|
* @readonly
|
|
22
51
|
* @type {boolean}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
|
|
2
|
+
* @typedef {import("./AbstractAudioEffect.js").BuiltAudioEffect} BuiltAudioEffect
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Dynamics compressor insert (on a bus or an event), backed by a {@link DynamicsCompressorNode}.
|
|
6
|
+
* NOTE: this is a per-bus or per-instance insert; the engine's master compressor (in SoundEngine) is separate
|
|
4
7
|
* master-glue and is not duplicated here.
|
|
5
8
|
*/
|
|
6
9
|
export class CompressorEffect extends AbstractAudioEffect {
|
|
@@ -65,6 +68,8 @@ export class CompressorEffect extends AbstractAudioEffect {
|
|
|
65
68
|
}
|
|
66
69
|
export namespace CompressorEffect {
|
|
67
70
|
let typeName: string;
|
|
71
|
+
let parameters: string[];
|
|
68
72
|
}
|
|
73
|
+
export type BuiltAudioEffect = import("./AbstractAudioEffect.js").BuiltAudioEffect;
|
|
69
74
|
import { AbstractAudioEffect } from "./AbstractAudioEffect.js";
|
|
70
75
|
//# sourceMappingURL=CompressorEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompressorEffect.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/sound/sopra/definition/effect/CompressorEffect.js"],"names":[],"mappings":"AAIA;;;;GAIG;AACH;IA+BI;;;;OAIG;IACH,0DAHW;QAAC,SAAS,CAAC,EAAC,MAAM,CAAC;QAAC,IAAI,CAAC,EAAC,MAAM,CAAC;QAAC,KAAK,CAAC,EAAC,MAAM,CAAC;QAAC,MAAM,CAAC,EAAC,MAAM,CAAC;QAAC,OAAO,CAAC,EAAC,MAAM,CAAA;KAAC,GAC/E,gBAAgB,CAY5B;IA5CD;;;OAGG;IACH,WAFU,MAAM,CAEA;IAEhB;;;OAGG;IACH,MAFU,MAAM,CAEN;IAEV;;OAEG;IACH,OAFU,MAAM,CAEL;IAEX;;;OAGG;IACH,QAFU,MAAM,CAED;IAEf;;;OAGG;IACH,SAFU,MAAM,CAED;
|
|
1
|
+
{"version":3,"file":"CompressorEffect.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/sound/sopra/definition/effect/CompressorEffect.js"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;GAIG;AACH;IA+BI;;;;OAIG;IACH,0DAHW;QAAC,SAAS,CAAC,EAAC,MAAM,CAAC;QAAC,IAAI,CAAC,EAAC,MAAM,CAAC;QAAC,KAAK,CAAC,EAAC,MAAM,CAAC;QAAC,MAAM,CAAC,EAAC,MAAM,CAAC;QAAC,OAAO,CAAC,EAAC,MAAM,CAAA;KAAC,GAC/E,gBAAgB,CAY5B;IA5CD;;;OAGG;IACH,WAFU,MAAM,CAEA;IAEhB;;;OAGG;IACH,MAFU,MAAM,CAEN;IAEV;;OAEG;IACH,OAFU,MAAM,CAEL;IAEX;;;OAGG;IACH,QAFU,MAAM,CAED;IAEf;;;OAGG;IACH,SAFU,MAAM,CAED;IAuCf;;;;OAIG;IACH,cAHW,gBAAgB,GACd,OAAO,CAQnB;IAED,eAUC;IAED,0BAEC;IAED;;;;;;MAQC;IAED;;;;;;aAMC;CACJ;;;oBAOS,MAAM,EAAE;;+BAjIL,OAAO,0BAA0B,EAAE,gBAAgB;oCAH5B,0BAA0B"}
|
|
@@ -1,120 +1,137 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { computeHashFloat } from "../../../../../core/primitives/numbers/computeHashFloat.js";
|
|
3
|
-
import { AbstractAudioEffect } from "./AbstractAudioEffect.js";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
*
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
r
|
|
52
|
-
|
|
53
|
-
r.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
node
|
|
68
|
-
|
|
69
|
-
node.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
return
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
|
|
1
|
+
import { hash_mix3 } from "../../../../../core/math/hash/hash_mix3.js";
|
|
2
|
+
import { computeHashFloat } from "../../../../../core/primitives/numbers/computeHashFloat.js";
|
|
3
|
+
import { AbstractAudioEffect } from "./AbstractAudioEffect.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @typedef {import("./AbstractAudioEffect.js").BuiltAudioEffect} BuiltAudioEffect
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Dynamics compressor insert (on a bus or an event), backed by a {@link DynamicsCompressorNode}.
|
|
11
|
+
* NOTE: this is a per-bus or per-instance insert; the engine's master compressor (in SoundEngine) is separate
|
|
12
|
+
* master-glue and is not duplicated here.
|
|
13
|
+
*/
|
|
14
|
+
export class CompressorEffect extends AbstractAudioEffect {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* dB.
|
|
18
|
+
* @type {number}
|
|
19
|
+
*/
|
|
20
|
+
threshold = -24;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* dB.
|
|
24
|
+
* @type {number}
|
|
25
|
+
*/
|
|
26
|
+
knee = 30;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @type {number}
|
|
30
|
+
*/
|
|
31
|
+
ratio = 12;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Seconds.
|
|
35
|
+
* @type {number}
|
|
36
|
+
*/
|
|
37
|
+
attack = 0.003;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Seconds.
|
|
41
|
+
* @type {number}
|
|
42
|
+
*/
|
|
43
|
+
release = 0.25;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
*
|
|
47
|
+
* @param {{threshold?:number, knee?:number, ratio?:number, attack?:number, release?:number}} [options]
|
|
48
|
+
* @returns {CompressorEffect}
|
|
49
|
+
*/
|
|
50
|
+
static from({ threshold = -24, knee = 30, ratio = 12, attack = 0.003, release = 0.25 } = {}) {
|
|
51
|
+
const r = new CompressorEffect();
|
|
52
|
+
|
|
53
|
+
r.threshold = threshold;
|
|
54
|
+
r.knee = knee;
|
|
55
|
+
r.ratio = ratio;
|
|
56
|
+
r.attack = attack;
|
|
57
|
+
r.release = release;
|
|
58
|
+
|
|
59
|
+
return r;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* @param {BaseAudioContext} ctx
|
|
64
|
+
* @returns {BuiltAudioEffect}
|
|
65
|
+
*/
|
|
66
|
+
build(ctx) {
|
|
67
|
+
const node = ctx.createDynamicsCompressor();
|
|
68
|
+
|
|
69
|
+
node.threshold.value = this.threshold;
|
|
70
|
+
node.knee.value = this.knee;
|
|
71
|
+
node.ratio.value = this.ratio;
|
|
72
|
+
node.attack.value = this.attack;
|
|
73
|
+
node.release.value = this.release;
|
|
74
|
+
|
|
75
|
+
return {
|
|
76
|
+
input: node,
|
|
77
|
+
output: node,
|
|
78
|
+
params: [node.threshold, node.knee, node.ratio, node.attack, node.release]
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
*
|
|
84
|
+
* @param {CompressorEffect} other
|
|
85
|
+
* @returns {boolean}
|
|
86
|
+
*/
|
|
87
|
+
equals(other) {
|
|
88
|
+
return this.threshold === other.threshold
|
|
89
|
+
&& this.knee === other.knee
|
|
90
|
+
&& this.ratio === other.ratio
|
|
91
|
+
&& this.attack === other.attack
|
|
92
|
+
&& this.release === other.release;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
hash() {
|
|
96
|
+
return hash_mix3(
|
|
97
|
+
hash_mix3(
|
|
98
|
+
computeHashFloat(this.threshold),
|
|
99
|
+
computeHashFloat(this.knee),
|
|
100
|
+
computeHashFloat(this.ratio)
|
|
101
|
+
),
|
|
102
|
+
computeHashFloat(this.attack),
|
|
103
|
+
computeHashFloat(this.release)
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
clone() {
|
|
108
|
+
return CompressorEffect.from(this);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
toJSON() {
|
|
112
|
+
return {
|
|
113
|
+
threshold: this.threshold,
|
|
114
|
+
knee: this.knee,
|
|
115
|
+
ratio: this.ratio,
|
|
116
|
+
attack: this.attack,
|
|
117
|
+
release: this.release
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
fromJSON({ threshold = -24, knee = 30, ratio = 12, attack = 0.003, release = 0.25 }) {
|
|
122
|
+
this.threshold = threshold;
|
|
123
|
+
this.knee = knee;
|
|
124
|
+
this.ratio = ratio;
|
|
125
|
+
this.attack = attack;
|
|
126
|
+
this.release = release;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
CompressorEffect.typeName = "SopraCompressorEffect";
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* What a built compressor can move while it plays.
|
|
134
|
+
* @readonly
|
|
135
|
+
* @type {string[]}
|
|
136
|
+
*/
|
|
137
|
+
CompressorEffect.parameters = ['threshold', 'knee', 'ratio', 'attack', 'release'];
|
|
@@ -13,7 +13,7 @@ export namespace EqFilterType {
|
|
|
13
13
|
let Allpass: number;
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
|
-
* Equalizer / filter bus
|
|
16
|
+
* Equalizer / filter insert (on a bus or an event), backed by a {@link BiquadFilterNode}.
|
|
17
17
|
*/
|
|
18
18
|
export class EqEffect extends AbstractAudioEffect {
|
|
19
19
|
/**
|
|
@@ -69,6 +69,8 @@ export class EqEffect extends AbstractAudioEffect {
|
|
|
69
69
|
}
|
|
70
70
|
export namespace EqEffect {
|
|
71
71
|
let typeName: string;
|
|
72
|
+
let parameters: string[];
|
|
72
73
|
}
|
|
74
|
+
export type BuiltAudioEffect = import("./AbstractAudioEffect.js").BuiltAudioEffect;
|
|
73
75
|
import { AbstractAudioEffect } from "./AbstractAudioEffect.js";
|
|
74
76
|
//# sourceMappingURL=EqEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EqEffect.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/sound/sopra/definition/effect/EqEffect.js"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"EqEffect.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/sound/sopra/definition/effect/EqEffect.js"],"names":[],"mappings":";;;2BAWU,MAAM;;;;;;;;;;;AAoBhB;;GAEG;AACH;IAyBI;;;;OAIG;IACH,mDAHW;QAAC,UAAU,CAAC,EAAC,YAAY,GAAC,MAAM,CAAC;QAAC,SAAS,CAAC,EAAC,MAAM,CAAC;QAAC,CAAC,CAAC,EAAC,MAAM,CAAC;QAAC,MAAM,CAAC,EAAC,MAAM,CAAA;KAAC,GAC7E,QAAQ,CAWpB;IArCD;;OAEG;IACH,YAFU,YAAY,GAAC,MAAM,CAEK;IAElC;;;OAGG;IACH,WAFU,MAAM,CAEA;IAEhB;;;OAGG;IACH,GAFU,MAAM,CAEV;IAEN;;;OAGG;IACH,QAFU,MAAM,CAEL;IAqCX;;;;OAIG;IACH,cAHW,QAAQ,GACN,OAAO,CAOnB;IAED,eASC;IAED,kBAEC;IAED;;;;;MAOC;IAED;;;;;aAKC;CACJ;;;oBAOS,MAAM,EAAE;;+BAzIL,OAAO,0BAA0B,EAAE,gBAAgB;oCAH5B,0BAA0B"}
|