@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,237 +0,0 @@
|
|
|
1
|
-
// -----------------------------------------------------------------------------------------------------------
|
|
2
|
-
// __ ______ __ __ ______ __ __ ______ ______ ______
|
|
3
|
-
// /\ \ /\ ___\ /\ "-./ \ /\ __ \ /\ "-.\ \ /\ __ \ /\__ _\ /\ ___\
|
|
4
|
-
// \ \ \____ \ \ __\ \ \ \-./\ \ \ \ \/\ \ \ \ \-. \ \ \ __ \ \/_/\ \/ \ \ __\
|
|
5
|
-
// \ \_____\ \ \_____\ \ \_\ \ \_\ \ \_____\ \ \_\\"\_\ \ \_\ \_\ \ \_\ \ \_____\
|
|
6
|
-
// \/_____/ \/_____/ \/_/ \/_/ \/_____/ \/_/ \/_/ \/_/\/_/ \/_/ \/_____/
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
// Copyright 2023- Luminocity AG
|
|
10
|
-
//
|
|
11
|
-
// "I need a weapon." - Resident Evil (1996)
|
|
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 { Camera, Vector3, LineSegments, Color, LineBasicMaterial, BufferGeometry, Float32BufferAttribute, Matrix4 } from 'three';
|
|
29
|
-
const _vector = /*@__PURE__*/ new Vector3();
|
|
30
|
-
const _camera = /*@__PURE__*/ new Camera();
|
|
31
|
-
/**
|
|
32
|
-
* - shows frustum, line of sight and up of the camera
|
|
33
|
-
* - suitable for fast updates
|
|
34
|
-
* - based on frustum visualization in lightgl.js shadowmap example
|
|
35
|
-
* https://github.com/evanw/lightgl.js/blob/master/tests/shadowmap.html
|
|
36
|
-
*/
|
|
37
|
-
export class CameraHelper extends LineSegments {
|
|
38
|
-
type = 'CameraHelper';
|
|
39
|
-
isHelper = true;
|
|
40
|
-
camera;
|
|
41
|
-
pointMap;
|
|
42
|
-
constructor(camera) {
|
|
43
|
-
const geometry = new BufferGeometry();
|
|
44
|
-
const material = new LineBasicMaterial({ color: 0xffffff, vertexColors: true, toneMapped: false });
|
|
45
|
-
const vertices = [];
|
|
46
|
-
const colors = [];
|
|
47
|
-
const pointMap = {};
|
|
48
|
-
// near
|
|
49
|
-
addLine('n1', 'n2');
|
|
50
|
-
addLine('n2', 'n4');
|
|
51
|
-
addLine('n4', 'n3');
|
|
52
|
-
addLine('n3', 'n1');
|
|
53
|
-
// far
|
|
54
|
-
addLine('f1', 'f2');
|
|
55
|
-
addLine('f2', 'f4');
|
|
56
|
-
addLine('f4', 'f3');
|
|
57
|
-
addLine('f3', 'f1');
|
|
58
|
-
// sides
|
|
59
|
-
addLine('n1', 'f1');
|
|
60
|
-
addLine('n2', 'f2');
|
|
61
|
-
addLine('n3', 'f3');
|
|
62
|
-
addLine('n4', 'f4');
|
|
63
|
-
// cone
|
|
64
|
-
addLine('p', 'n1');
|
|
65
|
-
addLine('p', 'n2');
|
|
66
|
-
addLine('p', 'n3');
|
|
67
|
-
addLine('p', 'n4');
|
|
68
|
-
// up
|
|
69
|
-
addLine('u1', 'u2');
|
|
70
|
-
addLine('u2', 'u3');
|
|
71
|
-
addLine('u3', 'u1');
|
|
72
|
-
// target
|
|
73
|
-
addLine('c', 't');
|
|
74
|
-
addLine('p', 'c');
|
|
75
|
-
// cross
|
|
76
|
-
addLine('cn1', 'cn2');
|
|
77
|
-
addLine('cn3', 'cn4');
|
|
78
|
-
addLine('cf1', 'cf2');
|
|
79
|
-
addLine('cf3', 'cf4');
|
|
80
|
-
function addLine(a, b) {
|
|
81
|
-
addPoint(a);
|
|
82
|
-
addPoint(b);
|
|
83
|
-
}
|
|
84
|
-
function addPoint(id) {
|
|
85
|
-
vertices.push(0, 0, 0);
|
|
86
|
-
colors.push(0, 0, 0);
|
|
87
|
-
if (pointMap[id] === undefined) {
|
|
88
|
-
pointMap[id] = [];
|
|
89
|
-
}
|
|
90
|
-
pointMap[id].push((vertices.length / 3) - 1);
|
|
91
|
-
}
|
|
92
|
-
geometry.setAttribute('position', new Float32BufferAttribute(vertices, 3));
|
|
93
|
-
geometry.setAttribute('color', new Float32BufferAttribute(colors, 3));
|
|
94
|
-
super(geometry, material);
|
|
95
|
-
this.camera = camera;
|
|
96
|
-
if (this.camera) {
|
|
97
|
-
if (this.camera.projectionMatrix)
|
|
98
|
-
this.camera.projectionMatrix;
|
|
99
|
-
this.matrix = camera.matrixWorld;
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
this.matrix = new Matrix4();
|
|
103
|
-
}
|
|
104
|
-
this.matrixAutoUpdate = false;
|
|
105
|
-
this.pointMap = pointMap;
|
|
106
|
-
this.update();
|
|
107
|
-
// colors
|
|
108
|
-
const colorFrustum = new Color(0xffaa00);
|
|
109
|
-
const colorCone = new Color(0xff0000);
|
|
110
|
-
const colorUp = new Color(0x00aaff);
|
|
111
|
-
const colorTarget = new Color(0xffffff);
|
|
112
|
-
const colorCross = new Color(0x333333);
|
|
113
|
-
this.setColors(colorFrustum, colorCone, colorUp, colorTarget, colorCross);
|
|
114
|
-
}
|
|
115
|
-
copy(source, recursive) {
|
|
116
|
-
this.camera = source.camera;
|
|
117
|
-
if (this.camera && this.camera.projectionMatrix)
|
|
118
|
-
this.camera.projectionMatrix;
|
|
119
|
-
if (this.camera)
|
|
120
|
-
this.matrix = this.camera.matrixWorld;
|
|
121
|
-
return this;
|
|
122
|
-
}
|
|
123
|
-
setColors(frustum, cone, up, target, cross) {
|
|
124
|
-
const geometry = this.geometry;
|
|
125
|
-
const colorAttribute = geometry.getAttribute('color');
|
|
126
|
-
// near
|
|
127
|
-
colorAttribute.setXYZ(0, frustum.r, frustum.g, frustum.b);
|
|
128
|
-
colorAttribute.setXYZ(1, frustum.r, frustum.g, frustum.b); // n1, n2
|
|
129
|
-
colorAttribute.setXYZ(2, frustum.r, frustum.g, frustum.b);
|
|
130
|
-
colorAttribute.setXYZ(3, frustum.r, frustum.g, frustum.b); // n2, n4
|
|
131
|
-
colorAttribute.setXYZ(4, frustum.r, frustum.g, frustum.b);
|
|
132
|
-
colorAttribute.setXYZ(5, frustum.r, frustum.g, frustum.b); // n4, n3
|
|
133
|
-
colorAttribute.setXYZ(6, frustum.r, frustum.g, frustum.b);
|
|
134
|
-
colorAttribute.setXYZ(7, frustum.r, frustum.g, frustum.b); // n3, n1
|
|
135
|
-
// far
|
|
136
|
-
colorAttribute.setXYZ(8, frustum.r, frustum.g, frustum.b);
|
|
137
|
-
colorAttribute.setXYZ(9, frustum.r, frustum.g, frustum.b); // f1, f2
|
|
138
|
-
colorAttribute.setXYZ(10, frustum.r, frustum.g, frustum.b);
|
|
139
|
-
colorAttribute.setXYZ(11, frustum.r, frustum.g, frustum.b); // f2, f4
|
|
140
|
-
colorAttribute.setXYZ(12, frustum.r, frustum.g, frustum.b);
|
|
141
|
-
colorAttribute.setXYZ(13, frustum.r, frustum.g, frustum.b); // f4, f3
|
|
142
|
-
colorAttribute.setXYZ(14, frustum.r, frustum.g, frustum.b);
|
|
143
|
-
colorAttribute.setXYZ(15, frustum.r, frustum.g, frustum.b); // f3, f1
|
|
144
|
-
// sides
|
|
145
|
-
colorAttribute.setXYZ(16, frustum.r, frustum.g, frustum.b);
|
|
146
|
-
colorAttribute.setXYZ(17, frustum.r, frustum.g, frustum.b); // n1, f1
|
|
147
|
-
colorAttribute.setXYZ(18, frustum.r, frustum.g, frustum.b);
|
|
148
|
-
colorAttribute.setXYZ(19, frustum.r, frustum.g, frustum.b); // n2, f2
|
|
149
|
-
colorAttribute.setXYZ(20, frustum.r, frustum.g, frustum.b);
|
|
150
|
-
colorAttribute.setXYZ(21, frustum.r, frustum.g, frustum.b); // n3, f3
|
|
151
|
-
colorAttribute.setXYZ(22, frustum.r, frustum.g, frustum.b);
|
|
152
|
-
colorAttribute.setXYZ(23, frustum.r, frustum.g, frustum.b); // n4, f4
|
|
153
|
-
// cone
|
|
154
|
-
colorAttribute.setXYZ(24, cone.r, cone.g, cone.b);
|
|
155
|
-
colorAttribute.setXYZ(25, cone.r, cone.g, cone.b); // p, n1
|
|
156
|
-
colorAttribute.setXYZ(26, cone.r, cone.g, cone.b);
|
|
157
|
-
colorAttribute.setXYZ(27, cone.r, cone.g, cone.b); // p, n2
|
|
158
|
-
colorAttribute.setXYZ(28, cone.r, cone.g, cone.b);
|
|
159
|
-
colorAttribute.setXYZ(29, cone.r, cone.g, cone.b); // p, n3
|
|
160
|
-
colorAttribute.setXYZ(30, cone.r, cone.g, cone.b);
|
|
161
|
-
colorAttribute.setXYZ(31, cone.r, cone.g, cone.b); // p, n4
|
|
162
|
-
// up
|
|
163
|
-
colorAttribute.setXYZ(32, up.r, up.g, up.b);
|
|
164
|
-
colorAttribute.setXYZ(33, up.r, up.g, up.b); // u1, u2
|
|
165
|
-
colorAttribute.setXYZ(34, up.r, up.g, up.b);
|
|
166
|
-
colorAttribute.setXYZ(35, up.r, up.g, up.b); // u2, u3
|
|
167
|
-
colorAttribute.setXYZ(36, up.r, up.g, up.b);
|
|
168
|
-
colorAttribute.setXYZ(37, up.r, up.g, up.b); // u3, u1
|
|
169
|
-
// target
|
|
170
|
-
colorAttribute.setXYZ(38, target.r, target.g, target.b);
|
|
171
|
-
colorAttribute.setXYZ(39, target.r, target.g, target.b); // c, t
|
|
172
|
-
colorAttribute.setXYZ(40, cross.r, cross.g, cross.b);
|
|
173
|
-
colorAttribute.setXYZ(41, cross.r, cross.g, cross.b); // p, c
|
|
174
|
-
// cross
|
|
175
|
-
colorAttribute.setXYZ(42, cross.r, cross.g, cross.b);
|
|
176
|
-
colorAttribute.setXYZ(43, cross.r, cross.g, cross.b); // cn1, cn2
|
|
177
|
-
colorAttribute.setXYZ(44, cross.r, cross.g, cross.b);
|
|
178
|
-
colorAttribute.setXYZ(45, cross.r, cross.g, cross.b); // cn3, cn4
|
|
179
|
-
colorAttribute.setXYZ(46, cross.r, cross.g, cross.b);
|
|
180
|
-
colorAttribute.setXYZ(47, cross.r, cross.g, cross.b); // cf1, cf2
|
|
181
|
-
colorAttribute.setXYZ(48, cross.r, cross.g, cross.b);
|
|
182
|
-
colorAttribute.setXYZ(49, cross.r, cross.g, cross.b); // cf3, cf4
|
|
183
|
-
colorAttribute.needsUpdate = true;
|
|
184
|
-
}
|
|
185
|
-
update() {
|
|
186
|
-
if (!this.camera)
|
|
187
|
-
return;
|
|
188
|
-
const geometry = this.geometry;
|
|
189
|
-
const pointMap = this.pointMap;
|
|
190
|
-
const w = 1, h = 1;
|
|
191
|
-
// we need just camera projection matrix inverse
|
|
192
|
-
// world matrix must be identity
|
|
193
|
-
_camera.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse);
|
|
194
|
-
// center / target
|
|
195
|
-
setPoint('c', pointMap, geometry, _camera, 0, 0, -1);
|
|
196
|
-
setPoint('t', pointMap, geometry, _camera, 0, 0, 1);
|
|
197
|
-
// near
|
|
198
|
-
setPoint('n1', pointMap, geometry, _camera, -w, -h, -1);
|
|
199
|
-
setPoint('n2', pointMap, geometry, _camera, w, -h, -1);
|
|
200
|
-
setPoint('n3', pointMap, geometry, _camera, -w, h, -1);
|
|
201
|
-
setPoint('n4', pointMap, geometry, _camera, w, h, -1);
|
|
202
|
-
// far
|
|
203
|
-
setPoint('f1', pointMap, geometry, _camera, -w, -h, 1);
|
|
204
|
-
setPoint('f2', pointMap, geometry, _camera, w, -h, 1);
|
|
205
|
-
setPoint('f3', pointMap, geometry, _camera, -w, h, 1);
|
|
206
|
-
setPoint('f4', pointMap, geometry, _camera, w, h, 1);
|
|
207
|
-
// up
|
|
208
|
-
setPoint('u1', pointMap, geometry, _camera, w * 0.7, h * 1.1, -1);
|
|
209
|
-
setPoint('u2', pointMap, geometry, _camera, -w * 0.7, h * 1.1, -1);
|
|
210
|
-
setPoint('u3', pointMap, geometry, _camera, 0, h * 2, -1);
|
|
211
|
-
// cross
|
|
212
|
-
setPoint('cf1', pointMap, geometry, _camera, -w, 0, 1);
|
|
213
|
-
setPoint('cf2', pointMap, geometry, _camera, w, 0, 1);
|
|
214
|
-
setPoint('cf3', pointMap, geometry, _camera, 0, -h, 1);
|
|
215
|
-
setPoint('cf4', pointMap, geometry, _camera, 0, h, 1);
|
|
216
|
-
setPoint('cn1', pointMap, geometry, _camera, -w, 0, -1);
|
|
217
|
-
setPoint('cn2', pointMap, geometry, _camera, w, 0, -1);
|
|
218
|
-
setPoint('cn3', pointMap, geometry, _camera, 0, -h, -1);
|
|
219
|
-
setPoint('cn4', pointMap, geometry, _camera, 0, h, -1);
|
|
220
|
-
geometry.getAttribute('position').needsUpdate = true;
|
|
221
|
-
}
|
|
222
|
-
dispose() {
|
|
223
|
-
this.geometry.dispose();
|
|
224
|
-
this.material.dispose();
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
function setPoint(point, pointMap, geometry, camera, x, y, z) {
|
|
228
|
-
_vector.set(x, y, z).unproject(camera);
|
|
229
|
-
const points = pointMap[point];
|
|
230
|
-
if (points !== undefined) {
|
|
231
|
-
const position = geometry.getAttribute('position');
|
|
232
|
-
for (let i = 0, l = points.length; i < l; i++) {
|
|
233
|
-
position.setXYZ(points[i], _vector.x, _vector.y, _vector.z);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
//# sourceMappingURL=CameraHelper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CameraHelper.js","sourceRoot":"","sources":["../../src/helpers/CameraHelper.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
|
-
// "You spoony bard!" - Final Fantasy IV (1991)
|
|
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 FaceNormalsHelper extends LineSegments {
|
|
30
|
-
type = 'FaceNormalsHelper';
|
|
31
|
-
isHelper = true;
|
|
32
|
-
object;
|
|
33
|
-
sizeFactor;
|
|
34
|
-
constructor(object, sizeFactor = 1, color = 0x3399ff) {
|
|
35
|
-
const geometry = new BufferGeometry();
|
|
36
|
-
const indexCount = (object && object.geometry && object.geometry.index) ? object.geometry.index.count : 0;
|
|
37
|
-
const faceCount = indexCount / 3;
|
|
38
|
-
const positions = new Float32BufferAttribute(faceCount * 2 * 3, 3);
|
|
39
|
-
geometry.setAttribute('position', positions);
|
|
40
|
-
super(geometry, new LineBasicMaterial({ color, toneMapped: false }));
|
|
41
|
-
this.object = object;
|
|
42
|
-
this.sizeFactor = sizeFactor;
|
|
43
|
-
this.matrixAutoUpdate = false;
|
|
44
|
-
this.update();
|
|
45
|
-
}
|
|
46
|
-
update() {
|
|
47
|
-
if (!this.object || !this.object.geometry || !this.object.geometry.index)
|
|
48
|
-
return;
|
|
49
|
-
const geometry = this.object.geometry;
|
|
50
|
-
const index = geometry.index.array;
|
|
51
|
-
const posAttr = geometry.attributes.position;
|
|
52
|
-
const faceCount = index.length / 3;
|
|
53
|
-
// Allocate space for 2 points per face (start and end of normal line)
|
|
54
|
-
const position = new Float32BufferAttribute(faceCount * 2 * 3, 3);
|
|
55
|
-
this.geometry.setAttribute('position', position);
|
|
56
|
-
// Compute normal length based on bounding sphere radius to obtain normalised normal vectors
|
|
57
|
-
geometry.computeBoundingSphere();
|
|
58
|
-
const size = geometry.boundingSphere.radius * 0.05 * this.sizeFactor;
|
|
59
|
-
// Vectors for triangle vertices and normal computation
|
|
60
|
-
const a = new Vector3(), b = new Vector3(), c = new Vector3();
|
|
61
|
-
const cb = new Vector3(), ab = new Vector3();
|
|
62
|
-
const center = new Vector3();
|
|
63
|
-
const normal = new Vector3();
|
|
64
|
-
let idx = 0;
|
|
65
|
-
for (let i = 0; i < index.length; i += 3) {
|
|
66
|
-
// Get triangle vertices a, b, c
|
|
67
|
-
a.fromBufferAttribute(posAttr, index[i]);
|
|
68
|
-
b.fromBufferAttribute(posAttr, index[i + 1]);
|
|
69
|
-
c.fromBufferAttribute(posAttr, index[i + 2]);
|
|
70
|
-
// Compute face normal: normalize(c - b x a - b)
|
|
71
|
-
cb.subVectors(c, b);
|
|
72
|
-
ab.subVectors(a, b);
|
|
73
|
-
cb.cross(ab).normalize();
|
|
74
|
-
// Compute triangle center
|
|
75
|
-
center.addVectors(a, b).add(c).divideScalar(3);
|
|
76
|
-
// Compute end point of normal line
|
|
77
|
-
normal.copy(cb).multiplyScalar(size).add(center);
|
|
78
|
-
// Write line segment to buffer (start at center, end at normal tip)
|
|
79
|
-
position.setXYZ(idx++, center.x, center.y, center.z);
|
|
80
|
-
position.setXYZ(idx++, normal.x, normal.y, normal.z);
|
|
81
|
-
}
|
|
82
|
-
position.needsUpdate = true;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=FaceNormalsHelper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FaceNormalsHelper.js","sourceRoot":"","sources":["../../src/helpers/FaceNormalsHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
// -----------------------------------------------------------------------------------------------------------
|
|
2
|
-
// __ ______ __ __ ______ __ __ ______ ______ ______
|
|
3
|
-
// /\ \ /\ ___\ /\ "-./ \ /\ __ \ /\ "-.\ \ /\ __ \ /\__ _\ /\ ___\
|
|
4
|
-
// \ \ \____ \ \ __\ \ \ \-./\ \ \ \ \/\ \ \ \ \-. \ \ \ __ \ \/_/\ \/ \ \ __\
|
|
5
|
-
// \ \_____\ \ \_____\ \ \_\ \ \_\ \ \_____\ \ \_\\"\_\ \ \_\ \_\ \ \_\ \ \_____\
|
|
6
|
-
// \/_____/ \/_____/ \/_/ \/_/ \/_____/ \/_/ \/_/ \/_/\/_/ \/_/ \/_____/
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
// Copyright 2023- Luminocity AG
|
|
10
|
-
//
|
|
11
|
-
// "Hadouken!" - Street Fighter series (1987–)
|
|
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 { Mesh, LineSegments, EdgesGeometry, LineBasicMaterial, Box3, Vector3, BufferGeometry } from 'three';
|
|
29
|
-
import { mergeGeometries } from '../tools/GeometryTools';
|
|
30
|
-
export class MeshHelper extends LineSegments {
|
|
31
|
-
type = 'MeshHelper';
|
|
32
|
-
isHelper = true;
|
|
33
|
-
object;
|
|
34
|
-
object3D;
|
|
35
|
-
color;
|
|
36
|
-
edgeThreshold;
|
|
37
|
-
constructor(object, object3D, color = 0xffffff, edgeThreshold = 15) {
|
|
38
|
-
// Create initial dummy geometry that will be later be filled in
|
|
39
|
-
const geometry = new BufferGeometry();
|
|
40
|
-
const material = new LineBasicMaterial({ color: color });
|
|
41
|
-
super(geometry, material);
|
|
42
|
-
this.object = object;
|
|
43
|
-
this.object3D = object3D;
|
|
44
|
-
this.color = color;
|
|
45
|
-
this.edgeThreshold = edgeThreshold;
|
|
46
|
-
this.update();
|
|
47
|
-
}
|
|
48
|
-
update() {
|
|
49
|
-
if (!this.object3D)
|
|
50
|
-
return;
|
|
51
|
-
const geometries = [];
|
|
52
|
-
this.object3D.traverse(child => {
|
|
53
|
-
if (child instanceof Mesh && child.geometry) {
|
|
54
|
-
const edgesGeometry = new EdgesGeometry(child.geometry, this.edgeThreshold);
|
|
55
|
-
geometries.push(edgesGeometry);
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
this.geometry.dispose();
|
|
59
|
-
const mergedGeometry = mergeGeometries(geometries, false);
|
|
60
|
-
if (mergedGeometry) {
|
|
61
|
-
this.geometry = mergedGeometry;
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
// If no geometries to merge, create an empty geometry
|
|
65
|
-
this.geometry = new BufferGeometry();
|
|
66
|
-
}
|
|
67
|
-
const box = new Box3().setFromObject(this.object);
|
|
68
|
-
const center = new Vector3();
|
|
69
|
-
box.getCenter(center);
|
|
70
|
-
this.position.copy(center);
|
|
71
|
-
this.scale.copy(this.object.scale);
|
|
72
|
-
}
|
|
73
|
-
setColor(newColor) {
|
|
74
|
-
this.color = newColor;
|
|
75
|
-
if (this.material instanceof LineBasicMaterial) {
|
|
76
|
-
this.material.color.set(newColor);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
setEdgeThreshold(threshold) {
|
|
80
|
-
this.edgeThreshold = threshold;
|
|
81
|
-
this.update();
|
|
82
|
-
}
|
|
83
|
-
dispose() {
|
|
84
|
-
if (this.geometry) {
|
|
85
|
-
this.geometry.dispose();
|
|
86
|
-
}
|
|
87
|
-
if (this.material) {
|
|
88
|
-
this.material.dispose();
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=MeshHelper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MeshHelper.js","sourceRoot":"","sources":["../../src/helpers/MeshHelper.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,wFAAwF;AACxF,yFAAyF;AACzF,yFAAyF;AACzF,2FAA2F;AAC3F,2FAA2F;AAC3F,EAAE;AACF,EAAE;AACF,gCAAgC;AAChC,EAAE;AACF,8CAA8C;AAC9C,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,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,IAAI,EACJ,OAAO,EACP,cAAc,EAGjB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,OAAO,UAAW,SAAQ,YAAY;IAC/B,IAAI,GAAW,YAAY,CAAC;IACrC,QAAQ,GAAY,IAAI,CAAC;IAEzB,MAAM,CAAW;IACjB,QAAQ,CAAW;IACnB,KAAK,CAAsB;IAC3B,aAAa,CAAS;IAEtB,YAAY,MAAgB,EAAE,QAAkB,EAAE,QAA6B,QAAQ,EAAE,gBAAwB,EAAE;QAC/G,gEAAgE;QAChE,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAEzD,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,MAAM;QACF,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE3B,MAAM,UAAU,GAAqB,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC1C,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC5E,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACnC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,cAAc,GAAG,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,cAAc,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,sDAAsD;YACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;QACzC,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC7B,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,QAAQ,CAAC,QAA6B;QAClC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,IAAI,IAAI,CAAC,QAAQ,YAAY,iBAAiB,EAAE,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,SAAiB;QAC9B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,OAAO;QACH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,IAAI,CAAC,QAA8B,CAAC,OAAO,EAAE,CAAC;QACnD,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
// -----------------------------------------------------------------------------------------------------------
|
|
2
|
-
// __ ______ __ __ ______ __ __ ______ ______ ______
|
|
3
|
-
// /\ \ /\ ___\ /\ "-./ \ /\ __ \ /\ "-.\ \ /\ __ \ /\__ _\ /\ ___\
|
|
4
|
-
// \ \ \____ \ \ __\ \ \ \-./\ \ \ \ \/\ \ \ \ \-. \ \ \ __ \ \/_/\ \/ \ \ __\
|
|
5
|
-
// \ \_____\ \ \_____\ \ \_\ \ \_\ \ \_____\ \ \_\\"\_\ \ \_\ \_\ \ \_\ \ \_____\
|
|
6
|
-
// \/_____/ \/_____/ \/_/ \/_/ \/_____/ \/_/ \/_/ \/_/\/_/ \/_/ \/_____/
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
// Copyright 2023- Luminocity AG
|
|
10
|
-
//
|
|
11
|
-
// "Press F to pay respects." - Call of Duty: Advanced Warfare (2014)
|
|
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, Float32BufferAttribute, BufferGeometry, Color } from 'three';
|
|
29
|
-
export class MultiGridHelper extends LineSegments {
|
|
30
|
-
type = 'GridHelper';
|
|
31
|
-
isHelper = true;
|
|
32
|
-
constructor(size = 10, divisions = 10, color1, color2, skipCenterAndTenth) {
|
|
33
|
-
const colorOne = new Color(color1 !== undefined ? color1 : 0x444444);
|
|
34
|
-
const colorTwo = new Color(color2 !== undefined ? color2 : 0x888888);
|
|
35
|
-
const center = divisions / 2;
|
|
36
|
-
const step = size / divisions;
|
|
37
|
-
const halfSize = size / 2;
|
|
38
|
-
const vertices = [], colors = [];
|
|
39
|
-
for (let i = 0, j = 0, k = -halfSize; i <= divisions; i++, k += step) {
|
|
40
|
-
if (skipCenterAndTenth && (i % 10 === 0 || i === center))
|
|
41
|
-
continue;
|
|
42
|
-
vertices.push(-halfSize, 0, k, halfSize, -0.005, k);
|
|
43
|
-
vertices.push(k, 0, -halfSize, k, -0.005, halfSize);
|
|
44
|
-
const color = i === center ? colorOne : colorTwo;
|
|
45
|
-
color.toArray(colors, j);
|
|
46
|
-
j += 3;
|
|
47
|
-
color.toArray(colors, j);
|
|
48
|
-
j += 3;
|
|
49
|
-
color.toArray(colors, j);
|
|
50
|
-
j += 3;
|
|
51
|
-
color.toArray(colors, j);
|
|
52
|
-
j += 3;
|
|
53
|
-
}
|
|
54
|
-
const geometry = new BufferGeometry();
|
|
55
|
-
geometry.setAttribute('position', new Float32BufferAttribute(vertices, 3));
|
|
56
|
-
geometry.setAttribute('color', new Float32BufferAttribute(colors, 3));
|
|
57
|
-
const material = new LineBasicMaterial({ vertexColors: true, toneMapped: false });
|
|
58
|
-
super(geometry, material);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=MultiGridHelper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MultiGridHelper.js","sourceRoot":"","sources":["../../src/helpers/MultiGridHelper.ts"],"names":[],"mappings":"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"}
|