@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
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
// -----------------------------------------------------------------------------------------------------------
|
|
2
|
-
// __ ______ __ __ ______ __ __ ______ ______ ______
|
|
3
|
-
// /\ \ /\ ___\ /\ "-./ \ /\ __ \ /\ "-.\ \ /\ __ \ /\__ _\ /\ ___\
|
|
4
|
-
// \ \ \____ \ \ __\ \ \ \-./\ \ \ \ \/\ \ \ \ \-. \ \ \ __ \ \/_/\ \/ \ \ __\
|
|
5
|
-
// \ \_____\ \ \_____\ \ \_\ \ \_\ \ \_____\ \ \_\\"\_\ \ \_\ \_\ \ \_\ \ \_____\
|
|
6
|
-
// \/_____/ \/_____/ \/_/ \/_/ \/_____/ \/_/ \/_/ \/_/\/_/ \/_/ \/_____/
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
// Copyright 2023- Luminocity AG
|
|
10
|
-
//
|
|
11
|
-
// "I’m walking here!" - Grand Theft Auto IV (2008)
|
|
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 { BufferAttribute, BufferGeometry, LineBasicMaterial, LineSegments, SphereGeometry, ConeGeometry, TorusGeometry, EdgesGeometry, Vector3 } from 'three';
|
|
29
|
-
/**
|
|
30
|
-
* Normalize optional emitter with default config values to ensure all fields are defined.
|
|
31
|
-
*/
|
|
32
|
-
function normalizeOptions(options) {
|
|
33
|
-
const size = options.size ?? 1;
|
|
34
|
-
return {
|
|
35
|
-
size,
|
|
36
|
-
radius: options.radius ?? size,
|
|
37
|
-
outerRadius: options.outerRadius ?? size * 0.2,
|
|
38
|
-
roundTip: options.roundTip ?? false,
|
|
39
|
-
width: options.width ?? 1,
|
|
40
|
-
height: options.height ?? size * 2,
|
|
41
|
-
life: options.life ?? 1,
|
|
42
|
-
lifeRandomness: options.lifeRandomness ?? 0
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* ParticlesHelper
|
|
47
|
-
*
|
|
48
|
-
* This helper visualizes the volume of a particle emitter as a wireframe.
|
|
49
|
-
* Supports various emitter shapes with customizable dimensions.
|
|
50
|
-
*/
|
|
51
|
-
export class ParticlesHelper extends LineSegments {
|
|
52
|
-
type = 'ParticlesHelper';
|
|
53
|
-
isHelper = true;
|
|
54
|
-
helperShape;
|
|
55
|
-
helperOptions;
|
|
56
|
-
color;
|
|
57
|
-
mesh;
|
|
58
|
-
constructor(mesh, shape = 'box', options = {}, color = 0xffff00) {
|
|
59
|
-
const normalizedOptions = normalizeOptions(options);
|
|
60
|
-
const geometry = ParticlesHelper.createGeometry(shape, normalizedOptions);
|
|
61
|
-
super(geometry, new LineBasicMaterial({ color, toneMapped: false }));
|
|
62
|
-
this.matrixAutoUpdate = false;
|
|
63
|
-
this.helperShape = shape.toLowerCase();
|
|
64
|
-
this.helperOptions = normalizedOptions;
|
|
65
|
-
this.color = color;
|
|
66
|
-
this.mesh = mesh;
|
|
67
|
-
}
|
|
68
|
-
static createGeometry(shape, options) {
|
|
69
|
-
switch (shape.toLowerCase()) {
|
|
70
|
-
case 'sphere': return ParticlesHelper.createSphereGeometry(options);
|
|
71
|
-
case 'hemisphere': return ParticlesHelper.createHemisphereGeometry(options);
|
|
72
|
-
case 'torus': return ParticlesHelper.createTorusGeometry(options);
|
|
73
|
-
case 'cone': return ParticlesHelper.createConeGeometry(options);
|
|
74
|
-
case 'circle': return ParticlesHelper.createCircleGeometry(options);
|
|
75
|
-
case 'edge': return ParticlesHelper.createEdgeGeometry(options);
|
|
76
|
-
case 'point': return ParticlesHelper.createPointGeometry(options);
|
|
77
|
-
case 'box':
|
|
78
|
-
default: return ParticlesHelper.createBoxGeometry(options);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
static createPointGeometry(options) {
|
|
82
|
-
const vertices = [];
|
|
83
|
-
const directions = [
|
|
84
|
-
new Vector3(1, 1, 1), new Vector3(1, 1, -1), new Vector3(1, -1, 1), new Vector3(1, -1, -1),
|
|
85
|
-
new Vector3(-1, 1, 1), new Vector3(-1, 1, -1), new Vector3(-1, -1, 1), new Vector3(-1, -1, -1)
|
|
86
|
-
];
|
|
87
|
-
for (const dir of directions) {
|
|
88
|
-
const end = dir.clone().normalize().multiplyScalar(options.size);
|
|
89
|
-
vertices.push(0, 0, 0, end.x, end.y, end.z);
|
|
90
|
-
}
|
|
91
|
-
const geometry = new BufferGeometry();
|
|
92
|
-
geometry.setAttribute('position', new BufferAttribute(new Float32Array(vertices), 3));
|
|
93
|
-
geometry.computeBoundingSphere();
|
|
94
|
-
return geometry;
|
|
95
|
-
}
|
|
96
|
-
static createSphereGeometry(options) {
|
|
97
|
-
return new EdgesGeometry(new SphereGeometry(options.radius, 16, 16));
|
|
98
|
-
}
|
|
99
|
-
static createHemisphereGeometry(options) {
|
|
100
|
-
const geometry = new SphereGeometry(options.radius, 16, 8, 0, Math.PI * 2, 0, Math.PI / 2);
|
|
101
|
-
geometry.rotateX(Math.PI / 2);
|
|
102
|
-
return new EdgesGeometry(geometry);
|
|
103
|
-
}
|
|
104
|
-
static createTorusGeometry(options) {
|
|
105
|
-
const geometry = new TorusGeometry(options.outerRadius, options.radius, 16, 32);
|
|
106
|
-
return new EdgesGeometry(geometry);
|
|
107
|
-
}
|
|
108
|
-
static createConeGeometry(options) {
|
|
109
|
-
if (options.roundTip)
|
|
110
|
-
return ParticlesHelper.createRoundedConeGeometry(options);
|
|
111
|
-
const geometry = new EdgesGeometry(new ConeGeometry(options.radius, options.height, 16, 1, true));
|
|
112
|
-
geometry.rotateX(-Math.PI / 2);
|
|
113
|
-
geometry.translate(0, 0, options.height / 2);
|
|
114
|
-
return geometry;
|
|
115
|
-
}
|
|
116
|
-
static createRoundedConeGeometry(options) {
|
|
117
|
-
const segments = 16;
|
|
118
|
-
const heightSegments = 16;
|
|
119
|
-
const vertices = [];
|
|
120
|
-
const indices = [];
|
|
121
|
-
for (let i = 0; i <= heightSegments; i++) {
|
|
122
|
-
const u = i / heightSegments; // 0 to 1
|
|
123
|
-
const z = u * options.height;
|
|
124
|
-
const r = options.radius * Math.sqrt(u); // Parabolic profile
|
|
125
|
-
for (let j = 0; j <= segments; j++) {
|
|
126
|
-
const theta = (j / segments) * Math.PI * 2;
|
|
127
|
-
const x = r * Math.cos(theta);
|
|
128
|
-
const y = r * Math.sin(theta);
|
|
129
|
-
vertices.push(x, y, z);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
for (let i = 0; i < heightSegments; i++) {
|
|
133
|
-
for (let j = 0; j < segments; j++) {
|
|
134
|
-
const current = i * (segments + 1) + j;
|
|
135
|
-
const next = current + (segments + 1);
|
|
136
|
-
indices.push(current, next);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
for (let i = 0; i <= heightSegments; i++) {
|
|
140
|
-
for (let j = 0; j < segments; j++) {
|
|
141
|
-
const current = i * (segments + 1) + j;
|
|
142
|
-
const next = current + 1;
|
|
143
|
-
indices.push(current, next);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
const geometry = new BufferGeometry();
|
|
147
|
-
geometry.setAttribute('position', new BufferAttribute(new Float32Array(vertices), 3));
|
|
148
|
-
geometry.setIndex(new BufferAttribute(new Uint16Array(indices), 1));
|
|
149
|
-
geometry.computeBoundingSphere();
|
|
150
|
-
return geometry;
|
|
151
|
-
}
|
|
152
|
-
static createCircleGeometry(options) {
|
|
153
|
-
const segments = 32;
|
|
154
|
-
const positions = [];
|
|
155
|
-
const indices = [];
|
|
156
|
-
for (let i = 0; i <= segments; i++) {
|
|
157
|
-
const angle = (i / segments) * Math.PI * 2;
|
|
158
|
-
positions.push(Math.cos(angle) * options.radius, Math.sin(angle) * options.radius, 0);
|
|
159
|
-
}
|
|
160
|
-
for (let i = 0; i < segments; i++)
|
|
161
|
-
indices.push(i, i + 1);
|
|
162
|
-
const geometry = new BufferGeometry();
|
|
163
|
-
geometry.setAttribute('position', new BufferAttribute(new Float32Array(positions), 3));
|
|
164
|
-
geometry.setIndex(new BufferAttribute(new Uint16Array(indices), 1));
|
|
165
|
-
return geometry;
|
|
166
|
-
}
|
|
167
|
-
static createEdgeGeometry(options) {
|
|
168
|
-
const w = options.width, h = options.height;
|
|
169
|
-
const x0 = -w / 2, y0 = -h / 2;
|
|
170
|
-
const verts = [[x0, y0, 0], [x0 + w, y0, 0], [x0 + w, y0 + h, 0], [x0, y0 + h, 0]];
|
|
171
|
-
const positions = verts.flat();
|
|
172
|
-
const indices = [0, 1, 1, 2, 2, 3, 3, 0];
|
|
173
|
-
const geometry = new BufferGeometry();
|
|
174
|
-
geometry.setAttribute('position', new BufferAttribute(new Float32Array(positions), 3));
|
|
175
|
-
geometry.setIndex(new BufferAttribute(new Uint16Array(indices), 1));
|
|
176
|
-
geometry.computeBoundingBox();
|
|
177
|
-
geometry.computeBoundingSphere();
|
|
178
|
-
return geometry;
|
|
179
|
-
}
|
|
180
|
-
static createBoxGeometry(options) {
|
|
181
|
-
const size = options.size || 1;
|
|
182
|
-
const half = size / 2;
|
|
183
|
-
const min = { x: -half, y: -half, z: -half };
|
|
184
|
-
const max = { x: half, y: half, z: half };
|
|
185
|
-
const geometry = new BufferGeometry();
|
|
186
|
-
const indices = new Uint16Array([
|
|
187
|
-
0, 1, 1, 2, 2, 3, 3, 0,
|
|
188
|
-
4, 5, 5, 6, 6, 7, 7, 4,
|
|
189
|
-
0, 4, 1, 5, 2, 6, 3, 7
|
|
190
|
-
]);
|
|
191
|
-
geometry.setIndex(new BufferAttribute(indices, 1));
|
|
192
|
-
const positions = new Float32Array(8 * 3);
|
|
193
|
-
geometry.setAttribute('position', new BufferAttribute(positions, 3));
|
|
194
|
-
const array = geometry.attributes.position.array;
|
|
195
|
-
array[0] = max.x;
|
|
196
|
-
array[1] = max.y;
|
|
197
|
-
array[2] = max.z;
|
|
198
|
-
array[3] = min.x;
|
|
199
|
-
array[4] = max.y;
|
|
200
|
-
array[5] = max.z;
|
|
201
|
-
array[6] = min.x;
|
|
202
|
-
array[7] = min.y;
|
|
203
|
-
array[8] = max.z;
|
|
204
|
-
array[9] = max.x;
|
|
205
|
-
array[10] = min.y;
|
|
206
|
-
array[11] = max.z;
|
|
207
|
-
array[12] = max.x;
|
|
208
|
-
array[13] = max.y;
|
|
209
|
-
array[14] = min.z;
|
|
210
|
-
array[15] = min.x;
|
|
211
|
-
array[16] = max.y;
|
|
212
|
-
array[17] = min.z;
|
|
213
|
-
array[18] = min.x;
|
|
214
|
-
array[19] = min.y;
|
|
215
|
-
array[20] = min.z;
|
|
216
|
-
array[21] = max.x;
|
|
217
|
-
array[22] = min.y;
|
|
218
|
-
array[23] = min.z;
|
|
219
|
-
geometry.attributes.position.needsUpdate = true;
|
|
220
|
-
geometry.computeBoundingSphere();
|
|
221
|
-
return geometry;
|
|
222
|
-
}
|
|
223
|
-
updateOptions(newOptions) {
|
|
224
|
-
const normalized = normalizeOptions({ ...this.helperOptions, ...newOptions });
|
|
225
|
-
this.helperOptions = normalized;
|
|
226
|
-
this.geometry.dispose();
|
|
227
|
-
this.geometry = ParticlesHelper.createGeometry(this.helperShape, normalized);
|
|
228
|
-
}
|
|
229
|
-
updateShape(shape, options = {}) {
|
|
230
|
-
this.helperShape = shape.toLowerCase();
|
|
231
|
-
const normalized = normalizeOptions({ ...this.helperOptions, ...options });
|
|
232
|
-
this.helperOptions = normalized;
|
|
233
|
-
this.geometry.dispose();
|
|
234
|
-
this.geometry = ParticlesHelper.createGeometry(this.helperShape, normalized);
|
|
235
|
-
}
|
|
236
|
-
setColor(color) {
|
|
237
|
-
this.color = color;
|
|
238
|
-
this.material.color.set(color);
|
|
239
|
-
}
|
|
240
|
-
dispose() {
|
|
241
|
-
this.geometry.dispose();
|
|
242
|
-
this.material.dispose();
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
//# sourceMappingURL=ParticlesHelper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ParticlesHelper.js","sourceRoot":"","sources":["../../src/helpers/ParticlesHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
// -----------------------------------------------------------------------------------------------------------
|
|
2
|
-
// __ ______ __ __ ______ __ __ ______ ______ ______
|
|
3
|
-
// /\ \ /\ ___\ /\ "-./ \ /\ __ \ /\ "-.\ \ /\ __ \ /\__ _\ /\ ___\
|
|
4
|
-
// \ \ \____ \ \ __\ \ \ \-./\ \ \ \ \/\ \ \ \ \-. \ \ \ __ \ \/_/\ \/ \ \ __\
|
|
5
|
-
// \ \_____\ \ \_____\ \ \_\ \ \_\ \ \_____\ \ \_\\"\_\ \ \_\ \_\ \ \_\ \ \_____\
|
|
6
|
-
// \/_____/ \/_____/ \/_/ \/_/ \/_____/ \/_/ \/_/ \/_/\/_/ \/_/ \/_____/
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
// Copyright 2023- Luminocity AG
|
|
10
|
-
//
|
|
11
|
-
// "All your base are belong to us." - Zero Wing (1989)
|
|
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 { LineSegments, BufferGeometry, Float32BufferAttribute, LineBasicMaterial, Vector3, Box3 } from 'three';
|
|
29
|
-
export class PointHelper extends LineSegments {
|
|
30
|
-
type = 'PointHelper';
|
|
31
|
-
isHelper = true;
|
|
32
|
-
object;
|
|
33
|
-
size;
|
|
34
|
-
color;
|
|
35
|
-
constructor(object, size = 1, color = 0xffffff) {
|
|
36
|
-
const geometry = new BufferGeometry();
|
|
37
|
-
const material = new LineBasicMaterial({ color: color });
|
|
38
|
-
super(geometry, material);
|
|
39
|
-
this.object = object;
|
|
40
|
-
this.size = size;
|
|
41
|
-
this.color = color;
|
|
42
|
-
this.matrixAutoUpdate = false;
|
|
43
|
-
this.update();
|
|
44
|
-
}
|
|
45
|
-
_generateVertices() {
|
|
46
|
-
const box = new Box3().setFromObject(this.object);
|
|
47
|
-
const center = new Vector3();
|
|
48
|
-
box.getCenter(center);
|
|
49
|
-
const directions = [
|
|
50
|
-
new Vector3(1, 1, 1),
|
|
51
|
-
new Vector3(1, 1, -1),
|
|
52
|
-
new Vector3(1, -1, 1),
|
|
53
|
-
new Vector3(1, -1, -1),
|
|
54
|
-
new Vector3(-1, 1, 1),
|
|
55
|
-
new Vector3(-1, 1, -1),
|
|
56
|
-
new Vector3(-1, -1, 1),
|
|
57
|
-
new Vector3(-1, -1, -1)
|
|
58
|
-
];
|
|
59
|
-
const vertices = [];
|
|
60
|
-
directions.forEach(direction => {
|
|
61
|
-
vertices.push(center.x, center.y, center.z);
|
|
62
|
-
const endPoint = direction.clone().multiplyScalar(this.size).add(center);
|
|
63
|
-
vertices.push(endPoint.x, endPoint.y, endPoint.z);
|
|
64
|
-
});
|
|
65
|
-
this.geometry.setAttribute('position', new Float32BufferAttribute(vertices, 3));
|
|
66
|
-
}
|
|
67
|
-
update() {
|
|
68
|
-
if (!this.object)
|
|
69
|
-
return;
|
|
70
|
-
this._generateVertices();
|
|
71
|
-
this.geometry.attributes.position.needsUpdate = true;
|
|
72
|
-
}
|
|
73
|
-
setColor(newColor) {
|
|
74
|
-
this.material.color.set(newColor);
|
|
75
|
-
}
|
|
76
|
-
dispose() {
|
|
77
|
-
if (this.geometry) {
|
|
78
|
-
this.geometry.dispose();
|
|
79
|
-
}
|
|
80
|
-
if (this.material) {
|
|
81
|
-
this.material.dispose();
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=PointHelper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PointHelper.js","sourceRoot":"","sources":["../../src/helpers/PointHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,62 +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 { LineSegments, LineBasicMaterial, SphereGeometry } from 'three';
|
|
29
|
-
export class SphereHelper extends LineSegments {
|
|
30
|
-
type = 'SphereHelper';
|
|
31
|
-
isHelper = true;
|
|
32
|
-
object;
|
|
33
|
-
color;
|
|
34
|
-
constructor(object, color = 0xffffff) {
|
|
35
|
-
const geometry = new SphereGeometry(0.5, 32, 32);
|
|
36
|
-
super(geometry, new LineBasicMaterial({
|
|
37
|
-
color: color,
|
|
38
|
-
fog: false,
|
|
39
|
-
toneMapped: false
|
|
40
|
-
}));
|
|
41
|
-
this.object = object;
|
|
42
|
-
this.color = color;
|
|
43
|
-
this.matrix = object.matrixWorld;
|
|
44
|
-
this.matrixAutoUpdate = false;
|
|
45
|
-
this.update();
|
|
46
|
-
}
|
|
47
|
-
update() {
|
|
48
|
-
if (this.object) {
|
|
49
|
-
this.position.copy(this.object.position);
|
|
50
|
-
this.scale.copy(this.object.scale);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
setColor(color) {
|
|
54
|
-
this.color = color;
|
|
55
|
-
this.material.color.set(this.color);
|
|
56
|
-
}
|
|
57
|
-
dispose() {
|
|
58
|
-
this.geometry.dispose();
|
|
59
|
-
this.material.dispose();
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=SphereHelper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SphereHelper.js","sourceRoot":"","sources":["../../src/helpers/SphereHelper.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,wFAAwF;AACxF,yFAAyF;AACzF,yFAAyF;AACzF,2FAA2F;AAC3F,2FAA2F;AAC3F,EAAE;AACF,EAAE;AACF,gCAAgC;AAChC,EAAE;AACF,6EAA6E;AAC7E,EAAE;AACF,gGAAgG;AAChG,oGAAoG;AACpG,wGAAwG;AACxG,wGAAwG;AACxG,uCAAuC;AACvC,EAAE;AACF,uGAAuG;AACvG,4BAA4B;AAC5B,EAAE;AACF,wGAAwG;AACxG,sGAAsG;AACtG,0GAA0G;AAC1G,sGAAsG;AACtG,yDAAyD;AACzD,8GAA8G;AAE9G,OAAO,EACH,YAAY,EACZ,iBAAiB,EACjB,cAAc,EAGjB,MAAM,OAAO,CAAC;AAEf,MAAM,OAAO,YAAa,SAAQ,YAAY;IACjC,IAAI,GAAW,cAAc,CAAC;IACvC,QAAQ,GAAY,IAAI,CAAC;IAEzB,MAAM,CAAW;IACjB,KAAK,CAAsB;IAE3B,YAAY,MAAgB,EAAE,QAA6B,QAAQ;QAC/D,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAEjD,KAAK,CAAC,QAAQ,EAAE,IAAI,iBAAiB,CAAC;YAClC,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,KAAK;YACV,UAAU,EAAE,KAAK;SACpB,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;QACjC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAE9B,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,MAAM;QACF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,KAA0B;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,QAA8B,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO;QACH,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,QAA8B,CAAC,OAAO,EAAE,CAAC;IACnD,CAAC;CAEJ"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
// -----------------------------------------------------------------------------------------------------------
|
|
2
|
-
// __ ______ __ __ ______ __ __ ______ ______ ______
|
|
3
|
-
// /\ \ /\ ___\ /\ "-./ \ /\ __ \ /\ "-.\ \ /\ __ \ /\__ _\ /\ ___\
|
|
4
|
-
// \ \ \____ \ \ __\ \ \ \-./\ \ \ \ \/\ \ \ \ \-. \ \ \ __ \ \/_/\ \/ \ \ __\
|
|
5
|
-
// \ \_____\ \ \_____\ \ \_\ \ \_\ \ \_____\ \ \_\\"\_\ \ \_\ \_\ \ \_\ \ \_____\
|
|
6
|
-
// \/_____/ \/_____/ \/_/ \/_/ \/_____/ \/_/ \/_/ \/_/\/_/ \/_/ \/_____/
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
// Copyright 2023- Luminocity AG
|
|
10
|
-
//
|
|
11
|
-
// "Do a barrel roll!" - Star Fox 64 (1997)
|
|
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 { BufferGeometry, Float32BufferAttribute, LineSegments, LineBasicMaterial, Vector3 } from 'three';
|
|
29
|
-
export class VertexNormalsHelper extends LineSegments {
|
|
30
|
-
type = 'VertexNormalsHelper';
|
|
31
|
-
isHelper = true;
|
|
32
|
-
object;
|
|
33
|
-
sizeFactor;
|
|
34
|
-
constructor(object, sizeFactor = 1, color = 0xff0000) {
|
|
35
|
-
const geometry = new BufferGeometry();
|
|
36
|
-
const nNormals = (object && object.geometry && object.geometry.attributes.normal) ? object.geometry.attributes.normal.count : 0;
|
|
37
|
-
const positions = new Float32BufferAttribute(nNormals * 2 * 3, 3);
|
|
38
|
-
geometry.setAttribute('position', positions);
|
|
39
|
-
super(geometry, new LineBasicMaterial({ color, toneMapped: false }));
|
|
40
|
-
this.object = object;
|
|
41
|
-
this.sizeFactor = sizeFactor;
|
|
42
|
-
this.matrixAutoUpdate = false;
|
|
43
|
-
this.update();
|
|
44
|
-
}
|
|
45
|
-
update() {
|
|
46
|
-
if (!this.object)
|
|
47
|
-
return;
|
|
48
|
-
const objGeometry = this.object.geometry;
|
|
49
|
-
if (!objGeometry)
|
|
50
|
-
return;
|
|
51
|
-
const objPos = objGeometry.attributes.position;
|
|
52
|
-
const objNorm = objGeometry.attributes.normal;
|
|
53
|
-
if (!objPos || !objNorm)
|
|
54
|
-
return;
|
|
55
|
-
const position = this.geometry.attributes.position;
|
|
56
|
-
let idx = 0;
|
|
57
|
-
// compute length of the normals based on objects bounding sphere
|
|
58
|
-
objGeometry.computeBoundingSphere();
|
|
59
|
-
const size = objGeometry.boundingSphere.radius * 0.05 * this.sizeFactor;
|
|
60
|
-
const v1 = new Vector3();
|
|
61
|
-
const v2 = new Vector3();
|
|
62
|
-
// for simplicity, ignore index and drawcalls, and render every normal
|
|
63
|
-
for (let j = 0, jl = objPos.count; j < jl; j++) {
|
|
64
|
-
v1.fromBufferAttribute(objPos, j);
|
|
65
|
-
v2.fromBufferAttribute(objNorm, j);
|
|
66
|
-
v2.multiplyScalar(size).add(v1);
|
|
67
|
-
position.setXYZ(idx, v1.x, v1.y, v1.z);
|
|
68
|
-
idx++;
|
|
69
|
-
position.setXYZ(idx, v2.x, v2.y, v2.z);
|
|
70
|
-
idx++;
|
|
71
|
-
}
|
|
72
|
-
position.needsUpdate = true;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=VertexNormalsHelper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VertexNormalsHelper.js","sourceRoot":"","sources":["../../src/helpers/VertexNormalsHelper.ts"],"names":[],"mappings":"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"}
|