@luminocity/lemonate-engine 15.2.2 → 15.2.3
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/dist/engine.min.js +302 -0
- package/dist/player.zip +302 -0
- package/package.json +6 -2
- package/dist/Builder.js +0 -93
- package/dist/Builder.js.map +0 -1
- package/dist/Canvas.js +0 -109
- package/dist/Canvas.js.map +0 -1
- package/dist/Controllers.js +0 -97
- package/dist/Controllers.js.map +0 -1
- package/dist/EditorScene.js +0 -372
- package/dist/EditorScene.js.map +0 -1
- package/dist/Engine.js +0 -1576
- package/dist/Engine.js.map +0 -1
- package/dist/LoadingManager.js +0 -1195
- package/dist/LoadingManager.js.map +0 -1
- package/dist/LoadingState.js +0 -37
- package/dist/LoadingState.js.map +0 -1
- package/dist/Logger.js +0 -141
- package/dist/Logger.js.map +0 -1
- package/dist/Player.js +0 -470
- package/dist/Player.js.map +0 -1
- package/dist/Preview.js +0 -166
- package/dist/Preview.js.map +0 -1
- package/dist/RenderOptions.js +0 -59
- package/dist/RenderOptions.js.map +0 -1
- package/dist/RenderPassInfo.js +0 -133
- package/dist/RenderPassInfo.js.map +0 -1
- package/dist/RenderView.js +0 -459
- package/dist/RenderView.js.map +0 -1
- package/dist/Renderer.js +0 -1867
- package/dist/Renderer.js.map +0 -1
- package/dist/SceneGraph.js +0 -798
- package/dist/SceneGraph.js.map +0 -1
- package/dist/SceneGraphCollection.js +0 -614
- package/dist/SceneGraphCollection.js.map +0 -1
- package/dist/Shortcuts.js +0 -259
- package/dist/Shortcuts.js.map +0 -1
- package/dist/Tools.js +0 -500
- package/dist/Tools.js.map +0 -1
- package/dist/Variables.js +0 -243
- package/dist/Variables.js.map +0 -1
- package/dist/helpers/ArrowHelper.js +0 -104
- package/dist/helpers/ArrowHelper.js.map +0 -1
- package/dist/helpers/BoxHelper.js +0 -112
- package/dist/helpers/BoxHelper.js.map +0 -1
- package/dist/helpers/CameraHelper.js +0 -237
- package/dist/helpers/CameraHelper.js.map +0 -1
- package/dist/helpers/FaceNormalsHelper.js +0 -85
- package/dist/helpers/FaceNormalsHelper.js.map +0 -1
- package/dist/helpers/MeshHelper.js +0 -92
- package/dist/helpers/MeshHelper.js.map +0 -1
- package/dist/helpers/MultiGridHelper.js +0 -61
- package/dist/helpers/MultiGridHelper.js.map +0 -1
- package/dist/helpers/ParticlesHelper.js +0 -245
- package/dist/helpers/ParticlesHelper.js.map +0 -1
- package/dist/helpers/PointHelper.js +0 -85
- package/dist/helpers/PointHelper.js.map +0 -1
- package/dist/helpers/SphereHelper.js +0 -62
- package/dist/helpers/SphereHelper.js.map +0 -1
- package/dist/helpers/VertexNormalsHelper.js +0 -75
- package/dist/helpers/VertexNormalsHelper.js.map +0 -1
- package/dist/helpers/ViewHelper.js +0 -252
- package/dist/helpers/ViewHelper.js.map +0 -1
- package/dist/helpers/lighthelpers/DirectionalLightHelper.js +0 -136
- package/dist/helpers/lighthelpers/DirectionalLightHelper.js.map +0 -1
- package/dist/helpers/lighthelpers/HemisphereLightHelper.js +0 -124
- package/dist/helpers/lighthelpers/HemisphereLightHelper.js.map +0 -1
- package/dist/helpers/lighthelpers/PointLightHelper.js +0 -133
- package/dist/helpers/lighthelpers/PointLightHelper.js.map +0 -1
- package/dist/helpers/lighthelpers/SpotLightHelper.js +0 -123
- package/dist/helpers/lighthelpers/SpotLightHelper.js.map +0 -1
- package/dist/index.js +0 -40
- package/dist/index.js.map +0 -1
- package/dist/items/AudioCollectionItem.js +0 -230
- package/dist/items/AudioCollectionItem.js.map +0 -1
- package/dist/items/AudioItem.js +0 -75
- package/dist/items/AudioItem.js.map +0 -1
- package/dist/items/BackgroundShaderItem.js +0 -239
- package/dist/items/BackgroundShaderItem.js.map +0 -1
- package/dist/items/CanvasTextureItem.js +0 -194
- package/dist/items/CanvasTextureItem.js.map +0 -1
- package/dist/items/CompositionItem.js +0 -110
- package/dist/items/CompositionItem.js.map +0 -1
- package/dist/items/FontItem.js +0 -135
- package/dist/items/FontItem.js.map +0 -1
- package/dist/items/GaussianSplatsItem.js +0 -103
- package/dist/items/GaussianSplatsItem.js.map +0 -1
- package/dist/items/GridMapItem.js +0 -202
- package/dist/items/GridMapItem.js.map +0 -1
- package/dist/items/ImageItem.js +0 -255
- package/dist/items/ImageItem.js.map +0 -1
- package/dist/items/Item.js +0 -739
- package/dist/items/Item.js.map +0 -1
- package/dist/items/MaterialCollectionItem.js +0 -216
- package/dist/items/MaterialCollectionItem.js.map +0 -1
- package/dist/items/MaterialItem.js +0 -1762
- package/dist/items/MaterialItem.js.map +0 -1
- package/dist/items/MeshCollectionItem.js +0 -258
- package/dist/items/MeshCollectionItem.js.map +0 -1
- package/dist/items/MeshItem.js +0 -274
- package/dist/items/MeshItem.js.map +0 -1
- package/dist/items/ParticlesItem.js +0 -187
- package/dist/items/ParticlesItem.js.map +0 -1
- package/dist/items/PixelShaderItem.js +0 -42
- package/dist/items/PixelShaderItem.js.map +0 -1
- package/dist/items/PointsItem.js +0 -122
- package/dist/items/PointsItem.js.map +0 -1
- package/dist/items/PrefabItem.js +0 -140
- package/dist/items/PrefabItem.js.map +0 -1
- package/dist/items/ProjectItem.js +0 -857
- package/dist/items/ProjectItem.js.map +0 -1
- package/dist/items/SceneItem.js +0 -443
- package/dist/items/SceneItem.js.map +0 -1
- package/dist/items/ScriptItem.js +0 -159
- package/dist/items/ScriptItem.js.map +0 -1
- package/dist/items/VariableSetItem.js +0 -208
- package/dist/items/VariableSetItem.js.map +0 -1
- package/dist/items/VertexShaderItem.js +0 -42
- package/dist/items/VertexShaderItem.js.map +0 -1
- package/dist/items/VideoItem.js +0 -152
- package/dist/items/VideoItem.js.map +0 -1
- package/dist/items/base/ImageOwningItem.js +0 -205
- package/dist/items/base/ImageOwningItem.js.map +0 -1
- package/dist/items/base/MeshBase.js +0 -342
- package/dist/items/base/MeshBase.js.map +0 -1
- package/dist/items/base/ShaderBase.js +0 -115
- package/dist/items/base/ShaderBase.js.map +0 -1
- package/dist/items/helpers/ListEntry.js +0 -113
- package/dist/items/helpers/ListEntry.js.map +0 -1
- package/dist/items/helpers/ListField.js +0 -210
- package/dist/items/helpers/ListField.js.map +0 -1
- package/dist/items/helpers/MappingSetup.js +0 -126
- package/dist/items/helpers/MappingSetup.js.map +0 -1
- package/dist/json/packageVersionInfo.json +0 -6
- package/dist/json/shortcuts.json +0 -37
- package/dist/renderers/ForwardRenderer.js +0 -50
- package/dist/renderers/ForwardRenderer.js.map +0 -1
- package/dist/renderers/RendererBase.js +0 -38
- package/dist/renderers/RendererBase.js.map +0 -1
- package/dist/scenegraph/SgAudio.js +0 -286
- package/dist/scenegraph/SgAudio.js.map +0 -1
- package/dist/scenegraph/SgAudioListener.js +0 -64
- package/dist/scenegraph/SgAudioListener.js.map +0 -1
- package/dist/scenegraph/SgBillboard.js +0 -150
- package/dist/scenegraph/SgBillboard.js.map +0 -1
- package/dist/scenegraph/SgBox.js +0 -54
- package/dist/scenegraph/SgBox.js.map +0 -1
- package/dist/scenegraph/SgCamera.js +0 -219
- package/dist/scenegraph/SgCamera.js.map +0 -1
- package/dist/scenegraph/SgCircleShadow.js +0 -105
- package/dist/scenegraph/SgCircleShadow.js.map +0 -1
- package/dist/scenegraph/SgCone.js +0 -61
- package/dist/scenegraph/SgCone.js.map +0 -1
- package/dist/scenegraph/SgCylinder.js +0 -62
- package/dist/scenegraph/SgCylinder.js.map +0 -1
- package/dist/scenegraph/SgGaussianSplats.js +0 -103
- package/dist/scenegraph/SgGaussianSplats.js.map +0 -1
- package/dist/scenegraph/SgGridMap.js +0 -112
- package/dist/scenegraph/SgGridMap.js.map +0 -1
- package/dist/scenegraph/SgGroup.js +0 -40
- package/dist/scenegraph/SgGroup.js.map +0 -1
- package/dist/scenegraph/SgItem.js +0 -1427
- package/dist/scenegraph/SgItem.js.map +0 -1
- package/dist/scenegraph/SgItemScript.js +0 -117
- package/dist/scenegraph/SgItemScript.js.map +0 -1
- package/dist/scenegraph/SgLightsource.js +0 -319
- package/dist/scenegraph/SgLightsource.js.map +0 -1
- package/dist/scenegraph/SgLod.js +0 -82
- package/dist/scenegraph/SgLod.js.map +0 -1
- package/dist/scenegraph/SgMesh.js +0 -662
- package/dist/scenegraph/SgMesh.js.map +0 -1
- package/dist/scenegraph/SgNavMesh.js +0 -503
- package/dist/scenegraph/SgNavMesh.js.map +0 -1
- package/dist/scenegraph/SgParticles.js +0 -796
- package/dist/scenegraph/SgParticles.js.map +0 -1
- package/dist/scenegraph/SgPhysicsItem.js +0 -806
- package/dist/scenegraph/SgPhysicsItem.js.map +0 -1
- package/dist/scenegraph/SgPhysicsSubItem.js +0 -449
- package/dist/scenegraph/SgPhysicsSubItem.js.map +0 -1
- package/dist/scenegraph/SgPlane.js +0 -47
- package/dist/scenegraph/SgPlane.js.map +0 -1
- package/dist/scenegraph/SgPoints.js +0 -143
- package/dist/scenegraph/SgPoints.js.map +0 -1
- package/dist/scenegraph/SgPositionalAudio.js +0 -93
- package/dist/scenegraph/SgPositionalAudio.js.map +0 -1
- package/dist/scenegraph/SgPrefab.js +0 -153
- package/dist/scenegraph/SgPrefab.js.map +0 -1
- package/dist/scenegraph/SgProceduralGeometryItem.js +0 -146
- package/dist/scenegraph/SgProceduralGeometryItem.js.map +0 -1
- package/dist/scenegraph/SgResourceOwner.js +0 -127
- package/dist/scenegraph/SgResourceOwner.js.map +0 -1
- package/dist/scenegraph/SgRibbon.js +0 -107
- package/dist/scenegraph/SgRibbon.js.map +0 -1
- package/dist/scenegraph/SgRing.js +0 -49
- package/dist/scenegraph/SgRing.js.map +0 -1
- package/dist/scenegraph/SgRoot.js +0 -87
- package/dist/scenegraph/SgRoot.js.map +0 -1
- package/dist/scenegraph/SgScriptedMesh.js +0 -213
- package/dist/scenegraph/SgScriptedMesh.js.map +0 -1
- package/dist/scenegraph/SgSky.js +0 -126
- package/dist/scenegraph/SgSky.js.map +0 -1
- package/dist/scenegraph/SgSphere.js +0 -59
- package/dist/scenegraph/SgSphere.js.map +0 -1
- package/dist/scenegraph/SgText.js +0 -182
- package/dist/scenegraph/SgText.js.map +0 -1
- package/dist/scenegraph/SgTorus.js +0 -48
- package/dist/scenegraph/SgTorus.js.map +0 -1
- package/dist/scenegraph/SgVehicle.js +0 -370
- package/dist/scenegraph/SgVehicle.js.map +0 -1
- package/dist/subsystems/AudioSystem.js +0 -128
- package/dist/subsystems/AudioSystem.js.map +0 -1
- package/dist/subsystems/Billboard.js +0 -190
- package/dist/subsystems/Billboard.js.map +0 -1
- package/dist/subsystems/FontLoader.js +0 -161
- package/dist/subsystems/FontLoader.js.map +0 -1
- package/dist/subsystems/Physics.js +0 -1079
- package/dist/subsystems/Physics.js.map +0 -1
- package/dist/subsystems/Ribbons.js +0 -179
- package/dist/subsystems/Ribbons.js.map +0 -1
- package/dist/subsystems/gridmap/GridMapBuilder.js +0 -430
- package/dist/subsystems/gridmap/GridMapBuilder.js.map +0 -1
- package/dist/subsystems/imgui/ImGui.js +0 -742
- package/dist/subsystems/imgui/ImGui.js.map +0 -1
- package/dist/subsystems/importer/Converter.js +0 -199
- package/dist/subsystems/importer/Converter.js.map +0 -1
- package/dist/subsystems/importer/ImageConverter.js +0 -77
- package/dist/subsystems/importer/ImageConverter.js.map +0 -1
- package/dist/subsystems/importer/Importer.js +0 -381
- package/dist/subsystems/importer/Importer.js.map +0 -1
- package/dist/subsystems/importer/MeshConverter.js +0 -595
- package/dist/subsystems/importer/MeshConverter.js.map +0 -1
- package/dist/subsystems/particlesystem/CurlNoiseTexturePreview.js +0 -127
- package/dist/subsystems/particlesystem/CurlNoiseTexturePreview.js.map +0 -1
- package/dist/subsystems/particlesystem/Emitters/CircleEmitter.js +0 -135
- package/dist/subsystems/particlesystem/Emitters/CircleEmitter.js.map +0 -1
- package/dist/subsystems/particlesystem/Emitters/ConeEmitter.js +0 -192
- package/dist/subsystems/particlesystem/Emitters/ConeEmitter.js.map +0 -1
- package/dist/subsystems/particlesystem/Emitters/CubeEmitter.js +0 -157
- package/dist/subsystems/particlesystem/Emitters/CubeEmitter.js.map +0 -1
- package/dist/subsystems/particlesystem/Emitters/EdgeEmitter.js +0 -133
- package/dist/subsystems/particlesystem/Emitters/EdgeEmitter.js.map +0 -1
- package/dist/subsystems/particlesystem/Emitters/Emitter.js +0 -107
- package/dist/subsystems/particlesystem/Emitters/Emitter.js.map +0 -1
- package/dist/subsystems/particlesystem/Emitters/HemiSphereEmitter.js +0 -142
- package/dist/subsystems/particlesystem/Emitters/HemiSphereEmitter.js.map +0 -1
- package/dist/subsystems/particlesystem/Emitters/MeshEmitter.js +0 -56
- package/dist/subsystems/particlesystem/Emitters/MeshEmitter.js.map +0 -1
- package/dist/subsystems/particlesystem/Emitters/SphereEmitter.js +0 -142
- package/dist/subsystems/particlesystem/Emitters/SphereEmitter.js.map +0 -1
- package/dist/subsystems/particlesystem/Emitters/TorusEmitter.js +0 -159
- package/dist/subsystems/particlesystem/Emitters/TorusEmitter.js.map +0 -1
- package/dist/subsystems/particlesystem/ParticleSystem.js +0 -706
- package/dist/subsystems/particlesystem/ParticleSystem.js.map +0 -1
- package/dist/subsystems/particlesystem/Simulation.js +0 -475
- package/dist/subsystems/particlesystem/Simulation.js.map +0 -1
- package/dist/subsystems/particlesystem/Visualization.js +0 -518
- package/dist/subsystems/particlesystem/Visualization.js.map +0 -1
- package/dist/subsystems/particlesystem/shaders/noise/CurlNoiseTexturePreviewShader.js +0 -56
- package/dist/subsystems/particlesystem/shaders/noise/CurlNoiseTexturePreviewShader.js.map +0 -1
- package/dist/subsystems/particlesystem/utils.js +0 -115
- package/dist/subsystems/particlesystem/utils.js.map +0 -1
- package/dist/subsystems/scripting/ScriptEngine.js +0 -1074
- package/dist/subsystems/scripting/ScriptEngine.js.map +0 -1
- package/dist/subsystems/scripting/ScriptRunner.js +0 -153
- package/dist/subsystems/scripting/ScriptRunner.js.map +0 -1
- package/dist/subsystems/scripting/ScriptRuntime.js +0 -244
- package/dist/subsystems/scripting/ScriptRuntime.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtAudio.js +0 -37
- package/dist/subsystems/scripting/runtime/RtAudio.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtBase.js +0 -117
- package/dist/subsystems/scripting/runtime/RtBase.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtCanvas.js +0 -326
- package/dist/subsystems/scripting/runtime/RtCanvas.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtComposer.js +0 -58
- package/dist/subsystems/scripting/runtime/RtComposer.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtConsole.js +0 -51
- package/dist/subsystems/scripting/runtime/RtConsole.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtControllers.js +0 -52
- package/dist/subsystems/scripting/runtime/RtControllers.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtEvents.js +0 -46
- package/dist/subsystems/scripting/runtime/RtEvents.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtImGui.js +0 -410
- package/dist/subsystems/scripting/runtime/RtImGui.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtItem.js +0 -297
- package/dist/subsystems/scripting/runtime/RtItem.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtLoader.js +0 -77
- package/dist/subsystems/scripting/runtime/RtLoader.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtObject.js +0 -34
- package/dist/subsystems/scripting/runtime/RtObject.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtPhysics.js +0 -69
- package/dist/subsystems/scripting/runtime/RtPhysics.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtPointer.js +0 -45
- package/dist/subsystems/scripting/runtime/RtPointer.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtProject.js +0 -66
- package/dist/subsystems/scripting/runtime/RtProject.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtRenderer.js +0 -138
- package/dist/subsystems/scripting/runtime/RtRenderer.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtSceneEntry.js +0 -67
- package/dist/subsystems/scripting/runtime/RtSceneEntry.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtSceneObject.js +0 -666
- package/dist/subsystems/scripting/runtime/RtSceneObject.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtStorage.js +0 -64
- package/dist/subsystems/scripting/runtime/RtStorage.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtSystem.js +0 -85
- package/dist/subsystems/scripting/runtime/RtSystem.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtTools.js +0 -37
- package/dist/subsystems/scripting/runtime/RtTools.js.map +0 -1
- package/dist/subsystems/scripting/runtime/RtVariables.js +0 -57
- package/dist/subsystems/scripting/runtime/RtVariables.js.map +0 -1
- package/dist/subsystems/scripting/runtime/items/RtCanvasTexture.js +0 -101
- package/dist/subsystems/scripting/runtime/items/RtCanvasTexture.js.map +0 -1
- package/dist/subsystems/scripting/runtime/items/RtMaterial.js +0 -34
- package/dist/subsystems/scripting/runtime/items/RtMaterial.js.map +0 -1
- package/dist/subsystems/scripting/runtime/items/RtMesh.js +0 -34
- package/dist/subsystems/scripting/runtime/items/RtMesh.js.map +0 -1
- package/dist/subsystems/scripting/runtime/items/RtTexture.js +0 -34
- package/dist/subsystems/scripting/runtime/items/RtTexture.js.map +0 -1
- package/dist/subsystems/scripting/runtime/items/RtVideo.js +0 -56
- package/dist/subsystems/scripting/runtime/items/RtVideo.js.map +0 -1
- package/dist/subsystems/scripting/runtime/sceneobjects/RtSgAudio.js +0 -59
- package/dist/subsystems/scripting/runtime/sceneobjects/RtSgAudio.js.map +0 -1
- package/dist/subsystems/scripting/runtime/sceneobjects/RtSgCamera.js +0 -134
- package/dist/subsystems/scripting/runtime/sceneobjects/RtSgCamera.js.map +0 -1
- package/dist/subsystems/scripting/runtime/sceneobjects/RtSgMesh.js +0 -99
- package/dist/subsystems/scripting/runtime/sceneobjects/RtSgMesh.js.map +0 -1
- package/dist/subsystems/scripting/runtime/sceneobjects/RtSgNavMesh.js +0 -114
- package/dist/subsystems/scripting/runtime/sceneobjects/RtSgNavMesh.js.map +0 -1
- package/dist/subsystems/scripting/runtime/sceneobjects/RtSgParticles.js +0 -576
- package/dist/subsystems/scripting/runtime/sceneobjects/RtSgParticles.js.map +0 -1
- package/dist/subsystems/scripting/runtime/sceneobjects/RtSgPositionalAudio.js +0 -56
- package/dist/subsystems/scripting/runtime/sceneobjects/RtSgPositionalAudio.js.map +0 -1
- package/dist/subsystems/scripting/runtime/sceneobjects/RtSgRibbon.js +0 -42
- package/dist/subsystems/scripting/runtime/sceneobjects/RtSgRibbon.js.map +0 -1
- package/dist/subsystems/scripting/runtime/sceneobjects/RtSgScriptedMesh.js +0 -65
- package/dist/subsystems/scripting/runtime/sceneobjects/RtSgScriptedMesh.js.map +0 -1
- package/dist/subsystems/scripting/runtime/sceneobjects/RtSgVehicle.js +0 -60
- package/dist/subsystems/scripting/runtime/sceneobjects/RtSgVehicle.js.map +0 -1
- package/dist/tools/AsyncInterval.js +0 -55
- package/dist/tools/AsyncInterval.js.map +0 -1
- package/dist/tools/Converters.js +0 -41
- package/dist/tools/Converters.js.map +0 -1
- package/dist/tools/DebugTools.js +0 -91
- package/dist/tools/DebugTools.js.map +0 -1
- package/dist/tools/FontTools.js +0 -43
- package/dist/tools/FontTools.js.map +0 -1
- package/dist/tools/FsShader.js +0 -112
- package/dist/tools/FsShader.js.map +0 -1
- package/dist/tools/GeometryTools.js +0 -373
- package/dist/tools/GeometryTools.js.map +0 -1
- package/dist/tools/ItemTools.js +0 -139
- package/dist/tools/ItemTools.js.map +0 -1
- package/dist/tools/MathHelpers.js +0 -125
- package/dist/tools/MathHelpers.js.map +0 -1
- package/dist/tools/Profiler.js +0 -174
- package/dist/tools/Profiler.js.map +0 -1
- package/dist/tools/Random.js +0 -48
- package/dist/tools/Random.js.map +0 -1
- package/dist/tools/RtDebugger.js +0 -84
- package/dist/tools/RtDebugger.js.map +0 -1
- package/dist/tools/StringExtensions.js +0 -72
- package/dist/tools/StringExtensions.js.map +0 -1
- package/dist/tools/TextureTools.js +0 -444
- package/dist/tools/TextureTools.js.map +0 -1
- package/dist/tools/Timer.js +0 -52
- package/dist/tools/Timer.js.map +0 -1
- package/dist/tools/audioVisualizers/WavyAudioVisualizer.js +0 -59
- package/dist/tools/audioVisualizers/WavyAudioVisualizer.js.map +0 -1
- /package/dist/renderers/{forwardrenderer.d.ts → ForwardRenderer.d.ts} +0 -0
- /package/dist/subsystems/imgui/{imgui.d.ts → ImGui.d.ts} +0 -0
- /package/dist/subsystems/importer/{imageconverter.d.ts → ImageConverter.d.ts} +0 -0
- /package/dist/subsystems/scripting/{scriptrunner.d.ts → ScriptRunner.d.ts} +0 -0
- /package/dist/subsystems/scripting/{scriptruntime.d.ts → ScriptRuntime.d.ts} +0 -0
- /package/dist/subsystems/scripting/runtime/{rtAudio.d.ts → RtAudio.d.ts} +0 -0
- /package/dist/subsystems/scripting/runtime/{rtComposer.d.ts → RtComposer.d.ts} +0 -0
- /package/dist/subsystems/scripting/runtime/{rtObject.d.ts → RtObject.d.ts} +0 -0
package/dist/SceneGraph.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SceneGraph.js","sourceRoot":"","sources":["../src/SceneGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,614 +0,0 @@
|
|
|
1
|
-
// -----------------------------------------------------------------------------------------------------------
|
|
2
|
-
// __ ______ __ __ ______ __ __ ______ ______ ______
|
|
3
|
-
// /\ \ /\ ___\ /\ "-./ \ /\ __ \ /\ "-.\ \ /\ __ \ /\__ _\ /\ ___\
|
|
4
|
-
// \ \ \____ \ \ __\ \ \ \-./\ \ \ \ \/\ \ \ \ \-. \ \ \ __ \ \/_/\ \/ \ \ __\
|
|
5
|
-
// \ \_____\ \ \_____\ \ \_\ \ \_\ \ \_____\ \ \_\\"\_\ \ \_\ \_\ \ \_\ \ \_____\
|
|
6
|
-
// \/_____/ \/_____/ \/_/ \/_/ \/_____/ \/_/ \/_/ \/_/\/_/ \/_/ \/_____/
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
// Copyright 2023- Luminocity AG
|
|
10
|
-
//
|
|
11
|
-
// "The night is dark and full of terrors." - The Witcher 3: Wild Hunt (2015)
|
|
12
|
-
//
|
|
13
|
-
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software
|
|
14
|
-
// and associated documentation files (the “Software”), to deal in the Software without restriction,
|
|
15
|
-
// including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
16
|
-
// and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
|
|
17
|
-
// subject to the following conditions:
|
|
18
|
-
//
|
|
19
|
-
// The above copyright notice and this permission notice shall be included in all copies or substantial
|
|
20
|
-
// portions of the Software.
|
|
21
|
-
//
|
|
22
|
-
// THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
|
|
23
|
-
// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
24
|
-
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
25
|
-
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
26
|
-
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
27
|
-
// -----------------------------------------------------------------------------------------------------------
|
|
28
|
-
import { Box3, Color, Object3D } from 'three';
|
|
29
|
-
import { SceneGraph } from "./SceneGraph";
|
|
30
|
-
import tools from './Tools';
|
|
31
|
-
import { EditorScene } from './EditorScene';
|
|
32
|
-
import { ScriptRunner } from "./subsystems/scripting/ScriptRunner";
|
|
33
|
-
export class SceneGraphCollection {
|
|
34
|
-
engine;
|
|
35
|
-
rootScene;
|
|
36
|
-
sceneGraphs = new Map();
|
|
37
|
-
scriptsMap = new Map();
|
|
38
|
-
editedSceneGraph;
|
|
39
|
-
primarySceneGraph;
|
|
40
|
-
_onScriptInstanceCreated;
|
|
41
|
-
_onScriptInstanceDestroyed;
|
|
42
|
-
constructor(engine) {
|
|
43
|
-
tools.assert(engine, "SceneGraphCollection needs an engine!");
|
|
44
|
-
this.engine = engine;
|
|
45
|
-
// The rootScene and sceneGraphs to be rendered. There is just a single main scene rendered by the engine,
|
|
46
|
-
// but it can contain a series of scenegraphs. each scenegraph produces a single three.js scene which
|
|
47
|
-
// will be mounted inside the main scene. One or many scenegraphs can be active at a single time, when using
|
|
48
|
-
// a project item as root which can contain many scenes and n of which can be currently in memory or displayed.
|
|
49
|
-
// The sceneGraphs map maps scene item IDs to their scenegraphs
|
|
50
|
-
this.rootScene = new EditorScene(engine);
|
|
51
|
-
this.rootScene.name = "Root";
|
|
52
|
-
this.rootScene.background = new Color('black');
|
|
53
|
-
// Scripting
|
|
54
|
-
// --------------------------------------------------
|
|
55
|
-
this._onScriptInstanceCreated = async (itemScript, sceneGraphCollection) => {
|
|
56
|
-
if (sceneGraphCollection === this)
|
|
57
|
-
await this.addScript(itemScript);
|
|
58
|
-
};
|
|
59
|
-
this._onScriptInstanceDestroyed = (itemScript, sceneGraphCollection) => {
|
|
60
|
-
if (sceneGraphCollection === this)
|
|
61
|
-
this.removeScript(itemScript);
|
|
62
|
-
};
|
|
63
|
-
this.engine.eventBus.$on('scriptInstance:created', this._onScriptInstanceCreated);
|
|
64
|
-
this.engine.eventBus.$on('scriptInstance:destroyed', this._onScriptInstanceDestroyed);
|
|
65
|
-
}
|
|
66
|
-
destroy() {
|
|
67
|
-
this.engine.eventBus.$off('scriptInstance:created', this._onScriptInstanceCreated);
|
|
68
|
-
this.engine.eventBus.$off('scriptInstance:destroyed', this._onScriptInstanceDestroyed);
|
|
69
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
70
|
-
if (entry.sceneItem)
|
|
71
|
-
entry.sceneItem.destroy();
|
|
72
|
-
entry.sceneGraph.destroy();
|
|
73
|
-
}
|
|
74
|
-
this.sceneGraphs.clear();
|
|
75
|
-
this.editedSceneGraph = undefined;
|
|
76
|
-
}
|
|
77
|
-
size() {
|
|
78
|
-
return this.sceneGraphs.size;
|
|
79
|
-
}
|
|
80
|
-
getSceneGraphByIndex(index) {
|
|
81
|
-
const arr = Array.from(this.sceneGraphs.values());
|
|
82
|
-
const entry = arr[index];
|
|
83
|
-
if (!entry)
|
|
84
|
-
return null;
|
|
85
|
-
return entry.sceneGraph;
|
|
86
|
-
}
|
|
87
|
-
ensurePrimarySceneGraph() {
|
|
88
|
-
if (this.primarySceneGraph && !this.sceneGraphs.has(this.primarySceneGraph.getId()))
|
|
89
|
-
this.primarySceneGraph = undefined;
|
|
90
|
-
if (!this.primarySceneGraph) {
|
|
91
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
92
|
-
this.primarySceneGraph = entry.sceneGraph;
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
setPrimarySceneGraph(sceneGraph) {
|
|
98
|
-
if (!this.sceneGraphs.has(sceneGraph.getId()))
|
|
99
|
-
return;
|
|
100
|
-
this.primarySceneGraph = sceneGraph;
|
|
101
|
-
}
|
|
102
|
-
ensureEditedSceneGraph() {
|
|
103
|
-
if (this.editedSceneGraph && !this.sceneGraphs.has(this.editedSceneGraph.getId()))
|
|
104
|
-
this.editedSceneGraph = undefined;
|
|
105
|
-
if (!this.editedSceneGraph) {
|
|
106
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
107
|
-
this.editedSceneGraph = entry.sceneGraph;
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
console.warn("Trying to ensure an edited scene graph but none is available!");
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
getEditedSceneGraph() {
|
|
114
|
-
return this.editedSceneGraph;
|
|
115
|
-
}
|
|
116
|
-
getRootScene() {
|
|
117
|
-
return this.rootScene;
|
|
118
|
-
}
|
|
119
|
-
getPrimaryScene() {
|
|
120
|
-
// If we have no scene, the primary one is the root scene
|
|
121
|
-
if (!this.primarySceneGraph)
|
|
122
|
-
return this.rootScene;
|
|
123
|
-
// For now, the primary scene will be the scene of the edited scene graph. Might need to change that!
|
|
124
|
-
return this.primarySceneGraph.getScene();
|
|
125
|
-
}
|
|
126
|
-
getPrimarySceneGraph() {
|
|
127
|
-
return this.primarySceneGraph || this.rootScene;
|
|
128
|
-
}
|
|
129
|
-
getPrimarySceneItem() {
|
|
130
|
-
if (!this.primarySceneGraph)
|
|
131
|
-
return null;
|
|
132
|
-
// For now, the primary scene will be the scene of the edited scene graph. Might need to change that!
|
|
133
|
-
return this.primarySceneGraph.getSceneItem();
|
|
134
|
-
}
|
|
135
|
-
play() {
|
|
136
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
137
|
-
entry.sceneGraph.play();
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
stop() {
|
|
141
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
142
|
-
entry.sceneGraph.stop();
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
pause() {
|
|
146
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
147
|
-
entry.sceneGraph.pause();
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
resume() {
|
|
151
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
152
|
-
entry.sceneGraph.resume();
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
update(deltaTimeMs) {
|
|
156
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
157
|
-
entry.sceneGraph.update(deltaTimeMs);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
forEachItem(func, iterateOverPrefabItems = true) {
|
|
161
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
162
|
-
entry.sceneGraph.forEachItem(func, undefined, iterateOverPrefabItems);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
forEachSceneGraph(func) {
|
|
166
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
167
|
-
func(entry.sceneGraph);
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
getBoundingBox() {
|
|
171
|
-
const box = new Box3().makeEmpty();
|
|
172
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
173
|
-
const sceneBox = entry.sceneGraph.getBoundingBox();
|
|
174
|
-
box.union(sceneBox);
|
|
175
|
-
}
|
|
176
|
-
return box;
|
|
177
|
-
}
|
|
178
|
-
getItemScripts() {
|
|
179
|
-
let result = [];
|
|
180
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
181
|
-
const scripts = entry.sceneGraph.getItemScripts();
|
|
182
|
-
result = [...result, ...scripts];
|
|
183
|
-
}
|
|
184
|
-
return result;
|
|
185
|
-
}
|
|
186
|
-
getSceneGraphById(id) {
|
|
187
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
188
|
-
const sceneGraphId = entry.sceneGraph.getId();
|
|
189
|
-
if (sceneGraphId === id)
|
|
190
|
-
return entry.sceneGraph;
|
|
191
|
-
}
|
|
192
|
-
return null;
|
|
193
|
-
}
|
|
194
|
-
findItemByName(name, node) {
|
|
195
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
196
|
-
const item = entry.sceneGraph.findItemByName(name, node);
|
|
197
|
-
if (item)
|
|
198
|
-
return item;
|
|
199
|
-
}
|
|
200
|
-
return null;
|
|
201
|
-
}
|
|
202
|
-
findItemsByName(name, node) {
|
|
203
|
-
let result = [];
|
|
204
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
205
|
-
const items = entry.sceneGraph.findItemsByName(name, node);
|
|
206
|
-
result = [...result, ...items];
|
|
207
|
-
}
|
|
208
|
-
return result;
|
|
209
|
-
}
|
|
210
|
-
findItemsByType(type) {
|
|
211
|
-
let result = [];
|
|
212
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
213
|
-
const items = entry.sceneGraph.findItemsByType(type);
|
|
214
|
-
result = [...result, ...items];
|
|
215
|
-
}
|
|
216
|
-
return result;
|
|
217
|
-
}
|
|
218
|
-
findItemsByTag(tag, node) {
|
|
219
|
-
let result = [];
|
|
220
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
221
|
-
const items = entry.sceneGraph.findItemsByTag(tag, node);
|
|
222
|
-
result = [...result, ...items];
|
|
223
|
-
}
|
|
224
|
-
return result;
|
|
225
|
-
}
|
|
226
|
-
findItemByContainingObject(obj) {
|
|
227
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
228
|
-
const item = entry.sceneGraph.findItemByContainingObject(obj);
|
|
229
|
-
if (item)
|
|
230
|
-
return item;
|
|
231
|
-
}
|
|
232
|
-
return null;
|
|
233
|
-
}
|
|
234
|
-
findSelectedItems() {
|
|
235
|
-
let result = [];
|
|
236
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
237
|
-
const items = entry.sceneGraph.findSelectedItems();
|
|
238
|
-
result = [...result, ...items];
|
|
239
|
-
}
|
|
240
|
-
return result;
|
|
241
|
-
}
|
|
242
|
-
findItemByTag(tag) {
|
|
243
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
244
|
-
const item = entry.sceneGraph.findItemByTag(tag);
|
|
245
|
-
if (item) {
|
|
246
|
-
return item;
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
return null;
|
|
250
|
-
}
|
|
251
|
-
findItemByTagAndType(tag, type) {
|
|
252
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
253
|
-
const item = entry.sceneGraph.findItemByTagAndType(tag, type);
|
|
254
|
-
if (item)
|
|
255
|
-
return item;
|
|
256
|
-
}
|
|
257
|
-
return null;
|
|
258
|
-
}
|
|
259
|
-
findFirstItemByType(type) {
|
|
260
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
261
|
-
const item = entry.sceneGraph.findFirstItemByType(type);
|
|
262
|
-
if (item)
|
|
263
|
-
return item;
|
|
264
|
-
}
|
|
265
|
-
return null;
|
|
266
|
-
}
|
|
267
|
-
findItemById(id) {
|
|
268
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
269
|
-
const item = entry.sceneGraph.findItemById(id);
|
|
270
|
-
if (item)
|
|
271
|
-
return item;
|
|
272
|
-
}
|
|
273
|
-
return null;
|
|
274
|
-
}
|
|
275
|
-
findSceneGraphByItemId(id) {
|
|
276
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
277
|
-
const item = entry.sceneGraph.findItemById(id);
|
|
278
|
-
if (item)
|
|
279
|
-
return item.sceneGraph;
|
|
280
|
-
}
|
|
281
|
-
return null;
|
|
282
|
-
}
|
|
283
|
-
findItemByBlockId(blockId) {
|
|
284
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
285
|
-
const item = entry.sceneGraph.findItemByBlockId(blockId);
|
|
286
|
-
if (item)
|
|
287
|
-
return item;
|
|
288
|
-
}
|
|
289
|
-
return null;
|
|
290
|
-
}
|
|
291
|
-
findItemByScriptId(scriptId) {
|
|
292
|
-
for (const entry of this.sceneGraphs.values()) {
|
|
293
|
-
const item = entry.sceneGraph.findItemByScriptId(scriptId);
|
|
294
|
-
if (item)
|
|
295
|
-
return item;
|
|
296
|
-
}
|
|
297
|
-
return null;
|
|
298
|
-
}
|
|
299
|
-
deselectAllItems() {
|
|
300
|
-
this.forEachItem((item) => {
|
|
301
|
-
item.setSelected(false);
|
|
302
|
-
});
|
|
303
|
-
}
|
|
304
|
-
async setSelectedItems(ids) {
|
|
305
|
-
const selectedItems = [];
|
|
306
|
-
const promises = [];
|
|
307
|
-
this.deselectAllItems();
|
|
308
|
-
this.forEachItem((item) => {
|
|
309
|
-
const isSelected = item.getType() !== "Scene" && ids.includes(item.block.id);
|
|
310
|
-
item.setSelected(isSelected);
|
|
311
|
-
if (isSelected) {
|
|
312
|
-
if (!item.isCreated()) {
|
|
313
|
-
promises.push(item.waitForCreated());
|
|
314
|
-
}
|
|
315
|
-
selectedItems.push(item);
|
|
316
|
-
}
|
|
317
|
-
});
|
|
318
|
-
if (promises.length) {
|
|
319
|
-
await Promise.all(promises);
|
|
320
|
-
}
|
|
321
|
-
this.engine.renderer.setTransformControlItems(selectedItems);
|
|
322
|
-
return selectedItems;
|
|
323
|
-
}
|
|
324
|
-
getSelectedItems() {
|
|
325
|
-
const selectedItems = [];
|
|
326
|
-
this.forEachItem((item) => {
|
|
327
|
-
if (item.selected)
|
|
328
|
-
selectedItems.push(item);
|
|
329
|
-
});
|
|
330
|
-
return selectedItems;
|
|
331
|
-
}
|
|
332
|
-
removeFromSelectedItems(item) {
|
|
333
|
-
const selectedItems = this.getSelectedItems();
|
|
334
|
-
if (!selectedItems.includes(item))
|
|
335
|
-
return;
|
|
336
|
-
const newSelectedItemIds = selectedItems
|
|
337
|
-
.filter(selectedItem => item !== selectedItem)
|
|
338
|
-
.map(item => item.block.id);
|
|
339
|
-
this.setSelectedItems(newSelectedItemIds);
|
|
340
|
-
}
|
|
341
|
-
addToSelectedItems(item) {
|
|
342
|
-
const selectedItems = this.getSelectedItems();
|
|
343
|
-
if (selectedItems.includes(item))
|
|
344
|
-
return;
|
|
345
|
-
const newSelectedItemIds = [...selectedItems, item].map(item => item.block.id);
|
|
346
|
-
this.setSelectedItems(newSelectedItemIds);
|
|
347
|
-
}
|
|
348
|
-
add(sceneGraph, sceneItem, enable = true, transform) {
|
|
349
|
-
// Get an ID and the scene from the sceneItem if we have it
|
|
350
|
-
// ------------------------------------------------------------------------------------
|
|
351
|
-
const id = sceneGraph.getId();
|
|
352
|
-
sceneItem = sceneItem || sceneGraph.getSceneItem();
|
|
353
|
-
const threeScene = sceneGraph.getScene() || new EditorScene(this.engine);
|
|
354
|
-
// We need to create a container around the scene so we can modify its transform
|
|
355
|
-
// because we don't want to modify the original scene's transform.
|
|
356
|
-
// ------------------------------------------------------------------------------------
|
|
357
|
-
const threeSceneContainer = new Object3D();
|
|
358
|
-
threeSceneContainer.name = "SceneContainer";
|
|
359
|
-
threeSceneContainer.add(threeScene);
|
|
360
|
-
// Add the graph to our map
|
|
361
|
-
// ------------------------------------------------------------------------------------
|
|
362
|
-
sceneGraph.setParentCollection(this);
|
|
363
|
-
this.sceneGraphs.set(id, {
|
|
364
|
-
threeScene,
|
|
365
|
-
threeSceneContainer,
|
|
366
|
-
sceneGraph,
|
|
367
|
-
sceneItem
|
|
368
|
-
});
|
|
369
|
-
this.ensureEditedSceneGraph();
|
|
370
|
-
this.ensurePrimarySceneGraph();
|
|
371
|
-
this.setSceneGraphEnabled(sceneGraph, enable);
|
|
372
|
-
if (transform)
|
|
373
|
-
this.setSceneGraphTransform(sceneGraph, transform);
|
|
374
|
-
return sceneGraph;
|
|
375
|
-
}
|
|
376
|
-
addSceneItem(sceneItem, enable, transform) {
|
|
377
|
-
const sceneGraph = sceneItem.getSceneGraph();
|
|
378
|
-
if (sceneGraph)
|
|
379
|
-
return this.add(sceneGraph, sceneItem, enable, transform);
|
|
380
|
-
}
|
|
381
|
-
addSceneGraph(sceneGraph, enable, transform) {
|
|
382
|
-
return this.add(sceneGraph, undefined, enable, transform);
|
|
383
|
-
}
|
|
384
|
-
createSceneGraph(enable, item, transform) {
|
|
385
|
-
const sceneGraph = new SceneGraph(this.engine, item);
|
|
386
|
-
const editorScene = new EditorScene(this.engine);
|
|
387
|
-
sceneGraph.createFromScene(editorScene);
|
|
388
|
-
return this.add(sceneGraph, undefined, enable, transform);
|
|
389
|
-
}
|
|
390
|
-
remove(sceneGraph) {
|
|
391
|
-
const id = sceneGraph.getId();
|
|
392
|
-
this.setSceneGraphEnabled(sceneGraph, false);
|
|
393
|
-
this.sceneGraphs.delete(id);
|
|
394
|
-
this.ensureEditedSceneGraph();
|
|
395
|
-
this.ensurePrimarySceneGraph();
|
|
396
|
-
}
|
|
397
|
-
setSceneGraphEnabled(sceneGraph, enabled) {
|
|
398
|
-
const id = sceneGraph.getId();
|
|
399
|
-
const entry = this.sceneGraphs.get(id);
|
|
400
|
-
const container = entry?.threeSceneContainer;
|
|
401
|
-
if (container) {
|
|
402
|
-
if (enabled)
|
|
403
|
-
this.rootScene.add(container);
|
|
404
|
-
else if (container)
|
|
405
|
-
this.rootScene.remove(container);
|
|
406
|
-
}
|
|
407
|
-
}
|
|
408
|
-
setSceneGraphTransform(sceneGraph, transform) {
|
|
409
|
-
const id = sceneGraph.getId();
|
|
410
|
-
const entry = this.sceneGraphs.get(id);
|
|
411
|
-
if (entry) {
|
|
412
|
-
const container = entry.threeSceneContainer;
|
|
413
|
-
if (container) {
|
|
414
|
-
tools.setTransformOnObject(container, transform);
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
}
|
|
418
|
-
// --------------------------------------------------------------------------
|
|
419
|
-
// Scripting
|
|
420
|
-
// --------------------------------------------------------------------------
|
|
421
|
-
async buildScriptsMap() {
|
|
422
|
-
//const time = new Date();
|
|
423
|
-
this.scriptsMap.clear();
|
|
424
|
-
const itemScripts = this.getItemScripts();
|
|
425
|
-
for (const itemScript of itemScripts) {
|
|
426
|
-
if (itemScript.containsCode()) {
|
|
427
|
-
const result = await this._addScript(itemScript, false);
|
|
428
|
-
if (!result)
|
|
429
|
-
return false;
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
//console.log("Scripts building: " + (new Date() - time));
|
|
433
|
-
//console.log("Scripts map:", this.scriptsMap);
|
|
434
|
-
return true;
|
|
435
|
-
}
|
|
436
|
-
async _addScript(itemScript, callInit) {
|
|
437
|
-
const instanceId = itemScript.getId();
|
|
438
|
-
if (this.scriptsMap.has(instanceId)) {
|
|
439
|
-
console.warn("Trying to add script to player which is already active!", instanceId);
|
|
440
|
-
return;
|
|
441
|
-
}
|
|
442
|
-
const script = itemScript.getScript();
|
|
443
|
-
if (!script) {
|
|
444
|
-
console.warn("Script missing from item script");
|
|
445
|
-
return;
|
|
446
|
-
}
|
|
447
|
-
const meta = itemScript.getScriptMeta();
|
|
448
|
-
const node = itemScript.getNode();
|
|
449
|
-
const parentItem = itemScript.getParentItem();
|
|
450
|
-
const sceneGraphId = itemScript.getSceneGraphId();
|
|
451
|
-
const code = script.getCode();
|
|
452
|
-
const name = script.getName();
|
|
453
|
-
const item = script.getItem();
|
|
454
|
-
const runner = new ScriptRunner(this.engine);
|
|
455
|
-
runner.setNode(node);
|
|
456
|
-
runner.setInjectedFields(meta.fields);
|
|
457
|
-
await runner.loadCode(script);
|
|
458
|
-
const deferInitCall = Boolean(meta.deferInitCall);
|
|
459
|
-
const shouldBeInitialized = callInit && !deferInitCall;
|
|
460
|
-
if (shouldBeInitialized) {
|
|
461
|
-
await runner.callFuncIfExists("init");
|
|
462
|
-
}
|
|
463
|
-
const scriptEntry = {
|
|
464
|
-
id: instanceId,
|
|
465
|
-
name: name,
|
|
466
|
-
item: item,
|
|
467
|
-
code: code,
|
|
468
|
-
runner: runner,
|
|
469
|
-
parentItem: parentItem,
|
|
470
|
-
initialized: shouldBeInitialized,
|
|
471
|
-
sceneGraphId: sceneGraphId,
|
|
472
|
-
meta: meta
|
|
473
|
-
};
|
|
474
|
-
this.scriptsMap.set(instanceId, scriptEntry);
|
|
475
|
-
this.engine.eventBus.$emit('player:scriptEntryAdded', scriptEntry);
|
|
476
|
-
return true;
|
|
477
|
-
}
|
|
478
|
-
getScriptEntryFromMetaScript(scriptMeta) {
|
|
479
|
-
return this.scriptsMap.get(scriptMeta.id);
|
|
480
|
-
}
|
|
481
|
-
// This waits for the player to create a scriptEntry with nkScript as its scriptMeta
|
|
482
|
-
waitForScriptAdded(scriptMeta) {
|
|
483
|
-
return new Promise((resolve, reject) => {
|
|
484
|
-
// Check if the scriptEntry was already added
|
|
485
|
-
const foundScriptEntry = this.getScriptEntryFromMetaScript(scriptMeta);
|
|
486
|
-
if (foundScriptEntry) {
|
|
487
|
-
resolve(foundScriptEntry);
|
|
488
|
-
return;
|
|
489
|
-
}
|
|
490
|
-
// Set up a timeout to reject if the script wasn't added in time
|
|
491
|
-
const timeout = setTimeout(() => {
|
|
492
|
-
this.engine.eventBus.$off('player:scriptEntryAdded', onScriptEntryAdd);
|
|
493
|
-
reject(new Error('Timeout waiting for script add'));
|
|
494
|
-
}, 3000);
|
|
495
|
-
// Event listener to resolve the promise when the right script was added
|
|
496
|
-
const onScriptEntryAdd = (scriptEntry) => {
|
|
497
|
-
if (scriptEntry.meta.id === scriptMeta.id) {
|
|
498
|
-
clearTimeout(timeout);
|
|
499
|
-
this.engine.eventBus.$off('player:scriptEntryAdded', onScriptEntryAdd);
|
|
500
|
-
resolve(scriptEntry);
|
|
501
|
-
}
|
|
502
|
-
};
|
|
503
|
-
this.engine.eventBus.$on('player:scriptEntryAdded', onScriptEntryAdd);
|
|
504
|
-
});
|
|
505
|
-
}
|
|
506
|
-
_removeScript(instanceId) {
|
|
507
|
-
const script = this.scriptsMap.get(instanceId);
|
|
508
|
-
if (!script) {
|
|
509
|
-
console.warn("Trying to remove script from player which is not known!", instanceId);
|
|
510
|
-
return;
|
|
511
|
-
}
|
|
512
|
-
this.scriptsMap.delete(instanceId);
|
|
513
|
-
script.runner.destroy();
|
|
514
|
-
}
|
|
515
|
-
forEachScript(func, needsToBeInitialized = false) {
|
|
516
|
-
for (const script of this.scriptsMap.values()) {
|
|
517
|
-
try {
|
|
518
|
-
if (needsToBeInitialized && !script.initialized)
|
|
519
|
-
continue;
|
|
520
|
-
func(script);
|
|
521
|
-
}
|
|
522
|
-
catch (err) {
|
|
523
|
-
console.error(err);
|
|
524
|
-
}
|
|
525
|
-
}
|
|
526
|
-
}
|
|
527
|
-
forEachEnabledScript(func, needsToBeInitialized = false) {
|
|
528
|
-
for (const script of this.scriptsMap.values()) {
|
|
529
|
-
try {
|
|
530
|
-
if (needsToBeInitialized && !script.initialized)
|
|
531
|
-
continue;
|
|
532
|
-
if (script.parentItem.isEnabled())
|
|
533
|
-
func(script);
|
|
534
|
-
}
|
|
535
|
-
catch (err) {
|
|
536
|
-
console.error(err);
|
|
537
|
-
}
|
|
538
|
-
}
|
|
539
|
-
}
|
|
540
|
-
async initScripts() {
|
|
541
|
-
const promises = [];
|
|
542
|
-
this.forEachScript(async (script) => {
|
|
543
|
-
promises.push(this.initializeScript(script));
|
|
544
|
-
});
|
|
545
|
-
return Promise.all(promises);
|
|
546
|
-
}
|
|
547
|
-
resetScripts() {
|
|
548
|
-
this.forEachScript(function (script) {
|
|
549
|
-
script.runner.destroy();
|
|
550
|
-
});
|
|
551
|
-
this.scriptsMap.clear();
|
|
552
|
-
}
|
|
553
|
-
async initializeScript(script) {
|
|
554
|
-
await script.runner.callFuncIfExists("init");
|
|
555
|
-
script.initialized = true;
|
|
556
|
-
}
|
|
557
|
-
async addScript(itemScript) {
|
|
558
|
-
if (this.engine.player.isPlaying())
|
|
559
|
-
await this._addScript(itemScript, true);
|
|
560
|
-
}
|
|
561
|
-
removeScript(itemScript) {
|
|
562
|
-
if (this.engine.player.isPlaying())
|
|
563
|
-
this._removeScript(itemScript.getId());
|
|
564
|
-
}
|
|
565
|
-
async setScriptEnabled(itemScript, value) {
|
|
566
|
-
const instanceId = itemScript.getId();
|
|
567
|
-
const script = this.scriptsMap.get(instanceId);
|
|
568
|
-
if (!script) {
|
|
569
|
-
console.warn("Trying to enable/disable a script from player which is not known!", instanceId);
|
|
570
|
-
return;
|
|
571
|
-
}
|
|
572
|
-
return script.runner.setEnabled(value);
|
|
573
|
-
}
|
|
574
|
-
async callScript(itemScript, functionName) {
|
|
575
|
-
if (!this.engine.player.isPlaying())
|
|
576
|
-
return;
|
|
577
|
-
const instanceId = itemScript.getId();
|
|
578
|
-
const script = this.scriptsMap.get(instanceId);
|
|
579
|
-
if (!script) {
|
|
580
|
-
console.warn("Trying to call a script from player which is not known!", instanceId);
|
|
581
|
-
return;
|
|
582
|
-
}
|
|
583
|
-
return script.runner.callFuncIfExists(functionName);
|
|
584
|
-
}
|
|
585
|
-
_removeScriptsForSceneGraph(sceneGraphId) {
|
|
586
|
-
const scriptIdsToRemove = [];
|
|
587
|
-
for (const script of this.scriptsMap.values()) {
|
|
588
|
-
if (script.sceneGraphId === sceneGraphId)
|
|
589
|
-
scriptIdsToRemove.push(script.id);
|
|
590
|
-
}
|
|
591
|
-
for (const id of scriptIdsToRemove) {
|
|
592
|
-
try {
|
|
593
|
-
this._removeScript(id);
|
|
594
|
-
}
|
|
595
|
-
catch (err) {
|
|
596
|
-
console.error("Error removing script: ", err);
|
|
597
|
-
}
|
|
598
|
-
}
|
|
599
|
-
}
|
|
600
|
-
async _addScriptsForSceneGraph(sceneGraphId) {
|
|
601
|
-
const sceneGraph = this.engine.activeSceneGraphCollection.getSceneGraphById(sceneGraphId);
|
|
602
|
-
if (sceneGraph) {
|
|
603
|
-
const itemScripts = sceneGraph.getItemScripts();
|
|
604
|
-
for (const itemScript of itemScripts) {
|
|
605
|
-
if (itemScript.containsCode()) {
|
|
606
|
-
const result = await this._addScript(itemScript, true);
|
|
607
|
-
if (!result)
|
|
608
|
-
return false;
|
|
609
|
-
}
|
|
610
|
-
}
|
|
611
|
-
}
|
|
612
|
-
}
|
|
613
|
-
}
|
|
614
|
-
//# sourceMappingURL=SceneGraphCollection.js.map
|