@woosh/meep-engine 2.106.1 → 2.107.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/meep.cjs +1990 -2364
- package/build/meep.min.js +1 -1
- package/build/meep.module.js +1990 -2364
- package/editor/Editor.js +55 -60
- package/editor/SelectionVisualizer.js +111 -109
- package/editor/actions/concrete/ComponentAddAction.js +0 -3
- package/editor/actions/concrete/ComponentRemoveAction.js +0 -4
- package/editor/actions/concrete/EntityCreateAction.js +0 -3
- package/editor/actions/concrete/EntityRemoveAction.js +0 -4
- package/editor/actions/concrete/SelectionAddAction.js +0 -3
- package/editor/actions/concrete/SelectionClearAction.js +0 -3
- package/editor/actions/concrete/SelectionRemoveAction.js +0 -3
- package/editor/ecs/EditorEntity.js +8 -6
- package/editor/tools/SelectionTool.js +0 -5
- package/editor/tools/TopDownCameraControlTool.js +2 -5
- package/editor/tools/TransformTool.js +137 -136
- package/editor/tools/engine/Tool.js +1 -6
- package/editor/tools/engine/ToolEngine.js +145 -148
- package/editor/tools/v2/TransformControls.js +25 -24
- package/editor/view/EditorView.js +0 -5
- package/editor/view/ecs/ComponentControlFactory.js +37 -40
- package/editor/view/ecs/EntityEditor.js +0 -3
- package/editor/view/ecs/EntityList.js +6 -11
- package/editor/view/ecs/components/MeshController.js +4 -7
- package/editor/view/ecs/components/TransformController.js +3 -9
- package/editor/view/tools/ToolView.js +2 -8
- package/package.json +1 -1
- package/src/core/IdPool.d.ts.map +1 -1
- package/src/core/IdPool.js +0 -5
- package/src/core/UUID.d.ts.map +1 -1
- package/src/core/UUID.js +0 -4
- package/src/core/binary/BitSet.d.ts +17 -14
- package/src/core/binary/BitSet.d.ts.map +1 -1
- package/src/core/binary/BitSet.js +411 -412
- package/src/core/binary/type/Field.d.ts +0 -8
- package/src/core/binary/type/Field.d.ts.map +1 -1
- package/src/core/binary/type/Field.js +16 -19
- package/src/core/binary/type/MultiplicityType.js +0 -4
- package/src/core/binary/type/PrimitiveTypes.d.ts.map +1 -1
- package/src/core/binary/type/PrimitiveTypes.js +0 -4
- package/src/core/binary/type/Type.d.ts +0 -6
- package/src/core/binary/type/Type.d.ts.map +1 -1
- package/src/core/binary/type/Type.js +63 -64
- package/src/core/binary/type/TypeBuilder.d.ts +0 -1
- package/src/core/binary/type/TypeBuilder.d.ts.map +1 -1
- package/src/core/binary/type/TypeBuilder.js +15 -18
- package/src/core/binary/type/TypeRegistry.d.ts +6 -4
- package/src/core/binary/type/TypeRegistry.d.ts.map +1 -1
- package/src/core/binary/type/TypeRegistry.js +38 -42
- package/src/core/bvh2/visual/BVHGeometry.d.ts.map +1 -1
- package/src/core/bvh2/visual/BVHGeometry.js +0 -3
- package/src/core/codegen/LineBuilder.d.ts.map +1 -1
- package/src/core/codegen/LineBuilder.js +0 -5
- package/src/core/collection/set/ArraySet.d.ts.map +1 -1
- package/src/core/collection/set/ArraySet.js +1 -5
- package/src/core/collection/table/RowFirstTable.d.ts.map +1 -1
- package/src/core/collection/table/RowFirstTable.js +0 -5
- package/src/core/color/parse_color.d.ts.map +1 -1
- package/src/core/color/parse_color.js +1 -5
- package/src/core/geom/2d/Rectangle.d.ts.map +1 -1
- package/src/core/geom/2d/Rectangle.js +0 -4
- package/src/core/geom/2d/aabb/AABB2.d.ts.map +1 -1
- package/src/core/geom/2d/aabb/AABB2.js +0 -6
- package/src/core/geom/3d/aabb/AABB3.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/AABB3.js +0 -5
- package/src/core/geom/3d/morton/Morton.d.ts.map +1 -1
- package/src/core/geom/3d/morton/Morton.js +0 -3
- package/src/core/geom/3d/sphere/harmonics/sh3_dering_optimize_positive.js +11 -11
- package/src/core/geom/Quaternion.d.ts.map +1 -1
- package/src/core/geom/Quaternion.js +0 -5
- package/src/core/geom/Vector4.d.ts.map +1 -1
- package/src/core/geom/Vector4.js +0 -4
- package/src/core/graph/Edge.d.ts.map +1 -1
- package/src/core/graph/Edge.js +0 -5
- package/src/core/graph/WeightedEdge.d.ts.map +1 -1
- package/src/core/json/JsonUtils.d.ts.map +1 -1
- package/src/core/json/JsonUtils.js +0 -4
- package/src/core/math/random/MersenneTwister.d.ts +1 -2
- package/src/core/math/random/MersenneTwister.d.ts.map +1 -1
- package/src/core/math/random/MersenneTwister.js +134 -133
- package/src/core/model/BooleanVector3.d.ts.map +1 -1
- package/src/core/model/BooleanVector3.js +108 -108
- package/src/core/model/BoundedValue.d.ts +116 -0
- package/src/core/model/BoundedValue.d.ts.map +1 -0
- package/src/core/model/BoundedValue.js +214 -217
- package/src/core/model/LinearValue.d.ts +84 -0
- package/src/core/model/LinearValue.d.ts.map +1 -0
- package/src/core/model/LinearValue.js +116 -117
- package/src/core/model/ObservedEnum.d.ts.map +1 -1
- package/src/core/model/ObservedEnum.js +82 -80
- package/src/core/model/ObservedValue.d.ts +10 -17
- package/src/core/model/ObservedValue.d.ts.map +1 -1
- package/src/core/model/ObservedValue.js +85 -88
- package/src/core/model/object/ObjectPoolFactory.d.ts +1 -9
- package/src/core/model/object/ObjectPoolFactory.d.ts.map +1 -1
- package/src/core/model/object/ObjectPoolFactory.js +73 -73
- package/src/core/model/scheme/Schema.d.ts +0 -6
- package/src/core/model/scheme/Schema.d.ts.map +1 -1
- package/src/core/model/scheme/Schema.js +50 -48
- package/src/core/model/scheme/SchemeRegistry.d.ts +6 -1
- package/src/core/model/scheme/SchemeRegistry.d.ts.map +1 -1
- package/src/core/model/scheme/SchemeRegistry.js +46 -44
- package/src/core/process/Future.d.ts +14 -9
- package/src/core/process/Future.d.ts.map +1 -1
- package/src/core/process/Future.js +96 -98
- package/src/core/process/executor/ConcurrentExecutor.d.ts.map +1 -1
- package/src/core/process/executor/ConcurrentExecutor.js +0 -3
- package/src/core/process/task/Task.d.ts.map +1 -1
- package/src/core/process/task/Task.js +0 -5
- package/src/core/process/task/TaskGroup.d.ts.map +1 -1
- package/src/core/process/task/TaskGroup.js +178 -180
- package/src/core/process/task/TaskSignal.d.ts.map +1 -1
- package/src/core/process/task/TaskSignal.js +0 -5
- package/src/core/process/task/TaskState.d.ts.map +1 -1
- package/src/core/process/task/TaskState.js +0 -4
- package/src/core/process/worker/WorkerBuilder.d.ts.map +1 -1
- package/src/core/process/worker/WorkerBuilder.js +0 -5
- package/src/core/process/worker/WorkerProxy.d.ts.map +1 -1
- package/src/core/process/worker/WorkerProxy.js +0 -5
- package/src/engine/Clock.d.ts.map +1 -1
- package/src/engine/Clock.js +0 -5
- package/src/engine/Engine.js +4 -4
- package/src/engine/EntityCreator.d.ts.map +1 -1
- package/src/engine/EntityCreator.js +7 -10
- package/src/engine/animation/AnimatedActions.d.ts.map +1 -1
- package/src/engine/animation/AnimatedActions.js +0 -5
- package/src/engine/animation/Animations.d.ts.map +1 -1
- package/src/engine/animation/Animations.js +1 -6
- package/src/engine/animation/EntityAnimation.js +1 -4
- package/src/engine/animation/Tween.js +1 -4
- package/src/engine/animation/keyed2/AnimationTrack.d.ts +0 -6
- package/src/engine/animation/keyed2/AnimationTrack.d.ts.map +1 -1
- package/src/engine/animation/keyed2/AnimationTrack.js +154 -152
- package/src/engine/animation/keyed2/AnimationTrackPlayback.d.ts +0 -10
- package/src/engine/animation/keyed2/AnimationTrackPlayback.d.ts.map +1 -1
- package/src/engine/animation/keyed2/AnimationTrackPlayback.js +173 -171
- package/src/engine/asset/AssetManager.d.ts.map +1 -1
- package/src/engine/asset/AssetManager.js +0 -5
- package/src/engine/asset/preloader/AssetLevel.js +0 -3
- package/src/engine/ecs/EntityManager.d.ts.map +1 -1
- package/src/engine/ecs/EntityManager.js +0 -4
- package/src/engine/ecs/System.d.ts.map +1 -1
- package/src/engine/ecs/System.js +0 -5
- package/src/engine/ecs/animation/Animation.d.ts.map +1 -1
- package/src/engine/ecs/animation/Animation.js +1 -19
- package/src/engine/ecs/components/Motion.d.ts.map +1 -1
- package/src/engine/ecs/components/Motion.js +0 -5
- package/src/engine/ecs/components/PropertySet.d.ts +8 -1
- package/src/engine/ecs/components/PropertySet.d.ts.map +1 -1
- package/src/engine/ecs/components/PropertySet.js +87 -83
- package/src/engine/ecs/components/Script.d.ts +0 -16
- package/src/engine/ecs/components/Script.d.ts.map +1 -1
- package/src/engine/ecs/components/Script.js +14 -18
- package/src/engine/ecs/components/Tag.d.ts.map +1 -1
- package/src/engine/ecs/components/Tag.js +4 -5
- package/src/engine/ecs/components/Timer.d.ts +0 -5
- package/src/engine/ecs/components/Timer.d.ts.map +1 -1
- package/src/engine/ecs/components/Timer.js +0 -5
- package/src/engine/ecs/grid/HeightMap2NormalMap.d.ts.map +1 -1
- package/src/engine/ecs/grid/HeightMap2NormalMap.js +2 -6
- package/src/engine/ecs/grid/HeightSampler2NormalSamplerSoft.d.ts.map +1 -1
- package/src/engine/ecs/grid/HeightSampler2NormalSamplerSoft.js +0 -3
- package/src/engine/ecs/grid/NormalMap2AOMap.d.ts.map +1 -1
- package/src/engine/ecs/grid/NormalMap2AOMap.js +3 -8
- package/src/engine/ecs/gui/GUIElement.d.ts.map +1 -1
- package/src/engine/ecs/gui/GUIElement.js +0 -3
- package/src/engine/ecs/gui/GUIElementSystem.d.ts.map +1 -1
- package/src/engine/ecs/gui/GUIElementSystem.js +0 -4
- package/src/engine/ecs/gui/hud/HeadsUpDisplay.d.ts.map +1 -1
- package/src/engine/ecs/gui/hud/HeadsUpDisplay.js +0 -7
- package/src/engine/ecs/gui/hud/HeadsUpDisplaySystem.d.ts.map +1 -1
- package/src/engine/ecs/gui/hud/HeadsUpDisplaySystem.js +0 -5
- package/src/engine/ecs/gui/menu/radial/RadialContextMenu.d.ts.map +1 -1
- package/src/engine/ecs/gui/menu/radial/RadialContextMenu.js +5 -8
- package/src/engine/ecs/gui/position/ViewportPosition.d.ts.map +1 -1
- package/src/engine/ecs/gui/position/ViewportPosition.js +0 -4
- package/src/engine/ecs/gui/position/ViewportPositionSystem.d.ts +1 -2
- package/src/engine/ecs/gui/position/ViewportPositionSystem.d.ts.map +1 -1
- package/src/engine/ecs/gui/position/ViewportPositionSystem.js +6 -10
- package/src/engine/ecs/ik/IKProblem.d.ts +1 -2
- package/src/engine/ecs/ik/IKProblem.d.ts.map +1 -1
- package/src/engine/ecs/renderable/RenderSystem.d.ts.map +1 -1
- package/src/engine/ecs/renderable/RenderSystem.js +0 -3
- package/src/engine/ecs/renderable/Renderable.d.ts.map +1 -1
- package/src/engine/ecs/renderable/Renderable.js +0 -5
- package/src/engine/ecs/systems/AnimationSystem.d.ts.map +1 -1
- package/src/engine/ecs/systems/AnimationSystem.js +9 -17
- package/src/engine/ecs/systems/MotionSystem.d.ts.map +1 -1
- package/src/engine/ecs/systems/MotionSystem.js +1 -6
- package/src/engine/ecs/systems/ScriptSystem.d.ts.map +1 -1
- package/src/engine/ecs/systems/ScriptSystem.js +1 -6
- package/src/engine/ecs/systems/TimerSystem.d.ts.map +1 -1
- package/src/engine/ecs/systems/TimerSystem.js +1 -6
- package/src/engine/ecs/team/Team.d.ts.map +1 -1
- package/src/engine/ecs/team/Team.js +0 -3
- package/src/engine/ecs/terrain/BufferedGeometryArraysBuilder.d.ts.map +1 -1
- package/src/engine/ecs/terrain/BufferedGeometryArraysBuilder.js +0 -5
- package/src/engine/ecs/terrain/TerrainClouds.d.ts.map +1 -1
- package/src/engine/ecs/terrain/TerrainClouds.js +0 -5
- package/src/engine/ecs/terrain/ecs/Terrain.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/Terrain.js +0 -5
- package/src/engine/ecs/terrain/ecs/cling/ClingToTerrain.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/cling/ClingToTerrain.js +0 -3
- package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSystem.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSystem.js +11 -14
- package/src/engine/ecs/terrain/overlay/TerrainOverlay.d.ts.map +1 -1
- package/src/engine/ecs/terrain/overlay/TerrainOverlay.js +0 -5
- package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts.map +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTile.js +0 -5
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts.map +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.js +0 -3
- package/src/engine/ecs/terrain/tiles/TileBuildWorker.js +0 -4
- package/src/engine/ecs/transform/Transform.d.ts.map +1 -1
- package/src/engine/ecs/transform/Transform.js +0 -4
- package/src/engine/google/gapi.js +0 -4
- package/src/engine/graphics/FrameThrottle.d.ts +0 -4
- package/src/engine/graphics/FrameThrottle.d.ts.map +1 -1
- package/src/engine/graphics/FrameThrottle.js +0 -5
- package/src/engine/graphics/GraphicsEngine.d.ts.map +1 -1
- package/src/engine/graphics/GraphicsEngine.js +1 -6
- package/src/engine/graphics/composit/LayerCompositer.d.ts.map +1 -1
- package/src/engine/graphics/composit/LayerCompositer.js +2 -5
- package/src/engine/graphics/ecs/animation/AnimationController.d.ts.map +1 -1
- package/src/engine/graphics/ecs/animation/AnimationController.js +0 -5
- package/src/engine/graphics/ecs/animation/AnimationControllerSystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/animation/AnimationControllerSystem.js +2 -7
- package/src/engine/graphics/ecs/animation/AnimationRule.d.ts +0 -1
- package/src/engine/graphics/ecs/animation/AnimationRule.d.ts.map +1 -1
- package/src/engine/graphics/ecs/animation/AnimationRule.js +70 -66
- package/src/engine/graphics/ecs/camera/Camera.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/Camera.js +0 -5
- package/src/engine/graphics/ecs/camera/CameraSystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/CameraSystem.js +0 -5
- package/src/engine/graphics/ecs/camera/FrustumProjector.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/FrustumProjector.js +0 -5
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js +4 -9
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSystem.js +3 -8
- package/src/engine/graphics/ecs/highlight/Highlight.d.ts.map +1 -1
- package/src/engine/graphics/ecs/highlight/Highlight.js +0 -3
- package/src/engine/graphics/ecs/highlight/system/MeshHighlightSystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/highlight/system/MeshHighlightSystem.js +3 -8
- package/src/engine/graphics/ecs/light/Light.d.ts.map +1 -1
- package/src/engine/graphics/ecs/light/Light.js +2 -6
- package/src/engine/graphics/ecs/light/LightSystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/light/LightSystem.js +0 -5
- package/src/engine/graphics/ecs/mesh/Mesh.d.ts.map +1 -1
- package/src/engine/graphics/ecs/mesh/Mesh.js +0 -3
- package/src/engine/graphics/ecs/mesh/MeshSystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/mesh/MeshSystem.js +0 -5
- package/src/engine/graphics/ecs/trail2d/Trail2D.d.ts.map +1 -1
- package/src/engine/graphics/ecs/trail2d/Trail2D.js +0 -5
- package/src/engine/graphics/ecs/trail2d/Trail2DSystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/trail2d/Trail2DSystem.js +0 -5
- package/src/engine/graphics/ecs/water/Water.d.ts.map +1 -1
- package/src/engine/graphics/ecs/water/Water.js +0 -5
- package/src/engine/graphics/ecs/water/WaterSystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/water/WaterSystem.js +0 -3
- package/src/engine/graphics/filter/ImageFilter.d.ts.map +1 -1
- package/src/engine/graphics/filter/ImageFilter.js +0 -5
- package/src/engine/graphics/geometry/BufferGeometryWrap.js +1 -3
- package/src/engine/graphics/geometry/buffered/ComputeNormals.d.ts.map +1 -1
- package/src/engine/graphics/geometry/buffered/ComputeNormals.js +0 -5
- package/src/engine/graphics/geometry/ribbon/Ribbon.d.ts.map +1 -1
- package/src/engine/graphics/geometry/ribbon/Ribbon.js +1 -4
- package/src/engine/graphics/material/SplatMaterial.d.ts.map +1 -1
- package/src/engine/graphics/material/SplatMaterial.js +0 -3
- package/src/engine/graphics/material/WaterMaterial.d.ts.map +1 -1
- package/src/engine/graphics/material/WaterMaterial.js +0 -3
- package/src/engine/graphics/particles/particular/engine/MovingBoundingBox.d.ts +0 -5
- package/src/engine/graphics/particles/particular/engine/MovingBoundingBox.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/MovingBoundingBox.js +114 -114
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.d.ts +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.js +347 -348
- package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.d.ts +1 -3
- package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterSet.d.ts +0 -1
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterSet.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterSet.js +110 -111
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterSheet.d.ts +0 -9
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterSheet.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterSheet.js +70 -66
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrackSet.d.ts +0 -5
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrackSet.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrackSet.js +82 -82
- package/src/engine/graphics/particles/particular/group/Operation.d.ts +0 -7
- package/src/engine/graphics/particles/particular/group/Operation.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/group/Operation.js +16 -14
- package/src/engine/graphics/particles/particular/group/ParticleAttribute.d.ts +0 -9
- package/src/engine/graphics/particles/particular/group/ParticleAttribute.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/group/ParticleAttribute.js +23 -21
- package/src/engine/graphics/particles/particular/group/ParticleGroup.d.ts +2 -10
- package/src/engine/graphics/particles/particular/group/ParticleGroup.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/group/ParticleGroup.js +463 -464
- package/src/engine/graphics/particles/particular/group/ParticleSpecification.d.ts +0 -2
- package/src/engine/graphics/particles/particular/group/ParticleSpecification.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/group/ParticleSpecification.js +39 -33
- package/src/engine/graphics/render/buffer/FrameBufferManager.d.ts +6 -1
- package/src/engine/graphics/render/buffer/FrameBufferManager.d.ts.map +1 -1
- package/src/engine/graphics/render/buffer/FrameBufferManager.js +166 -163
- package/src/engine/graphics/render/layers/RenderLayer.d.ts.map +1 -1
- package/src/engine/graphics/render/layers/RenderLayer.js +0 -5
- package/src/engine/graphics/shaders/AlphaBlendShader.js +1 -3
- package/src/engine/graphics/shaders/AmbientOcclusionShader.d.ts.map +1 -1
- package/src/engine/graphics/shaders/AmbientOcclusionShader.js +0 -3
- package/src/engine/graphics/shaders/ClearShader.js +1 -3
- package/src/engine/graphics/shaders/CopyShader.d.ts +0 -3
- package/src/engine/graphics/shaders/CopyShader.d.ts.map +1 -1
- package/src/engine/graphics/shaders/CopyShader.js +1 -3
- package/src/engine/graphics/shaders/NormalMapShader2.d.ts.map +1 -1
- package/src/engine/graphics/shaders/NormalMapShader2.js +0 -5
- package/src/engine/graphics/shaders/TerrainShader.js +0 -4
- package/src/engine/graphics/shaders/WaterShader.js +0 -3
- package/src/engine/graphics/shaders/lib/ShaderChunks.js +1 -3
- package/src/engine/graphics/texture/Canvas2Sampler2D.d.ts.map +1 -1
- package/src/engine/graphics/texture/Canvas2Sampler2D.js +1 -4
- package/src/engine/graphics/texture/CheckersTexture.d.ts.map +1 -1
- package/src/engine/graphics/texture/CheckersTexture.js +0 -3
- package/src/engine/graphics/texture/CheckersTextureURI.js +1 -3
- package/src/engine/graphics/texture/sampler/Sampler2D.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/Sampler2D.js +0 -5
- package/src/engine/graphics/texture/sampler/Sampler2D2Canvas.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/Sampler2D2Canvas.js +0 -5
- package/src/engine/graphics/texture/sampler/Sampler2D2Texture.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/Sampler2D2Texture.js +0 -3
- package/src/engine/graphics/three/ThreeFactory.d.ts.map +1 -1
- package/src/engine/graphics/three/ThreeFactory.js +0 -5
- package/src/engine/grid/grid2transform/GridPosition2Transform.d.ts.map +1 -1
- package/src/engine/grid/grid2transform/GridPosition2Transform.js +0 -4
- package/src/engine/grid/grid2transform/GridPosition2TransformSystem.d.ts.map +1 -1
- package/src/engine/grid/grid2transform/GridPosition2TransformSystem.js +4 -7
- package/src/engine/grid/obstacle/GridObstacle.d.ts.map +1 -1
- package/src/engine/grid/obstacle/GridObstacle.js +0 -5
- package/src/engine/grid/position/GridPosition.d.ts.map +1 -1
- package/src/engine/grid/position/GridPosition.js +0 -4
- package/src/engine/grid/position/GridPositionSystem.d.ts.map +1 -1
- package/src/engine/grid/position/GridPositionSystem.js +1 -4
- package/src/engine/input/devices/KeyCodes.d.ts.map +1 -1
- package/src/engine/input/devices/KeyCodes.js +3 -4
- package/src/engine/input/devices/KeyboardDevice.d.ts.map +1 -1
- package/src/engine/input/devices/KeyboardDevice.js +0 -4
- package/src/engine/input/devices/PointerDevice.d.ts.map +1 -1
- package/src/engine/input/devices/PointerDevice.js +0 -3
- package/src/engine/input/ecs/components/InputController.d.ts.map +1 -1
- package/src/engine/input/ecs/components/InputController.js +1 -5
- package/src/engine/input/ecs/controllers/KeyboardCameraController.d.ts.map +1 -1
- package/src/engine/input/ecs/controllers/KeyboardCameraController.js +5 -10
- package/src/engine/input/ecs/systems/InputControllerSystem.d.ts.map +1 -1
- package/src/engine/input/ecs/systems/InputControllerSystem.js +78 -78
- package/src/engine/input/ecs/util/TopDownCameraControllerHelper.d.ts.map +1 -1
- package/src/engine/input/ecs/util/TopDownCameraControllerHelper.js +3 -6
- package/src/engine/intelligence/mcts/MonteCarlo.spec.js +78 -76
- package/src/engine/navigation/ecs/components/Path.d.ts.map +1 -1
- package/src/engine/navigation/ecs/components/Path.js +0 -5
- package/src/engine/navigation/ecs/path_following/PathFollower.d.ts.map +1 -1
- package/src/engine/navigation/ecs/path_following/PathFollower.js +1 -6
- package/src/engine/navigation/ecs/path_following/PathFollowingSystem.d.ts.map +1 -1
- package/src/engine/navigation/ecs/path_following/PathFollowingSystem.js +5 -12
- package/src/engine/network/DataChannel.js +284 -284
- package/src/engine/network/xhr.d.ts +0 -3
- package/src/engine/network/xhr.d.ts.map +1 -1
- package/src/engine/network/xhr.js +0 -3
- package/src/engine/notify/Notification.d.ts +1 -1
- package/src/engine/notify/Notification.d.ts.map +1 -1
- package/src/engine/notify/Notification.js +1 -6
- package/src/engine/notify/NotificationLog.d.ts.map +1 -1
- package/src/engine/notify/NotificationLog.js +0 -5
- package/src/engine/options/OptionsView.d.ts.map +1 -1
- package/src/engine/options/OptionsView.js +1 -6
- package/src/engine/physics/ammo/Body.js +0 -3
- package/src/engine/physics/ammo/PhysicsWorker.d.ts.map +1 -1
- package/src/engine/physics/ammo/PhysicsWorker.js +1 -3
- package/src/engine/physics/ammo/World.d.ts +68 -0
- package/src/engine/physics/ammo/World.d.ts.map +1 -0
- package/src/engine/physics/ammo/World.js +277 -278
- package/src/engine/physics/ammo/shapes/BoxShape.js +0 -3
- package/src/engine/physics/ammo/shapes/CapsuleShape.js +0 -3
- package/src/engine/physics/ammo/shapes/MeshShape.js +0 -3
- package/src/engine/physics/ammo/shapes/PlaneShape.js +0 -3
- package/src/engine/physics/ammo/shapes/Shape.js +1 -3
- package/src/engine/physics/ammo/shapes/SphereShape.js +0 -3
- package/src/engine/physics/cannon/CannonJSPhysicsSystem.d.ts.map +1 -1
- package/src/engine/physics/cannon/CannonJSPhysicsSystem.js +3 -6
- package/src/engine/save/GameStateLoader.d.ts.map +1 -1
- package/src/engine/save/GameStateLoader.js +1 -5
- package/src/engine/save/Storage.d.ts.map +1 -1
- package/src/engine/save/Storage.js +0 -7
- package/src/engine/scene/Scene.d.ts.map +1 -1
- package/src/engine/scene/Scene.js +2 -7
- package/src/engine/scene/SceneManager.d.ts.map +1 -1
- package/src/engine/scene/SceneManager.js +1 -4
- package/src/engine/simulation/DormandPrince.d.ts +0 -1
- package/src/engine/simulation/DormandPrince.d.ts.map +1 -1
- package/src/engine/simulation/DormandPrince.js +5 -5
- package/src/engine/simulation/Ticker.d.ts.map +1 -1
- package/src/engine/simulation/Ticker.js +0 -3
- package/src/engine/sound/ecs/SoundController.d.ts +0 -7
- package/src/engine/sound/ecs/SoundController.d.ts.map +1 -1
- package/src/engine/sound/ecs/SoundController.js +118 -119
- package/src/engine/sound/ecs/SoundControllerSystem.d.ts.map +1 -1
- package/src/engine/sound/ecs/SoundControllerSystem.js +3 -8
- package/src/engine/sound/ecs/SoundListener.d.ts +0 -1
- package/src/engine/sound/ecs/SoundListener.d.ts.map +1 -1
- package/src/engine/sound/ecs/SoundListener.js +26 -29
- package/src/engine/sound/ecs/SoundListenerSystem.d.ts.map +1 -1
- package/src/engine/sound/ecs/SoundListenerSystem.js +0 -5
- package/src/engine/sound/ecs/emitter/SoundEmitter.d.ts.map +1 -1
- package/src/engine/sound/ecs/emitter/SoundEmitter.js +0 -5
- package/src/engine/sound/ecs/emitter/SoundEmitterSystem.d.ts.map +1 -1
- package/src/engine/sound/ecs/emitter/SoundEmitterSystem.js +0 -7
- package/src/engine/ui/GUIEngine.d.ts.map +1 -1
- package/src/engine/ui/GUIEngine.js +0 -5
- package/src/engine/ui/tiles2d/TileGrid.d.ts.map +1 -1
- package/src/engine/ui/tiles2d/TileGrid.js +1 -4
- package/src/generation/markers/debug/visualizeMarkers.js +10 -10
- package/src/view/DOM.js +1 -3
- package/src/view/SVG.d.ts +0 -3
- package/src/view/SVG.d.ts.map +1 -1
- package/src/view/SVG.js +0 -4
- package/src/view/asset/PreloaderView.d.ts.map +1 -1
- package/src/view/asset/PreloaderView.js +0 -3
- package/src/view/common/LabelView.d.ts +1 -6
- package/src/view/common/LabelView.d.ts.map +1 -1
- package/src/view/common/LabelView.js +24 -33
- package/src/view/common/ListView.d.ts.map +1 -1
- package/src/view/common/ListView.js +0 -6
- package/src/view/common/MeshView.js +3 -6
- package/src/view/common/VirtualListView.d.ts.map +1 -1
- package/src/view/common/VirtualListView.js +0 -5
- package/src/view/common/dnd/DragAndDropContext.d.ts +1 -2
- package/src/view/common/dnd/DragAndDropContext.d.ts.map +1 -1
- package/src/view/common/dnd/DragAndDropContext.js +107 -110
- package/src/view/controller/GuiController.d.ts.map +1 -1
- package/src/view/controller/GuiController.js +1 -6
- package/src/view/controller/controls/BooleanVector3Control.d.ts +1 -1
- package/src/view/controller/controls/BooleanVector3Control.d.ts.map +1 -1
- package/src/view/controller/controls/GuiControl.js +2 -7
- package/src/view/controller/controls/Vector1Control.d.ts +1 -1
- package/src/view/controller/controls/Vector1Control.d.ts.map +1 -1
- package/src/view/controller/controls/Vector1Control.js +2 -7
- package/src/view/controller/controls/Vector2Control.d.ts.map +1 -1
- package/src/view/controller/controls/Vector2Control.js +0 -4
- package/src/view/controller/controls/Vector3Control.d.ts.map +1 -1
- package/src/view/controller/controls/Vector3Control.js +0 -3
- package/src/view/elements/ConfirmationDialogView.d.ts.map +1 -1
- package/src/view/elements/ConfirmationDialogView.js +1 -6
- package/src/view/elements/DropDownSelectionView.d.ts.map +1 -1
- package/src/view/elements/DropDownSelectionView.js +0 -5
- package/src/view/elements/EmptyView.d.ts.map +1 -1
- package/src/view/elements/EmptyView.js +0 -4
- package/src/view/elements/Group.d.ts.map +1 -1
- package/src/view/elements/Group.js +0 -3
- package/src/view/elements/MeshPreview.d.ts.map +1 -1
- package/src/view/elements/MeshPreview.js +5 -8
- package/src/view/elements/SimpleWindow.d.ts +1 -1
- package/src/view/elements/SimpleWindow.d.ts.map +1 -1
- package/src/view/elements/SimpleWindow.js +5 -11
- package/src/view/elements/button/ButtonView.d.ts.map +1 -1
- package/src/view/elements/button/ButtonView.js +1 -5
- package/src/view/elements/image/ImageView.d.ts.map +1 -1
- package/src/view/elements/image/ImageView.js +0 -4
- package/src/view/elements/image/SvgImageView.d.ts.map +1 -1
- package/src/view/elements/image/SvgImageView.js +2 -7
- package/src/view/elements/label/LabeledValueView.d.ts.map +1 -1
- package/src/view/elements/label/LabeledValueView.js +3 -8
- package/src/view/elements/navigation/ViewStack.d.ts +0 -7
- package/src/view/elements/navigation/ViewStack.d.ts.map +1 -1
- package/src/view/elements/navigation/ViewStack.js +17 -19
- package/src/view/elements/notify/NotificationView.js +1 -4
- package/src/view/elements/notify/ToastLogView.d.ts.map +1 -1
- package/src/view/elements/notify/ToastLogView.js +0 -3
- package/src/view/elements/progress/SmoothProgressBar.d.ts +72 -0
- package/src/view/elements/progress/SmoothProgressBar.d.ts.map +1 -0
- package/src/view/elements/radial/RadialMenu.d.ts.map +1 -1
- package/src/view/elements/radial/RadialMenu.js +1 -6
- package/src/view/elements/radial/RadialMenuElement.d.ts.map +1 -1
- package/src/view/elements/radial/RadialMenuElement.js +1 -4
- package/src/view/elements/radial/RadialProgressView.d.ts +1 -1
- package/src/view/elements/radial/RadialProgressView.d.ts.map +1 -1
- package/src/view/elements/radial/RadialProgressView.js +4 -9
- package/src/view/elements/tiles2d/Tile.d.ts.map +1 -1
- package/src/view/elements/tiles2d/Tile.js +3 -6
- package/src/view/elements/tiles2d/TileGrid.d.ts.map +1 -1
- package/src/view/elements/tiles2d/TileGrid.js +0 -5
- package/src/view/minimap/Minimap.d.ts.map +1 -1
- package/src/view/minimap/Minimap.js +11 -16
- package/src/view/minimap/dom/MinimapCameraView.d.ts +1 -2
- package/src/view/minimap/dom/MinimapCameraView.d.ts.map +1 -1
- package/src/view/minimap/dom/MinimapTerrainView.d.ts +1 -1
- package/src/view/minimap/dom/MinimapTerrainView.d.ts.map +1 -1
- package/src/view/minimap/gl/MarkerGL.d.ts +2 -12
- package/src/view/minimap/gl/MarkerGL.d.ts.map +1 -1
- package/src/view/minimap/gl/MarkerGL.js +60 -56
- package/src/view/minimap/gl/MinimapMarkersGL.d.ts +1 -1
- package/src/view/minimap/gl/MinimapMarkersGL.d.ts.map +1 -1
- package/src/view/minimap/gl/MinimapTerrainGL.d.ts +1 -2
- package/src/view/minimap/gl/MinimapTerrainGL.d.ts.map +1 -1
- package/src/view/renderModel.d.ts.map +1 -1
- package/src/view/renderModel.js +3 -7
- package/src/view/task/TaskProgressView.d.ts.map +1 -1
- package/src/view/task/TaskProgressView.js +0 -5
- package/src/engine/asset/loaders/LegacyThreeJSONAssetLoader.d.ts +0 -9
- package/src/engine/asset/loaders/LegacyThreeJSONAssetLoader.d.ts.map +0 -1
- package/src/engine/asset/loaders/LegacyThreeJSONAssetLoader.js +0 -105
- package/src/engine/graphics/geometry/decimation/SimplifyModifier.d.ts +0 -117
- package/src/engine/graphics/geometry/decimation/SimplifyModifier.d.ts.map +0 -1
- package/src/engine/graphics/geometry/decimation/SimplifyModifier.js +0 -971
- package/src/engine/graphics/loader/threejs/GLTFLoader.js +0 -3179
- package/src/engine/graphics/loader/threejs/LegacyJSONLoader.d.ts +0 -6
- package/src/engine/graphics/loader/threejs/LegacyJSONLoader.d.ts.map +0 -1
- package/src/engine/graphics/loader/threejs/LegacyJSONLoader.js +0 -845
- package/src/engine/graphics/postprocess/Postprocess.js +0 -284
- package/src/engine/graphics/postprocess/threejs/Mirror.js +0 -330
- package/src/engine/graphics/postprocess/threejs/WaterShader.js +0 -306
- package/src/engine/graphics/postprocess/threejs/postprocessing/AdaptiveToneMappingPass.js +0 -338
- package/src/engine/graphics/postprocess/threejs/postprocessing/BloomPass.js +0 -132
- package/src/engine/graphics/postprocess/threejs/postprocessing/BokehPass.js +0 -115
- package/src/engine/graphics/postprocess/threejs/postprocessing/ClearMaskPass.d.ts +0 -4
- package/src/engine/graphics/postprocess/threejs/postprocessing/ClearMaskPass.d.ts.map +0 -1
- package/src/engine/graphics/postprocess/threejs/postprocessing/ClearMaskPass.js +0 -23
- package/src/engine/graphics/postprocess/threejs/postprocessing/DotScreenPass.d.ts +0 -1
- package/src/engine/graphics/postprocess/threejs/postprocessing/DotScreenPass.d.ts.map +0 -1
- package/src/engine/graphics/postprocess/threejs/postprocessing/DotScreenPass.js +0 -60
- package/src/engine/graphics/postprocess/threejs/postprocessing/EffectComposer.js +0 -150
- package/src/engine/graphics/postprocess/threejs/postprocessing/FilmPass.d.ts +0 -1
- package/src/engine/graphics/postprocess/threejs/postprocessing/FilmPass.d.ts.map +0 -1
- package/src/engine/graphics/postprocess/threejs/postprocessing/FilmPass.js +0 -61
- package/src/engine/graphics/postprocess/threejs/postprocessing/GlitchPass.d.ts +0 -1
- package/src/engine/graphics/postprocess/threejs/postprocessing/GlitchPass.d.ts.map +0 -1
- package/src/engine/graphics/postprocess/threejs/postprocessing/GlitchPass.js +0 -117
- package/src/engine/graphics/postprocess/threejs/postprocessing/RenderPass.js +0 -63
- package/src/engine/graphics/postprocess/threejs/postprocessing/SMAAPass.js +0 -187
- package/src/engine/graphics/postprocess/threejs/postprocessing/SavePass.d.ts +0 -1
- package/src/engine/graphics/postprocess/threejs/postprocessing/SavePass.d.ts.map +0 -1
- package/src/engine/graphics/postprocess/threejs/postprocessing/SavePass.js +0 -67
- package/src/engine/graphics/postprocess/threejs/postprocessing/TexturePass.js +0 -50
- package/src/engine/graphics/postprocess/threejs/shaders/BokehShader.d.ts +0 -42
- package/src/engine/graphics/postprocess/threejs/shaders/BokehShader.d.ts.map +0 -1
- package/src/engine/graphics/postprocess/threejs/shaders/BokehShader.js +0 -117
- package/src/engine/graphics/postprocess/threejs/shaders/ConvolutionShader.d.ts +0 -30
- package/src/engine/graphics/postprocess/threejs/shaders/ConvolutionShader.d.ts.map +0 -1
- package/src/engine/graphics/postprocess/threejs/shaders/ConvolutionShader.js +0 -106
- package/src/engine/graphics/postprocess/threejs/shaders/FXAAShader.d.ts +0 -19
- package/src/engine/graphics/postprocess/threejs/shaders/FXAAShader.d.ts.map +0 -1
- package/src/engine/graphics/postprocess/threejs/shaders/FXAAShader.js +0 -90
- package/src/engine/graphics/postprocess/threejs/shaders/GammaCorrectionShader.d.ts +0 -12
- package/src/engine/graphics/postprocess/threejs/shaders/GammaCorrectionShader.d.ts.map +0 -1
- package/src/engine/graphics/postprocess/threejs/shaders/GammaCorrectionShader.js +0 -52
- package/src/engine/graphics/postprocess/threejs/shaders/LuminosityShader.d.ts +0 -12
- package/src/engine/graphics/postprocess/threejs/shaders/LuminosityShader.d.ts.map +0 -1
- package/src/engine/graphics/postprocess/threejs/shaders/LuminosityShader.js +0 -51
- package/src/engine/graphics/postprocess/threejs/shaders/SMAAShader.d.ts +0 -76
- package/src/engine/graphics/postprocess/threejs/shaders/SMAAShader.d.ts.map +0 -1
- package/src/engine/graphics/postprocess/threejs/shaders/SMAAShader.js +0 -468
- package/src/engine/graphics/postprocess/threejs/shaders/SSAOShader.d.ts +0 -61
- package/src/engine/graphics/postprocess/threejs/shaders/SSAOShader.d.ts.map +0 -1
- package/src/engine/graphics/postprocess/threejs/shaders/SSAOShader.js +0 -230
- package/src/engine/graphics/postprocess/threejs/shaders/ToneMapShader.d.ts +0 -36
- package/src/engine/graphics/postprocess/threejs/shaders/ToneMapShader.d.ts.map +0 -1
- package/src/engine/graphics/postprocess/threejs/shaders/ToneMapShader.js +0 -76
- package/src/engine/graphics/shaders/GaussianBlurShader.d.ts +0 -22
- package/src/engine/graphics/shaders/GaussianBlurShader.d.ts.map +0 -1
- package/src/engine/graphics/shaders/GaussianBlurShader.js +0 -79
- package/src/engine/graphics/shaders/GaussianGlowShader.d.ts +0 -26
- package/src/engine/graphics/shaders/GaussianGlowShader.d.ts.map +0 -1
- package/src/engine/graphics/shaders/GaussianGlowShader.js +0 -83
- package/src/engine/graphics/shaders/NormalMapShader.d.ts +0 -33
- package/src/engine/graphics/shaders/NormalMapShader.d.ts.map +0 -1
- package/src/engine/graphics/shaders/NormalMapShader.js +0 -62
- package/src/engine/graphics/shaders/SoftOutlineShader.d.ts +0 -3
- package/src/engine/graphics/shaders/SoftOutlineShader.d.ts.map +0 -1
- package/src/engine/graphics/shaders/SoftOutlineShader.js +0 -111
- package/src/engine/graphics/three/Reflector.d.ts +0 -12
- package/src/engine/graphics/three/Reflector.d.ts.map +0 -1
- package/src/engine/graphics/three/Reflector.js +0 -281
- package/src/engine/graphics/three/Refractor.d.ts +0 -11
- package/src/engine/graphics/three/Refractor.d.ts.map +0 -1
- package/src/engine/graphics/three/Refractor.js +0 -352
- package/src/engine/navigation/ecs/components/PathFinder.d.ts +0 -14
- package/src/engine/navigation/ecs/components/PathFinder.d.ts.map +0 -1
- package/src/engine/navigation/ecs/components/PathFinder.js +0 -11
- package/src/view/elements/navigation/NavigationMenu.d.ts +0 -13
- package/src/view/elements/navigation/NavigationMenu.d.ts.map +0 -1
- package/src/view/elements/navigation/NavigationMenu.js +0 -27
|
@@ -1,400 +1,399 @@
|
|
|
1
|
+
import { computeHashIntegerArray } from "../../../../../../core/collection/array/computeHashIntegerArray.js";
|
|
2
|
+
import List from "../../../../../../core/collection/list/List.js";
|
|
3
|
+
import { AABB3 } from "../../../../../../core/geom/3d/aabb/AABB3.js";
|
|
4
|
+
import { computeConeBoundingBox } from "../../../../../../core/geom/3d/cone/computeConeBoundingBox.js";
|
|
5
|
+
import { ConicRay } from "../../../../../../core/geom/ConicRay.js";
|
|
1
6
|
import Vector3 from "../../../../../../core/geom/Vector3.js";
|
|
2
7
|
import { NumericInterval } from "../../../../../../core/math/interval/NumericInterval.js";
|
|
8
|
+
import { computeHashFloat } from "../../../../../../core/primitives/numbers/computeHashFloat.js";
|
|
9
|
+
import { computeStringHash } from "../../../../../../core/primitives/strings/computeStringHash.js";
|
|
3
10
|
import { ParameterTrackSet } from "../parameter/ParameterTrackSet.js";
|
|
4
|
-
import { AABB3 } from "../../../../../../core/geom/3d/aabb/AABB3.js";
|
|
5
|
-
import { ParticleParameters } from "./ParticleParameters.js";
|
|
6
|
-
import { ConicRay } from "../../../../../../core/geom/ConicRay.js";
|
|
7
11
|
import { SimulationStepDefinition } from "../simulator/SimulationStepDefinition.js";
|
|
8
|
-
import List from "../../../../../../core/collection/list/List.js";
|
|
9
12
|
import { SimulationStepType } from "../simulator/SimulationStepType.js";
|
|
10
|
-
import { computeStringHash } from "../../../../../../core/primitives/strings/computeStringHash.js";
|
|
11
|
-
import { computeConeBoundingBox } from "../../../../../../core/geom/3d/cone/computeConeBoundingBox.js";
|
|
12
13
|
import { EmissionFromType } from "./EmissionFromType.js";
|
|
13
14
|
import { EmissionShapeType } from "./EmissionShapeType.js";
|
|
14
|
-
import {
|
|
15
|
-
import { computeHashFloat } from "../../../../../../core/primitives/numbers/computeHashFloat.js";
|
|
15
|
+
import { ParticleParameters } from "./ParticleParameters.js";
|
|
16
16
|
|
|
17
17
|
const aabb3 = new AABB3(0, 0, 0, 0, 0, 0);
|
|
18
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
|
-
|
|
19
|
+
export class ParticleLayer {
|
|
20
|
+
constructor() {
|
|
21
|
+
/**
|
|
22
|
+
*
|
|
23
|
+
* @type {String|null}
|
|
24
|
+
*/
|
|
25
|
+
this.imageURL = null;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Patch of the image
|
|
29
|
+
* @private
|
|
30
|
+
* @type {AtlasPatch}
|
|
31
|
+
*/
|
|
32
|
+
this.__atlasPatch = null;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Determines a range of particle life expectancy
|
|
36
|
+
* @readonly
|
|
37
|
+
* @type {NumericInterval}
|
|
38
|
+
*/
|
|
39
|
+
this.particleLife = new NumericInterval(1, 1);
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* @readonly
|
|
43
|
+
* @type {NumericInterval}
|
|
44
|
+
*/
|
|
45
|
+
this.particleSize = new NumericInterval(0.1, 0.2);
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* @readonly
|
|
49
|
+
* @type {NumericInterval}
|
|
50
|
+
*/
|
|
51
|
+
this.particleRotation = new NumericInterval(0, 0);
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Rotation speed of individual particles in Rad/s
|
|
55
|
+
* @readonly
|
|
56
|
+
* @type {NumericInterval}
|
|
57
|
+
*/
|
|
58
|
+
this.particleRotationSpeed = new NumericInterval(0, 0);
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
*
|
|
62
|
+
* @type {EmissionShapeType|number}
|
|
63
|
+
*/
|
|
64
|
+
this.emissionShape = EmissionShapeType.Point;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* @type {EmissionFromType|number}
|
|
69
|
+
*/
|
|
70
|
+
this.emissionFrom = EmissionFromType.Volume;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
*
|
|
74
|
+
* @type {number}
|
|
75
|
+
*/
|
|
76
|
+
this.emissionRate = 1;
|
|
51
77
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
this.particleRotationSpeed = new NumericInterval(0, 0);
|
|
78
|
+
/**
|
|
79
|
+
* When layer is added - it will immediately emit this number of particles
|
|
80
|
+
* @type {number}
|
|
81
|
+
*/
|
|
82
|
+
this.emissionImmediate = 0;
|
|
58
83
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
84
|
+
/**
|
|
85
|
+
* @readonly
|
|
86
|
+
* @type {ParameterTrackSet}
|
|
87
|
+
*/
|
|
88
|
+
this.parameterTracks = new ParameterTrackSet();
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* @readonly
|
|
92
|
+
* @type {Vector3}
|
|
93
|
+
*/
|
|
94
|
+
this.position = new Vector3(0, 0, 0);
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* @readonly
|
|
98
|
+
* @type {Vector3}
|
|
99
|
+
*/
|
|
100
|
+
this.scale = new Vector3(1, 1, 1);
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* @readonly
|
|
104
|
+
* @type {ConicRay}
|
|
105
|
+
*/
|
|
106
|
+
this.particleVelocityDirection = new ConicRay();
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* @readonly
|
|
110
|
+
* @type {NumericInterval}
|
|
111
|
+
*/
|
|
112
|
+
this.particleSpeed = new NumericInterval(0, 0);
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Used to track how much time has past since a particle was last emitted
|
|
116
|
+
* @type {number}
|
|
117
|
+
*/
|
|
118
|
+
this.timeSinceLastEmission = 0;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Determines if the layer is spawning new particles or not
|
|
122
|
+
* @type {boolean}
|
|
123
|
+
*/
|
|
124
|
+
this.isEmitting = true;
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Simulation steps that are to be applied
|
|
128
|
+
* @readonly
|
|
129
|
+
* @type {List<SimulationStepDefinition>}
|
|
130
|
+
*/
|
|
131
|
+
this.steps = new List();
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* transient property
|
|
135
|
+
* @type {number}
|
|
136
|
+
*/
|
|
137
|
+
this.scaledSpriteHalfSize = -1;
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* @readonly
|
|
141
|
+
* @type {AABB3}
|
|
142
|
+
*/
|
|
143
|
+
this.baseBoundingBox = new AABB3(0, 0, 0, 0, 0, 0);
|
|
144
|
+
}
|
|
64
145
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
this.emissionFrom = EmissionFromType.Volume;
|
|
146
|
+
computeBoundsAttributes() {
|
|
147
|
+
this.scaledSpriteHalfSize = this.computeScaledSpriteHalfSize();
|
|
148
|
+
this.computePointBoundingBox(this.baseBoundingBox);
|
|
149
|
+
}
|
|
70
150
|
|
|
71
151
|
/**
|
|
72
152
|
*
|
|
73
|
-
* @
|
|
74
|
-
*/
|
|
75
|
-
this.emissionRate = 1;
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* When layer is added - it will immediately emit this number of particles
|
|
79
|
-
* @type {number}
|
|
80
|
-
*/
|
|
81
|
-
this.emissionImmediate = 0;
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* @readonly
|
|
85
|
-
* @type {ParameterTrackSet}
|
|
86
|
-
*/
|
|
87
|
-
this.parameterTracks = new ParameterTrackSet();
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* @readonly
|
|
91
|
-
* @type {Vector3}
|
|
92
|
-
*/
|
|
93
|
-
this.position = new Vector3(0, 0, 0);
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* @readonly
|
|
97
|
-
* @type {Vector3}
|
|
98
|
-
*/
|
|
99
|
-
this.scale = new Vector3(1, 1, 1);
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* @readonly
|
|
103
|
-
* @type {ConicRay}
|
|
153
|
+
* @returns {number}
|
|
104
154
|
*/
|
|
105
|
-
|
|
155
|
+
computeScaledSpriteHalfSize() {
|
|
106
156
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
* @type {NumericInterval}
|
|
110
|
-
*/
|
|
111
|
-
this.particleSpeed = new NumericInterval(0, 0);
|
|
157
|
+
//compute maximum particle size
|
|
158
|
+
let maxParticleSize = this.particleSize.max;
|
|
112
159
|
|
|
113
|
-
|
|
114
|
-
* Used to track how much time has past since a particle was last emitted
|
|
115
|
-
* @type {number}
|
|
116
|
-
*/
|
|
117
|
-
this.timeSinceLastEmission = 0;
|
|
160
|
+
const scaleTrack = this.parameterTracks.getTrackByName(ParticleParameters.Scale);
|
|
118
161
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
*/
|
|
123
|
-
this.isEmitting = true;
|
|
162
|
+
if (scaleTrack !== undefined) {
|
|
163
|
+
//scale track is present, take it into account
|
|
164
|
+
const lookupTable = scaleTrack.track;
|
|
124
165
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
* @readonly
|
|
128
|
-
* @type {List<SimulationStepDefinition>}
|
|
129
|
-
*/
|
|
130
|
-
this.steps = new List();
|
|
166
|
+
maxParticleSize = maxParticleSize * lookupTable.valueMax;
|
|
167
|
+
}
|
|
131
168
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
* @type {number}
|
|
135
|
-
*/
|
|
136
|
-
this.scaledSpriteHalfSize = -1;
|
|
169
|
+
return maxParticleSize / 2;
|
|
170
|
+
}
|
|
137
171
|
|
|
138
172
|
/**
|
|
139
|
-
*
|
|
140
|
-
* @
|
|
173
|
+
* Bounding box without taking sprite size into account
|
|
174
|
+
* @param {AABB3} result
|
|
141
175
|
*/
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
ParticleLayer.prototype.computeBoundsAttributes = function () {
|
|
146
|
-
this.scaledSpriteHalfSize = this.computeScaledSpriteHalfSize();
|
|
147
|
-
this.computePointBoundingBox(this.baseBoundingBox);
|
|
148
|
-
};
|
|
176
|
+
computePointBoundingBox(result) {
|
|
177
|
+
let x0, y0, z0, x1, y1, z1;
|
|
149
178
|
|
|
150
|
-
/**
|
|
151
|
-
*
|
|
152
|
-
* @returns {number}
|
|
153
|
-
*/
|
|
154
|
-
ParticleLayer.prototype.computeScaledSpriteHalfSize = function () {
|
|
155
179
|
|
|
156
|
-
|
|
157
|
-
|
|
180
|
+
//take velocity into account
|
|
181
|
+
const maxDisplacement = this.particleSpeed.max * this.particleLife.max;
|
|
158
182
|
|
|
159
|
-
const scaleTrack = this.parameterTracks.getTrackByName(ParticleParameters.Scale);
|
|
160
183
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
const lookupTable = scaleTrack.track;
|
|
184
|
+
const particleVelocityDirection = this.particleVelocityDirection;
|
|
185
|
+
const direction = particleVelocityDirection.direction;
|
|
164
186
|
|
|
165
|
-
|
|
166
|
-
|
|
187
|
+
//displace by current position
|
|
188
|
+
const position = this.position;
|
|
167
189
|
|
|
168
|
-
|
|
169
|
-
|
|
190
|
+
computeConeBoundingBox(
|
|
191
|
+
aabb3,
|
|
192
|
+
position.x, position.y, position.z,
|
|
193
|
+
direction.x, direction.y, direction.z,
|
|
194
|
+
particleVelocityDirection.angle, maxDisplacement
|
|
195
|
+
);
|
|
170
196
|
|
|
197
|
+
x0 = aabb3.x0;
|
|
198
|
+
y0 = aabb3.y0;
|
|
199
|
+
z0 = aabb3.z0;
|
|
200
|
+
x1 = aabb3.x1;
|
|
201
|
+
y1 = aabb3.y1;
|
|
202
|
+
z1 = aabb3.z1;
|
|
171
203
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
* @param {AABB3} result
|
|
175
|
-
*/
|
|
176
|
-
ParticleLayer.prototype.computePointBoundingBox = function (result) {
|
|
177
|
-
let x0, y0, z0, x1, y1, z1;
|
|
204
|
+
//scale the emitter layer
|
|
205
|
+
const scale = this.scale;
|
|
178
206
|
|
|
207
|
+
if (this.emissionShape !== EmissionShapeType.Point) {
|
|
208
|
+
x0 -= 0.5 * scale.x;
|
|
209
|
+
y0 -= 0.5 * scale.y;
|
|
210
|
+
z0 -= 0.5 * scale.z;
|
|
179
211
|
|
|
180
|
-
|
|
181
|
-
|
|
212
|
+
x1 += 0.5 * scale.x;
|
|
213
|
+
y1 += 0.5 * scale.y;
|
|
214
|
+
z1 += 0.5 * scale.z;
|
|
215
|
+
}
|
|
182
216
|
|
|
183
217
|
|
|
184
|
-
|
|
185
|
-
const direction = particleVelocityDirection.direction;
|
|
186
|
-
|
|
187
|
-
//displace by current position
|
|
188
|
-
const position = this.position;
|
|
189
|
-
|
|
190
|
-
computeConeBoundingBox(
|
|
191
|
-
aabb3,
|
|
192
|
-
position.x, position.y, position.z,
|
|
193
|
-
direction.x, direction.y, direction.z,
|
|
194
|
-
particleVelocityDirection.angle, maxDisplacement
|
|
195
|
-
);
|
|
196
|
-
|
|
197
|
-
x0 = aabb3.x0;
|
|
198
|
-
y0 = aabb3.y0;
|
|
199
|
-
z0 = aabb3.z0;
|
|
200
|
-
x1 = aabb3.x1;
|
|
201
|
-
y1 = aabb3.y1;
|
|
202
|
-
z1 = aabb3.z1;
|
|
203
|
-
|
|
204
|
-
//scale the emitter layer
|
|
205
|
-
const scale = this.scale;
|
|
206
|
-
|
|
207
|
-
if (this.emissionShape !== EmissionShapeType.Point) {
|
|
208
|
-
x0 -= 0.5 * scale.x;
|
|
209
|
-
y0 -= 0.5 * scale.y;
|
|
210
|
-
z0 -= 0.5 * scale.z;
|
|
211
|
-
|
|
212
|
-
x1 += 0.5 * scale.x;
|
|
213
|
-
y1 += 0.5 * scale.y;
|
|
214
|
-
z1 += 0.5 * scale.z;
|
|
218
|
+
result.setBounds(x0, y0, z0, x1, y1, z1);
|
|
215
219
|
}
|
|
216
220
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
* @param {AtlasPatch} patch
|
|
224
|
-
*/
|
|
225
|
-
ParticleLayer.prototype.setAtlasPatch = function (patch) {
|
|
226
|
-
this.__atlasPatch = patch;
|
|
227
|
-
};
|
|
228
|
-
|
|
229
|
-
ParticleLayer.prototype.hash = function () {
|
|
230
|
-
return computeHashIntegerArray(
|
|
231
|
-
computeStringHash(this.imageURL),
|
|
232
|
-
this.particleLife.hash(),
|
|
233
|
-
this.particleSize.hash(),
|
|
234
|
-
this.particleRotation.hash(),
|
|
235
|
-
this.particleRotationSpeed.hash(),
|
|
236
|
-
this.emissionShape,
|
|
237
|
-
this.emissionFrom,
|
|
238
|
-
computeHashFloat(this.emissionRate),
|
|
239
|
-
this.emissionImmediate,
|
|
240
|
-
this.parameterTracks.hash(),
|
|
241
|
-
this.position.hash(),
|
|
242
|
-
this.scale.hash(),
|
|
243
|
-
this.particleVelocityDirection.hash(),
|
|
244
|
-
this.particleSpeed.hash()
|
|
245
|
-
);
|
|
246
|
-
};
|
|
247
|
-
|
|
248
|
-
/**
|
|
249
|
-
*
|
|
250
|
-
* @param {ParticleLayer} other
|
|
251
|
-
* @returns {boolean}
|
|
252
|
-
*/
|
|
253
|
-
ParticleLayer.prototype.equals = function (other) {
|
|
254
|
-
return this.imageURL === other.imageURL
|
|
255
|
-
&& this.particleLife.equals(other.particleLife)
|
|
256
|
-
&& this.particleSize.equals(other.particleSize)
|
|
257
|
-
&& this.particleRotation.equals(other.particleRotation)
|
|
258
|
-
&& this.particleRotationSpeed.equals(other.particleRotationSpeed)
|
|
259
|
-
&& this.emissionShape === other.emissionShape
|
|
260
|
-
&& this.emissionFrom === other.emissionFrom
|
|
261
|
-
&& this.emissionRate === other.emissionRate
|
|
262
|
-
&& this.emissionImmediate === other.emissionImmediate
|
|
263
|
-
&& this.parameterTracks.equals(other.parameterTracks)
|
|
264
|
-
&& this.position.equals(other.position)
|
|
265
|
-
&& this.scale.equals(other.scale)
|
|
266
|
-
&& this.particleVelocityDirection.equals(other.particleVelocityDirection)
|
|
267
|
-
&& this.particleSpeed.equals(other.particleSpeed);
|
|
268
|
-
};
|
|
269
|
-
|
|
270
|
-
ParticleLayer.prototype.toJSON = function () {
|
|
271
|
-
return {
|
|
272
|
-
imageURL: this.imageURL,
|
|
273
|
-
particleLife: this.particleLife.toJSON(),
|
|
274
|
-
particleSize: this.particleSize.toJSON(),
|
|
275
|
-
particleRotation: this.particleRotation.toJSON(),
|
|
276
|
-
particleRotationSpeed: this.particleRotationSpeed.toJSON(),
|
|
277
|
-
emissionShape: this.emissionShape,
|
|
278
|
-
emissionFrom: this.emissionFrom,
|
|
279
|
-
emissionRate: this.emissionRate,
|
|
280
|
-
emissionImmediate: this.emissionImmediate,
|
|
281
|
-
parameterTracks: this.parameterTracks.toJSON(),
|
|
282
|
-
position: this.position.toJSON(),
|
|
283
|
-
scale: this.scale.toJSON(),
|
|
284
|
-
particleVelocityDirection: this.particleVelocityDirection.toJSON(),
|
|
285
|
-
particleSpeed: this.particleSpeed.toJSON(),
|
|
286
|
-
steps: this.steps.toJSON()
|
|
287
|
-
};
|
|
288
|
-
};
|
|
289
|
-
|
|
290
|
-
ParticleLayer.prototype.fromJSON = function (json) {
|
|
291
|
-
this.imageURL = json.imageURL;
|
|
292
|
-
this.particleLife.fromJSON(json.particleLife);
|
|
293
|
-
this.particleSize.fromJSON(json.particleSize);
|
|
294
|
-
this.particleRotation.fromJSON(json.particleRotation);
|
|
295
|
-
this.particleRotationSpeed.fromJSON(json.particleRotationSpeed);
|
|
296
|
-
this.emissionShape = json.emissionShape;
|
|
297
|
-
this.emissionFrom = json.emissionFrom;
|
|
298
|
-
|
|
299
|
-
if (typeof json.emissionRate === "number") {
|
|
300
|
-
this.emissionRate = json.emissionRate;
|
|
301
|
-
} else {
|
|
302
|
-
this.emissionRate = 1;
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
if (typeof json.emissionImmediate === "number") {
|
|
306
|
-
this.emissionImmediate = json.emissionImmediate;
|
|
307
|
-
} else {
|
|
308
|
-
this.emissionImmediate = 0;
|
|
221
|
+
/**
|
|
222
|
+
*
|
|
223
|
+
* @param {AtlasPatch} patch
|
|
224
|
+
*/
|
|
225
|
+
setAtlasPatch(patch) {
|
|
226
|
+
this.__atlasPatch = patch;
|
|
309
227
|
}
|
|
310
228
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
229
|
+
hash() {
|
|
230
|
+
return computeHashIntegerArray(
|
|
231
|
+
computeStringHash(this.imageURL),
|
|
232
|
+
this.particleLife.hash(),
|
|
233
|
+
this.particleSize.hash(),
|
|
234
|
+
this.particleRotation.hash(),
|
|
235
|
+
this.particleRotationSpeed.hash(),
|
|
236
|
+
this.emissionShape,
|
|
237
|
+
this.emissionFrom,
|
|
238
|
+
computeHashFloat(this.emissionRate),
|
|
239
|
+
this.emissionImmediate,
|
|
240
|
+
this.parameterTracks.hash(),
|
|
241
|
+
this.position.hash(),
|
|
242
|
+
this.scale.hash(),
|
|
243
|
+
this.particleVelocityDirection.hash(),
|
|
244
|
+
this.particleSpeed.hash()
|
|
245
|
+
);
|
|
315
246
|
}
|
|
316
247
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
248
|
+
/**
|
|
249
|
+
*
|
|
250
|
+
* @param {ParticleLayer} other
|
|
251
|
+
* @returns {boolean}
|
|
252
|
+
*/
|
|
253
|
+
equals(other) {
|
|
254
|
+
return this.imageURL === other.imageURL
|
|
255
|
+
&& this.particleLife.equals(other.particleLife)
|
|
256
|
+
&& this.particleSize.equals(other.particleSize)
|
|
257
|
+
&& this.particleRotation.equals(other.particleRotation)
|
|
258
|
+
&& this.particleRotationSpeed.equals(other.particleRotationSpeed)
|
|
259
|
+
&& this.emissionShape === other.emissionShape
|
|
260
|
+
&& this.emissionFrom === other.emissionFrom
|
|
261
|
+
&& this.emissionRate === other.emissionRate
|
|
262
|
+
&& this.emissionImmediate === other.emissionImmediate
|
|
263
|
+
&& this.parameterTracks.equals(other.parameterTracks)
|
|
264
|
+
&& this.position.equals(other.position)
|
|
265
|
+
&& this.scale.equals(other.scale)
|
|
266
|
+
&& this.particleVelocityDirection.equals(other.particleVelocityDirection)
|
|
267
|
+
&& this.particleSpeed.equals(other.particleSpeed);
|
|
321
268
|
}
|
|
322
269
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
270
|
+
toJSON() {
|
|
271
|
+
return {
|
|
272
|
+
imageURL: this.imageURL,
|
|
273
|
+
particleLife: this.particleLife.toJSON(),
|
|
274
|
+
particleSize: this.particleSize.toJSON(),
|
|
275
|
+
particleRotation: this.particleRotation.toJSON(),
|
|
276
|
+
particleRotationSpeed: this.particleRotationSpeed.toJSON(),
|
|
277
|
+
emissionShape: this.emissionShape,
|
|
278
|
+
emissionFrom: this.emissionFrom,
|
|
279
|
+
emissionRate: this.emissionRate,
|
|
280
|
+
emissionImmediate: this.emissionImmediate,
|
|
281
|
+
parameterTracks: this.parameterTracks.toJSON(),
|
|
282
|
+
position: this.position.toJSON(),
|
|
283
|
+
scale: this.scale.toJSON(),
|
|
284
|
+
particleVelocityDirection: this.particleVelocityDirection.toJSON(),
|
|
285
|
+
particleSpeed: this.particleSpeed.toJSON(),
|
|
286
|
+
steps: this.steps.toJSON()
|
|
287
|
+
};
|
|
327
288
|
}
|
|
328
289
|
|
|
329
|
-
|
|
330
|
-
this.
|
|
331
|
-
|
|
332
|
-
this.
|
|
333
|
-
this.
|
|
290
|
+
fromJSON(json) {
|
|
291
|
+
this.imageURL = json.imageURL;
|
|
292
|
+
this.particleLife.fromJSON(json.particleLife);
|
|
293
|
+
this.particleSize.fromJSON(json.particleSize);
|
|
294
|
+
this.particleRotation.fromJSON(json.particleRotation);
|
|
295
|
+
this.particleRotationSpeed.fromJSON(json.particleRotationSpeed);
|
|
296
|
+
this.emissionShape = json.emissionShape;
|
|
297
|
+
this.emissionFrom = json.emissionFrom;
|
|
298
|
+
|
|
299
|
+
if (typeof json.emissionRate === "number") {
|
|
300
|
+
this.emissionRate = json.emissionRate;
|
|
301
|
+
} else {
|
|
302
|
+
this.emissionRate = 1;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
if (typeof json.emissionImmediate === "number") {
|
|
306
|
+
this.emissionImmediate = json.emissionImmediate;
|
|
307
|
+
} else {
|
|
308
|
+
this.emissionImmediate = 0;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
if (json.parameterTracks !== undefined) {
|
|
312
|
+
this.parameterTracks.fromJSON(json.parameterTracks);
|
|
313
|
+
} else {
|
|
314
|
+
this.parameterTracks.clear();
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
if (json.position !== undefined) {
|
|
318
|
+
this.position.fromJSON(json.position);
|
|
319
|
+
} else {
|
|
320
|
+
this.position.set(0, 0, 0);
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
if (json.scale !== undefined) {
|
|
324
|
+
this.scale.fromJSON(json.scale);
|
|
325
|
+
} else {
|
|
326
|
+
this.scale.set(1, 1, 1);
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
if (json.particleVelocityDirection !== undefined) {
|
|
330
|
+
this.particleVelocityDirection.fromJSON(json.particleVelocityDirection);
|
|
331
|
+
} else {
|
|
332
|
+
this.particleVelocityDirection.angle = Math.PI;
|
|
333
|
+
this.particleVelocityDirection.direction.set(0, 1, 0);
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
if (json.particleSpeed !== undefined) {
|
|
337
|
+
this.particleSpeed.fromJSON(json.particleSpeed);
|
|
338
|
+
} else {
|
|
339
|
+
this.particleSpeed.set(0, 0);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
if (json.steps !== undefined) {
|
|
343
|
+
this.steps.fromJSON(json.steps, SimulationStepDefinition);
|
|
344
|
+
} else {
|
|
345
|
+
// steps are not defined, use "fixed physics" for backwards compatibility
|
|
346
|
+
|
|
347
|
+
this.steps.reset();
|
|
348
|
+
this.steps.add(SimulationStepDefinition.from(SimulationStepType.FixedPhysics, []));
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
//reset bounds attributes
|
|
352
|
+
this.scaledSpriteHalfSize = -1;
|
|
334
353
|
}
|
|
335
354
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
355
|
+
/**
|
|
356
|
+
* @deprecated
|
|
357
|
+
* @param {BinaryBuffer} buffer
|
|
358
|
+
*/
|
|
359
|
+
toBinaryBuffer(buffer) {
|
|
360
|
+
buffer.writeUTF8String(this.imageURL);
|
|
361
|
+
this.particleLife.toBinaryBuffer(buffer);
|
|
362
|
+
this.particleSize.toBinaryBuffer(buffer);
|
|
363
|
+
this.particleRotation.toBinaryBuffer(buffer);
|
|
364
|
+
this.particleRotationSpeed.toBinaryBuffer(buffer);
|
|
365
|
+
buffer.writeUint8(this.emissionShape);
|
|
366
|
+
buffer.writeUint8(this.emissionFrom);
|
|
367
|
+
buffer.writeFloat64(this.emissionRate);
|
|
368
|
+
buffer.writeUint32(this.emissionImmediate);
|
|
369
|
+
this.parameterTracks.toBinaryBuffer(buffer);
|
|
370
|
+
this.position.toBinaryBufferFloat32(buffer);
|
|
371
|
+
this.scale.toBinaryBufferFloat32(buffer);
|
|
372
|
+
this.particleVelocityDirection.toBinaryBuffer(buffer);
|
|
373
|
+
this.particleSpeed.toBinaryBuffer(buffer);
|
|
340
374
|
}
|
|
341
375
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
this.
|
|
348
|
-
this.
|
|
376
|
+
/**
|
|
377
|
+
* @deprecated
|
|
378
|
+
* @param {BinaryBuffer} buffer
|
|
379
|
+
*/
|
|
380
|
+
fromBinaryBuffer(buffer) {
|
|
381
|
+
this.imageURL = buffer.readUTF8String();
|
|
382
|
+
this.particleLife.fromBinaryBuffer(buffer);
|
|
383
|
+
this.particleSize.fromBinaryBuffer(buffer);
|
|
384
|
+
this.particleRotation.fromBinaryBuffer(buffer);
|
|
385
|
+
this.particleRotationSpeed.fromBinaryBuffer(buffer);
|
|
386
|
+
this.emissionShape = buffer.readUint8();
|
|
387
|
+
this.emissionFrom = buffer.readUint8();
|
|
388
|
+
this.emissionRate = buffer.readFloat64();
|
|
389
|
+
this.emissionImmediate = buffer.readUint32();
|
|
390
|
+
this.parameterTracks.fromBinaryBuffer(buffer);
|
|
391
|
+
this.position.fromBinaryBufferFloat32(buffer);
|
|
392
|
+
this.scale.fromBinaryBufferFloat32(buffer);
|
|
393
|
+
this.particleVelocityDirection.fromBinaryBuffer(buffer);
|
|
394
|
+
this.particleSpeed.fromBinaryBuffer(buffer);
|
|
395
|
+
|
|
396
|
+
//reset bounds attributes
|
|
397
|
+
this.scaledSpriteHalfSize = -1;
|
|
349
398
|
}
|
|
350
|
-
|
|
351
|
-
//reset bounds attributes
|
|
352
|
-
this.scaledSpriteHalfSize = -1;
|
|
353
|
-
};
|
|
354
|
-
|
|
355
|
-
/**
|
|
356
|
-
* @deprecated
|
|
357
|
-
* @param {BinaryBuffer} buffer
|
|
358
|
-
*/
|
|
359
|
-
ParticleLayer.prototype.toBinaryBuffer = function (buffer) {
|
|
360
|
-
buffer.writeUTF8String(this.imageURL);
|
|
361
|
-
this.particleLife.toBinaryBuffer(buffer);
|
|
362
|
-
this.particleSize.toBinaryBuffer(buffer);
|
|
363
|
-
this.particleRotation.toBinaryBuffer(buffer);
|
|
364
|
-
this.particleRotationSpeed.toBinaryBuffer(buffer);
|
|
365
|
-
buffer.writeUint8(this.emissionShape);
|
|
366
|
-
buffer.writeUint8(this.emissionFrom);
|
|
367
|
-
buffer.writeFloat64(this.emissionRate);
|
|
368
|
-
buffer.writeUint32(this.emissionImmediate);
|
|
369
|
-
this.parameterTracks.toBinaryBuffer(buffer);
|
|
370
|
-
this.position.toBinaryBufferFloat32(buffer);
|
|
371
|
-
this.scale.toBinaryBufferFloat32(buffer);
|
|
372
|
-
this.particleVelocityDirection.toBinaryBuffer(buffer);
|
|
373
|
-
this.particleSpeed.toBinaryBuffer(buffer);
|
|
374
|
-
};
|
|
375
|
-
|
|
376
|
-
/**
|
|
377
|
-
* @deprecated
|
|
378
|
-
* @param {BinaryBuffer} buffer
|
|
379
|
-
*/
|
|
380
|
-
ParticleLayer.prototype.fromBinaryBuffer = function (buffer) {
|
|
381
|
-
this.imageURL = buffer.readUTF8String();
|
|
382
|
-
this.particleLife.fromBinaryBuffer(buffer);
|
|
383
|
-
this.particleSize.fromBinaryBuffer(buffer);
|
|
384
|
-
this.particleRotation.fromBinaryBuffer(buffer);
|
|
385
|
-
this.particleRotationSpeed.fromBinaryBuffer(buffer);
|
|
386
|
-
this.emissionShape = buffer.readUint8();
|
|
387
|
-
this.emissionFrom = buffer.readUint8();
|
|
388
|
-
this.emissionRate = buffer.readFloat64();
|
|
389
|
-
this.emissionImmediate = buffer.readUint32();
|
|
390
|
-
this.parameterTracks.fromBinaryBuffer(buffer);
|
|
391
|
-
this.position.fromBinaryBufferFloat32(buffer);
|
|
392
|
-
this.scale.fromBinaryBufferFloat32(buffer);
|
|
393
|
-
this.particleVelocityDirection.fromBinaryBuffer(buffer);
|
|
394
|
-
this.particleSpeed.fromBinaryBuffer(buffer);
|
|
395
|
-
|
|
396
|
-
//reset bounds attributes
|
|
397
|
-
this.scaledSpriteHalfSize = -1;
|
|
398
|
-
};
|
|
399
|
-
|
|
400
|
-
export { ParticleLayer };
|
|
399
|
+
}
|