@divinevoxel/vlox 0.0.4 → 0.0.5
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/Cache/Cache.types.d.ts +3 -3
- package/Contexts/Base/Main/DataGenerator.types.d.ts +5 -0
- package/Contexts/Base/Main/{Generator/InitDataGenerator.d.ts → InitDataGenerator.d.ts} +1 -1
- package/Contexts/Base/Main/InitDataGenerator.js +19 -0
- package/Contexts/Base/Remote/DataSync.types.d.ts +18 -0
- package/Contexts/Base/Remote/InitDataSync.js +42 -0
- package/Contexts/Base/Remote/InitWorldDataSync.js +19 -0
- package/Contexts/Base/ThreadManager.d.ts +6 -11
- package/Contexts/Base/ThreadManager.js +31 -30
- package/Contexts/Constructor/DivineVoxelEngineConstructor.d.ts +0 -2
- package/Contexts/Constructor/DivineVoxelEngineConstructor.js +0 -2
- package/Contexts/Nexus/DivineVoxelEngineNexus.d.ts +0 -2
- package/Contexts/Nexus/DivineVoxelEngineNexus.js +0 -6
- package/Contexts/Nexus/NexusTheads.js +1 -4
- package/Contexts/Render/DVERenderThreads.d.ts +0 -3
- package/Contexts/Render/DVERenderThreads.js +1 -7
- package/Contexts/Render/DivineVoxelEngineRender.d.ts +28 -9
- package/Contexts/Render/DivineVoxelEngineRender.js +2 -4
- package/Contexts/World/DivineVoxelEngineWorld.d.ts +28 -10
- package/Contexts/World/DivineVoxelEngineWorld.js +0 -26
- package/Contexts/World/WorldThreads.d.ts +1 -2
- package/Contexts/World/WorldThreads.js +1 -4
- package/Data/Cursor/{Interfaces/DataCursor.interface.d.ts → DataCursor.interface.d.ts} +1 -1
- package/Data/Structs/{Builder/StructBuilder.d.ts → StructBuilder.d.ts} +5 -3
- package/Init/StartConstructor.js +23 -19
- package/Init/StartNexus.js +12 -9
- package/Init/StartRenderer.d.ts +2 -12
- package/Init/StartRenderer.js +22 -45
- package/Init/StartWorld.d.ts +4 -1
- package/Init/StartWorld.js +22 -97
- package/Math/Indexing.d.ts +12 -0
- package/Math/Indexing.js +58 -0
- package/Math/index.d.ts +8 -11
- package/Math/index.js +2 -11
- package/Mesher/Functions/CompactMesh.d.ts +2 -3
- package/Mesher/Functions/CompactMesh.js +36 -31
- package/Mesher/Functions/CompactVoxelMesh.d.ts +1 -1
- package/Mesher/Functions/CompactVoxelMesh.js +82 -107
- package/Mesher/Functions/MeshSection.d.ts +3 -0
- package/Mesher/Functions/MeshSection.js +113 -0
- package/Mesher/Functions/MeshTexture.d.ts +1 -0
- package/Mesher/Functions/MeshTexture.js +275 -0
- package/Mesher/Functions/MeshVoxel.d.ts +3 -0
- package/Mesher/Functions/MeshVoxel.js +43 -0
- package/Mesher/Geomtry/Geometry.types.d.ts +11 -0
- package/Mesher/Geomtry/Geometry.types.js +13 -0
- package/Mesher/Geomtry/GeometryNormals.d.ts +10 -0
- package/Mesher/Geomtry/GeometryNormals.js +52 -0
- package/Mesher/Geomtry/Mesh.d.ts +11 -0
- package/Mesher/Geomtry/Mesh.js +23 -0
- package/Mesher/Geomtry/MeshData.types.d.ts +13 -0
- package/Mesher/Geomtry/MeshData.types.js +6 -0
- package/Mesher/Geomtry/Primitives/Quad.d.ts +38 -0
- package/Mesher/Geomtry/Primitives/Quad.js +224 -0
- package/Mesher/Geomtry/Primitives/QuadVertexData.d.ts +66 -0
- package/Mesher/Geomtry/Primitives/QuadVertexData.js +349 -0
- package/Mesher/Geomtry/Primitives/index.d.ts +2 -0
- package/Mesher/Geomtry/Primitives/index.js +2 -0
- package/Mesher/Geomtry/Tools/MesherDataTools.d.ts +7 -0
- package/Mesher/Geomtry/Tools/MesherDataTools.js +12 -0
- package/Mesher/Geomtry/Tools/index.d.ts +1 -0
- package/Mesher/Geomtry/Tools/index.js +1 -0
- package/Mesher/Geomtry/VoxelGeometryBuilder.d.ts +6 -0
- package/Mesher/Geomtry/VoxelGeometryBuilder.js +242 -0
- package/Mesher/Geomtry/index.d.ts +2 -0
- package/Mesher/Geomtry/index.js +2 -0
- package/Mesher/InitMesher.d.ts +2 -0
- package/Mesher/InitMesher.js +23 -0
- package/Mesher/InitTask.d.ts +2 -0
- package/Mesher/InitTask.js +44 -0
- package/Mesher/Models/Common/BoxGeometryNode.d.ts +2 -2
- package/Mesher/Models/Common/BoxGeometryNode.js +61 -56
- package/Mesher/Models/Common/Calc/CalcConstants.d.ts +2 -2
- package/Mesher/Models/Common/Calc/CalcConstants.js +8 -7
- package/Mesher/Models/Common/Calc/FaceDataCalc.js +5 -4
- package/Mesher/Models/Common/QuadGeometryNode.d.ts +2 -2
- package/Mesher/Models/Common/QuadGeometryNode.js +1 -1
- package/Mesher/Models/Nodes/Custom/Liquid/FlowGradient.d.ts +10 -5
- package/Mesher/Models/Nodes/Custom/Liquid/FlowGradient.js +148 -57
- package/Mesher/Models/Nodes/Custom/Liquid/LiquidGeomtryNode.d.ts +1 -1
- package/Mesher/Models/Nodes/Custom/Liquid/LiquidGeomtryNode.js +59 -116
- package/Mesher/Models/Nodes/GeometryNode.d.ts +1 -1
- package/Mesher/Models/Nodes/Ruled/BoxVoxelGeometryNode.d.ts +4 -2
- package/Mesher/Models/Nodes/Ruled/BoxVoxelGeometryNode.js +9 -8
- package/Mesher/Models/Nodes/Ruled/QuadVoxelGeometryNode.d.ts +4 -2
- package/Mesher/Models/Nodes/Ruled/QuadVoxelGeometryNode.js +9 -8
- package/Mesher/Models/Nodes/Ruleless/RulelessBoxVoxelGeometryNode.d.ts +10 -3
- package/Mesher/Models/Nodes/Ruleless/RulelessBoxVoxelGeometryNode.js +9 -8
- package/Mesher/Models/Nodes/Ruleless/RulelessQuadVoxelGeometryNode.d.ts +4 -2
- package/Mesher/Models/Nodes/Ruleless/RulelessQuadVoxelGeometryNode.js +9 -8
- package/Mesher/Models/Nodes/VoxelGeometryConstructor.d.ts +2 -2
- package/Mesher/Models/Nodes/VoxelGeometryConstructor.js +1 -1
- package/Mesher/Models/VoxelConstructor.d.ts +3 -3
- package/Mesher/Models/VoxelConstructor.js +1 -1
- package/Mesher/Models/VoxelGeometryLookUp.d.ts +2 -2
- package/Mesher/Models/VoxelGeometryLookUp.js +2 -2
- package/Mesher/Models/VoxelModelConstructorRegister.d.ts +4 -4
- package/Mesher/Models/VoxelModelConstructorRegister.js +1 -1
- package/Mesher/RenderedMaterials.d.ts +6 -0
- package/Mesher/RenderedMaterials.js +12 -0
- package/Mesher/Tools/OutlinedVoxelTool.d.ts +2 -11
- package/Mesher/Tools/OutlinedVoxelTool.js +69 -39
- package/Mesher/Tools/VoxelMeshBVHBuilder.d.ts +1 -1
- package/Mesher/Tools/VoxelMeshBVHBuilder.js +3 -3
- package/Mesher/Tools/VoxelMeshVertexStructCursor.d.ts +1 -1
- package/Mesher/Tools/VoxelMesherDataTool.d.ts +23 -17
- package/Mesher/Tools/VoxelMesherDataTool.js +28 -61
- package/Mesher/Types/Mesher.types.d.ts +8 -12
- package/Models/Defaults/CubeVoxelModels.js +26 -26
- package/Models/Defaults/PanelVoxelModels.js +24 -24
- package/Models/Input/BoxVoxelGometryInputs.d.ts +5 -3
- package/Models/Input/BoxVoxelGometryInputs.js +5 -5
- package/Models/Input/QuadVoxelGometryInputs.d.ts +1 -1
- package/Models/Rules/Classes/OcclusionFace.js +1 -1
- package/Models/Rules/Classes/VoxelRulesGeometry.d.ts +3 -3
- package/Models/Rules/Functions/BuildGeomtryInputs.js +44 -37
- package/Models/Rules/Functions/GetOcclusionFaces.d.ts +2 -2
- package/Models/Rules/Functions/GetOcclusionFaces.js +1 -1
- package/Models/Shared/Transform.d.ts +2 -2
- package/Models/Shared/Transform.js +4 -6
- package/Models/VoxelModel.types.d.ts +1 -1
- package/Renderer/Classes/DVESectionMeshInterface.d.ts +3 -0
- package/Renderer/Classes/DVESectionMeshes.d.ts +6 -0
- package/Renderer/Classes/DVESectionMeshes.js +2 -0
- package/Renderer/Classes/SectionMesh.d.ts +13 -0
- package/Renderer/Classes/SectionMesh.js +26 -0
- package/Renderer/Classes/SectorMesh.d.ts +11 -0
- package/Renderer/Classes/SectorMesh.js +33 -0
- package/Renderer/DVERenderNode.types.d.ts +1 -1
- package/Renderer/DVERenderer.d.ts +2 -2
- package/Renderer/InitTasks.d.ts +2 -0
- package/Renderer/InitTasks.js +19 -0
- package/Renderer/MeshManager.d.ts +5 -7
- package/Renderer/MeshManager.js +27 -52
- package/Renderer/MeshRegister.d.ts +14 -27
- package/Renderer/MeshRegister.js +38 -164
- package/Renderer/Renderer.types.d.ts +21 -0
- package/Renderer/index.d.ts +4 -0
- package/Renderer/index.js +4 -0
- package/Settings/EngineSettings.d.ts +19 -21
- package/Settings/EngineSettings.js +15 -43
- package/Settings/EngineSettings.types.d.ts +8 -35
- package/Settings/EngineSettings.types.js +8 -35
- package/Tasks/IWG/IWG.d.ts +25 -0
- package/Tasks/IWG/IWG.js +89 -0
- package/Tasks/IWG/Internal/Classes/DimensionSegment.d.ts +37 -0
- package/Tasks/IWG/Internal/Classes/DimensionSegment.js +67 -0
- package/Tasks/IWG/Internal/Classes/Generator.d.ts +27 -0
- package/Tasks/IWG/Internal/Classes/Generator.js +41 -0
- package/Tasks/IWG/Internal/Classes/IWGTaskBase.d.ts +15 -0
- package/Tasks/IWG/Internal/Classes/IWGTaskBase.js +62 -0
- package/Tasks/IWG/Internal/Classes/SectorState.d.ts +11 -0
- package/Tasks/IWG/Internal/Classes/SectorState.js +20 -0
- package/Tasks/IWG/Internal/Classes/SectorVisistedMap.d.ts +9 -0
- package/Tasks/IWG/Internal/Classes/SectorVisistedMap.js +24 -0
- package/Tasks/IWG/Internal/Functions/cullSectors.d.ts +2 -0
- package/Tasks/IWG/Internal/Functions/cullSectors.js +112 -0
- package/Tasks/IWG/Internal/Functions/getSectorState.d.ts +4 -0
- package/Tasks/IWG/Internal/Functions/getSectorState.js +42 -0
- package/Tasks/IWG/Internal/Functions/runBuildUpdate.d.ts +2 -0
- package/Tasks/IWG/Internal/Functions/runBuildUpdate.js +52 -0
- package/Tasks/IWG/Internal/Functions/runWorldUpdate.d.ts +2 -0
- package/Tasks/IWG/Internal/Functions/runWorldUpdate.js +71 -0
- package/Tasks/IWG/Internal/IWGDimensions.d.ts +6 -0
- package/Tasks/IWG/Internal/IWGDimensions.js +17 -0
- package/Tasks/IWG/Internal/IWGTasks.d.ts +34 -0
- package/Tasks/IWG/Internal/IWGTasks.js +154 -0
- package/Tasks/IWG/Internal/IWGTools.d.ts +8 -0
- package/Tasks/IWG/Internal/IWGTools.js +5 -0
- package/Tasks/IWG/Internal/TaskRegister.d.ts +7 -0
- package/Tasks/IWG/Internal/TaskRegister.js +14 -0
- package/Tasks/IWG/Procedures/InitalLoad.d.ts +10 -0
- package/Tasks/IWG/Procedures/InitalLoad.js +53 -0
- package/Tasks/IWG/Procedures/SaveAllSectors.d.ts +5 -0
- package/Tasks/IWG/Procedures/SaveAllSectors.js +20 -0
- package/Tasks/IWG/index.d.ts +2 -1
- package/Tasks/IWG/index.js +2 -1
- package/Tasks/Propagation/Explosion/ExplosionManager.js +26 -26
- package/Tasks/Propagation/Flow/FlowManager.d.ts +9 -51
- package/Tasks/Propagation/Flow/FlowManager.js +96 -108
- package/Tasks/Propagation/Flow/{Functions/FlowRemove.d.ts → FlowRemove.d.ts} +1 -1
- package/Tasks/Propagation/Flow/FlowRemove.js +157 -0
- package/Tasks/Propagation/Flow/{Functions/FlowUpdate.d.ts → FlowUpdate.d.ts} +1 -1
- package/Tasks/Propagation/Flow/FlowUpdate.js +98 -0
- package/Tasks/Propagation/Flow/WorldFlow.d.ts +2 -0
- package/Tasks/Propagation/Flow/WorldFlow.js +153 -0
- package/Tasks/Propagation/Illumanation/CommonFunctions.d.ts +104 -0
- package/Tasks/Propagation/Illumanation/CommonFunctions.js +280 -0
- package/Tasks/Propagation/Illumanation/{Functions/RGBUpdate.d.ts → RGBUpdate.d.ts} +1 -1
- package/Tasks/Propagation/Illumanation/{Functions/RGBUpdate.js → RGBUpdate.js} +8 -8
- package/Tasks/Propagation/Illumanation/{Functions/SunUpdate.d.ts → SunUpdate.d.ts} +1 -1
- package/Tasks/Propagation/Illumanation/{Functions/SunUpdate.js → SunUpdate.js} +11 -11
- package/Tasks/Propagation/Illumanation/WorldRGB.d.ts +2 -0
- package/Tasks/Propagation/Illumanation/WorldRGB.js +44 -0
- package/Tasks/Propagation/Illumanation/WorldSun.d.ts +2 -0
- package/Tasks/Propagation/Illumanation/WorldSun.js +119 -0
- package/Tasks/Propagation/InitTasks.js +32 -16
- package/Tasks/Propagation/index.d.ts +2 -1
- package/Tasks/Propagation/index.js +2 -1
- package/Tasks/Tasks.types.d.ts +6 -77
- package/Tasks/TasksIds.d.ts +3 -3
- package/Tasks/TasksIds.js +3 -3
- package/Tasks/Update/InitTasks.js +9 -24
- package/Tasks/Update/UpdateTask.d.ts +2 -2
- package/Tasks/Update/UpdateTask.js +18 -17
- package/Tasks/Update/VoxelUpdate.d.ts +3 -2
- package/Tasks/Update/VoxelUpdate.js +23 -19
- package/Tasks/WorldGeneration/InitTasks.js +2 -10
- package/Tasks/WorldGeneration/WorldGenBrush.d.ts +3 -3
- package/Tasks/WorldGeneration/WorldGenBrush.js +20 -27
- package/Tasks/WorldGeneration/WorldGenRegister.d.ts +2 -2
- package/Tasks/WorldGeneration/WorldGenRegister.js +30 -40
- package/Tasks/WorldGeneration/WorldGeneration.d.ts +1 -1
- package/Tasks/WorldGeneration/WorldGeneration.js +15 -11
- package/{Data/Cursor/Template → Templates/Cursor}/TemplateCursor.d.ts +1 -1
- package/{Data/Cursor/Template → Templates/Cursor}/TemplateCursor.js +1 -1
- package/{Data/Cursor/Template → Templates/Cursor}/TemplateVoxelCursor.d.ts +2 -1
- package/{Data/Cursor/Template → Templates/Cursor}/TemplateVoxelCursor.js +4 -1
- package/Templates/FullVoxelTemplate.d.ts +1 -0
- package/Templates/FullVoxelTemplate.js +14 -7
- package/Templates/Functions/CreateTemplate.js +58 -37
- package/Templates/Functions/FlipTemplate.js +4 -0
- package/Templates/Functions/RotateTemplate.js +4 -0
- package/Templates/VoxelTemplate.d.ts +5 -2
- package/Templates/VoxelTemplate.js +33 -18
- package/Templates/VoxelTemplates.types.d.ts +5 -7
- package/Textures/Texture.types.d.ts +1 -0
- package/Textures/TextureManager.d.ts +4 -5
- package/Textures/TextureManager.js +3 -1
- package/Textures/TextureRegister.d.ts +9 -10
- package/Textures/TextureRegister.js +12 -12
- package/Textures/index.d.ts +1 -0
- package/Textures/index.js +1 -0
- package/Tools/Brush/AdvancedBrushTool.d.ts +2 -1
- package/Tools/Brush/AdvancedBrushTool.js +12 -15
- package/Tools/Brush/Brush.d.ts +4 -4
- package/Tools/Brush/Brush.js +22 -22
- package/Tools/Data/SubstanceDataTool.d.ts +2 -1
- package/Tools/Data/SubstanceDataTool.js +6 -5
- package/Tools/Tasks/TasksTool.d.ts +43 -88
- package/Tools/Tasks/TasksTool.js +97 -212
- package/Util/BinaryObject.d.ts +2 -0
- package/Util/BinaryObject.js +14 -0
- package/Util/Environment.d.ts +4 -0
- package/Util/Environment.js +10 -0
- package/Util/TypedEventTarget.d.ts +5 -0
- package/Util/TypedEventTarget.js +12 -0
- package/Util/Util.types.d.ts +0 -2
- package/{Data → Voxels}/Cursor/VoxelCursor.d.ts +3 -3
- package/{Data/Cursor/Interfaces → Voxels/Cursor}/VoxelCursor.interface.d.ts +14 -7
- package/{Data/Cursor/Interfaces → Voxels/Cursor}/VoxelCursor.interface.js +57 -44
- package/{Data → Voxels}/Cursor/VoxelCursor.js +7 -8
- package/Voxels/Cursor/VoxelLightData.d.ts +45 -0
- package/Voxels/Cursor/VoxelLightData.js +146 -0
- package/Voxels/Effects/VoxelEffect.d.ts +4 -4
- package/Voxels/Functions/BuildStateData.js +1 -1
- package/Voxels/Indexes/VoxelIndex.d.ts +2 -2
- package/Voxels/Indexes/VoxelIndex.js +6 -6
- package/Voxels/InitVoxelData.d.ts +7 -3
- package/Voxels/InitVoxelData.js +182 -29
- package/Voxels/Segments/MaterialDataGenerator.d.ts +6 -0
- package/{Contexts/Base/Main/Generator → Voxels}/Segments/MaterialDataGenerator.js +2 -2
- package/Voxels/Segments/SubstanceDataGenerator.d.ts +6 -0
- package/{Contexts/Base/Main/Generator → Voxels}/Segments/SubstanceDataGenerator.js +4 -4
- package/{Contexts/Base/Main/Generator → Voxels}/Segments/VoxelDataGenerator.d.ts +2 -2
- package/{Contexts/Base/Main/Generator → Voxels}/Segments/VoxelDataGenerator.js +4 -5
- package/Voxels/State/LogicStatementReader.js +1 -1
- package/Voxels/State/Schema/BinarySchema.d.ts +4 -0
- package/Voxels/State/Schema/BinarySchema.js +32 -1
- package/Voxels/State/Schema/StateSchema.d.ts +2 -2
- package/Voxels/State/Schema/VoxelSchema.d.ts +4 -4
- package/Voxels/State/Schema/VoxelSchema.js +6 -6
- package/Voxels/State/SchemaRegister.d.ts +4 -3
- package/Voxels/State/SchemaRegister.js +5 -2
- package/Voxels/State/VoxelTagStates.js +1 -1
- package/Voxels/Structs/Builder/SubstanceStructBuilder.d.ts +2 -0
- package/{Data → Voxels}/Structs/Builder/SubstanceStructBuilder.js +2 -2
- package/Voxels/Structs/Builder/VoxelStructBuilder.d.ts +2 -0
- package/{Data → Voxels}/Structs/Builder/VoxelStructBuilder.js +2 -7
- package/{Data → Voxels}/Structs/SubstanceStruct.d.ts +2 -1
- package/{Data → Voxels}/Structs/SubstanceStruct.js +2 -4
- package/{Data → Voxels}/Structs/VoxelStruct.d.ts +2 -2
- package/{Data → Voxels}/Structs/VoxelStruct.js +1 -1
- package/Voxels/{Voxel.types.d.ts → Types/Voxel.types.d.ts} +18 -7
- package/Voxels/{Voxel.types.js → Types/Voxel.types.js} +19 -1
- package/Voxels/Types/VoxelModelCompiledData.types.d.ts +93 -0
- package/Voxels/index.d.ts +3 -3
- package/Voxels/index.js +3 -3
- package/World/Archive/Archive.types.d.ts +159 -0
- package/World/Archive/Functions/ArchiveArea.d.ts +10 -0
- package/World/Archive/Functions/ArchiveArea.js +350 -0
- package/World/Archive/Functions/ArchiveSector.d.ts +7 -0
- package/World/Archive/Functions/ArchiveSector.js +355 -0
- package/World/Archive/Functions/ImportSector.d.ts +9 -0
- package/World/Archive/Functions/ImportSector.js +234 -0
- package/World/Archive/Functions/index.d.ts +3 -0
- package/World/Archive/Functions/index.js +3 -0
- package/World/Archive/InitTasks.d.ts +4 -0
- package/World/Archive/InitTasks.js +71 -0
- package/World/Cursor/SectionCursor.d.ts +16 -0
- package/World/Cursor/SectionCursor.js +58 -0
- package/{Data/Cursor/World/ColumnCursor.d.ts → World/Cursor/SectorCursor.d.ts} +8 -7
- package/World/Cursor/SectorCursor.js +58 -0
- package/{Data/Cursor/World → World/Cursor}/WorldCursor.d.ts +4 -4
- package/World/Cursor/WorldCursor.js +52 -0
- package/{Data/Cursor/World → World/Cursor}/WorldSectionCursor.interface.d.ts +2 -2
- package/{Data/Cursor/World → World/Cursor}/WorldVoxelCursor.d.ts +3 -2
- package/World/Cursor/WorldVoxelCursor.js +58 -0
- package/{Data/World/Classes → World/Dimension}/Dimension.d.ts +5 -5
- package/World/Dimension/Dimension.js +20 -0
- package/World/InitTasks.d.ts +6 -0
- package/World/InitTasks.js +97 -0
- package/World/Lock/WorldLock.d.ts +11 -0
- package/{Contexts/World → World}/Lock/WorldLock.js +34 -37
- package/World/Section/Section.d.ts +34 -0
- package/World/Section/Section.js +89 -0
- package/World/Section/SectionHeightMap.d.ts +10 -0
- package/World/Section/SectionHeightMap.js +39 -0
- package/World/Section/SectionStruct.d.ts +8 -0
- package/World/Section/SectionStruct.js +29 -0
- package/{Data/Structs/Constants/ChunkStructProperties.d.ts → World/Section/SectionStructProperties.d.ts} +1 -1
- package/World/Section/SectionStructProperties.js +11 -0
- package/World/Section/index.d.ts +1 -0
- package/World/Section/index.js +1 -0
- package/World/Sector/Sector.d.ts +23 -0
- package/World/Sector/Sector.js +60 -0
- package/World/Sector/SectorHeightMap.d.ts +5 -0
- package/World/Sector/SectorHeightMap.js +49 -0
- package/World/Sector/SectorStruct.d.ts +1 -0
- package/World/Sector/SectorStruct.js +46 -0
- package/World/Sector/SectorStructIds.d.ts +13 -0
- package/World/Sector/SectorStructIds.js +14 -0
- package/World/Sector/index.d.ts +1 -0
- package/World/Sector/index.js +1 -0
- package/World/Storage/WorldStorage.interface.d.ts +6 -0
- package/{Data/Types/RichWorldData.types.d.ts → World/Types/WorldData.types.d.ts} +11 -2
- package/World/Types/WorldDataSyncIds.d.ts +6 -0
- package/World/Types/WorldDataSyncIds.js +7 -0
- package/{Data/World → World}/WorldBounds.js +4 -0
- package/World/WorldRegister.d.ts +35 -0
- package/World/WorldRegister.js +91 -0
- package/World/WorldSpaces.d.ts +34 -0
- package/World/WorldSpaces.js +96 -0
- package/World/index.d.ts +4 -0
- package/World/index.js +4 -0
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/package.json +2 -7
- package/Archive/Archive.types.d.ts +0 -176
- package/Archive/Functions/ArchiveArea.d.ts +0 -10
- package/Archive/Functions/ArchiveArea.js +0 -315
- package/Archive/Functions/ArchiveColumn.d.ts +0 -8
- package/Archive/Functions/ArchiveColumn.js +0 -293
- package/Archive/Functions/ImportColumn.d.ts +0 -9
- package/Archive/Functions/ImportColumn.js +0 -213
- package/Archive/Functions/index.d.ts +0 -3
- package/Archive/Functions/index.js +0 -3
- package/Contexts/Base/DataHooks.d.ts +0 -51
- package/Contexts/Base/DataHooks.js +0 -29
- package/Contexts/Base/Main/Generator/DataGenerator.types.d.ts +0 -12
- package/Contexts/Base/Main/Generator/InitDataGenerator.js +0 -201
- package/Contexts/Base/Main/Generator/Segments/MaterialDataGenerator.d.ts +0 -6
- package/Contexts/Base/Main/Generator/Segments/SubstanceDataGenerator.d.ts +0 -6
- package/Contexts/Base/Remote/Sync/DataSync.types.d.ts +0 -34
- package/Contexts/Base/Remote/Sync/InitDataSync.js +0 -43
- package/Contexts/Base/Remote/Sync/InitWorldDataSync.js +0 -37
- package/Contexts/Constructor/Tasks/ConstructorRemoteThreadTasks.d.ts +0 -7
- package/Contexts/Constructor/Tasks/ConstructorRemoteThreadTasks.js +0 -8
- package/Contexts/Constructor/Tasks/DVEConstructorTasksQueues.d.ts +0 -27
- package/Contexts/Constructor/Tasks/DVEConstructorTasksQueues.js +0 -72
- package/Contexts/Render/Scene/MeshRegister.d.ts +0 -39
- package/Contexts/Render/Scene/MeshRegister.js +0 -218
- package/Contexts/Render/Tasks/RenderTasks.d.ts +0 -7
- package/Contexts/Render/Tasks/RenderTasks.js +0 -20
- package/Contexts/Render/Tasks/RenderTasks.types.d.ts +0 -21
- package/Contexts/World/Data/DataSync.d.ts +0 -29
- package/Contexts/World/Data/DataSync.js +0 -110
- package/Contexts/World/Data/DataSyncNode.d.ts +0 -28
- package/Contexts/World/Data/DataSyncNode.js +0 -54
- package/Contexts/World/Lock/WorldLock.d.ts +0 -12
- package/Contexts/World/Tasks/WorldTasks.d.ts +0 -11
- package/Contexts/World/Tasks/WorldTasks.js +0 -104
- package/Data/Constants/DVEFDataSyncIds.d.ts +0 -12
- package/Data/Constants/DVEFDataSyncIds.js +0 -13
- package/Data/Constants/DataHeaders.d.ts +0 -6
- package/Data/Constants/DataHeaders.js +0 -6
- package/Data/Cursor/World/ChunkCursor.d.ts +0 -16
- package/Data/Cursor/World/ChunkCursor.js +0 -59
- package/Data/Cursor/World/ColumnCursor.js +0 -57
- package/Data/Cursor/World/WorldCursor.js +0 -50
- package/Data/Cursor/World/WorldVoxelCursor.js +0 -55
- package/Data/Structs/Builder/SubstanceStructBuilder.d.ts +0 -2
- package/Data/Structs/Builder/VoxelStructBuilder.d.ts +0 -2
- package/Data/Structs/ChunkStruct.d.ts +0 -1
- package/Data/Structs/ChunkStruct.js +0 -29
- package/Data/Structs/ColumnStruct.d.ts +0 -1
- package/Data/Structs/ColumnStruct.js +0 -45
- package/Data/Structs/Constants/ChunkStructProperties.js +0 -11
- package/Data/Structs/Constants/SubstanceStructIds.d.ts +0 -0
- package/Data/Structs/Constants/SubstanceStructIds.js +0 -1
- package/Data/Structs/RegionStruct.d.ts +0 -3
- package/Data/Structs/RegionStruct.js +0 -50
- package/Data/Types/DimensionData.types.d.ts +0 -9
- package/Data/Types/WorldData.types.d.ts +0 -10
- package/Data/Types/WorldData.types.js +0 -19
- package/Data/World/Classes/Chunk.d.ts +0 -26
- package/Data/World/Classes/Chunk.js +0 -75
- package/Data/World/Classes/Column.d.ts +0 -19
- package/Data/World/Classes/Column.js +0 -35
- package/Data/World/Classes/Dimension.js +0 -20
- package/Data/World/Classes/Region.d.ts +0 -23
- package/Data/World/Classes/Region.js +0 -67
- package/Data/World/Classes/index.d.ts +0 -4
- package/Data/World/Classes/index.js +0 -4
- package/Data/World/DimensionsRegister.d.ts +0 -14
- package/Data/World/DimensionsRegister.js +0 -53
- package/Data/World/RegionHeaderRegister.d.ts +0 -29
- package/Data/World/RegionHeaderRegister.js +0 -56
- package/Data/World/WorldPainter.d.ts +0 -12
- package/Data/World/WorldPainter.js +0 -56
- package/Data/World/WorldRegister.d.ts +0 -51
- package/Data/World/WorldRegister.js +0 -228
- package/Data/World/WorldRegisterCache.d.ts +0 -23
- package/Data/World/WorldRegisterCache.js +0 -68
- package/Data/World/WorldSpaces.d.ts +0 -4
- package/Data/World/WorldSpaces.js +0 -23
- package/Math/Classes/BoundingBox.d.ts +0 -27
- package/Math/Classes/BoundingBox.js +0 -44
- package/Math/Classes/MatrixArray.d.ts +0 -66
- package/Math/Classes/MatrixArray.js +0 -243
- package/Math/Classes/Plane.d.ts +0 -22
- package/Math/Classes/Plane.js +0 -53
- package/Math/Classes/Scalar.d.ts +0 -5
- package/Math/Classes/Scalar.js +0 -9
- package/Math/Classes/SimpleBoundingBox.d.ts +0 -40
- package/Math/Classes/SimpleBoundingBox.js +0 -157
- package/Math/Classes/Vector3.d.ts +0 -54
- package/Math/Classes/Vector3.js +0 -236
- package/Math/Constants/ConstantMartrix.d.ts +0 -3
- package/Math/Constants/ConstantMartrix.js +0 -8
- package/Math/Constants/Faces.d.ts +0 -5
- package/Math/Constants/Faces.js +0 -28
- package/Math/Math.types.d.ts +0 -25
- package/Math/Objects/CompassDirection.d.ts +0 -9
- package/Math/Objects/CompassDirection.js +0 -19
- package/Math/Spaces/VoxelSpace.d.ts +0 -32
- package/Math/Spaces/VoxelSpace.js +0 -99
- package/Math/Spaces/VoxelSpaces.d.ts +0 -50
- package/Math/Spaces/VoxelSpaces.js +0 -117
- package/Math/Spaces/VoxelSpaces.types.d.ts +0 -6
- package/Math/VoxelMath.d.ts +0 -21
- package/Math/VoxelMath.js +0 -47
- package/Mesher/Geometry/VoxelGeometry.d.ts +0 -7
- package/Mesher/Geometry/VoxelGeometry.js +0 -115
- package/Mesher/Mesher.d.ts +0 -16
- package/Mesher/Mesher.js +0 -44
- package/Mesher/Meshers/MesherInterface.d.ts +0 -5
- package/Mesher/Meshers/MesherManager.d.ts +0 -7
- package/Mesher/Meshers/MesherManager.js +0 -16
- package/Mesher/Meshers/TextureMesher.d.ts +0 -15
- package/Mesher/Meshers/TextureMesher.js +0 -191
- package/Mesher/Meshers/VoxelMesher.d.ts +0 -15
- package/Mesher/Meshers/VoxelMesher.js +0 -47
- package/Mesher/Processors/ChunkProcessor.d.ts +0 -13
- package/Mesher/Processors/ChunkProcessor.js +0 -117
- package/Mesher/Substances/RenderedSubstances.d.ts +0 -5
- package/Mesher/Substances/RenderedSubstances.js +0 -7
- package/Mesher/Tasks/BuidlerTasks.types.d.ts +0 -7
- package/Mesher/Tools/VoxelTemplateDataTool.d.ts +0 -15
- package/Mesher/Tools/VoxelTemplateDataTool.js +0 -112
- package/Renderer/Classes/ChunkMesh.d.ts +0 -10
- package/Renderer/Classes/ChunkMesh.js +0 -13
- package/Renderer/Classes/MeshRegisterColumn.d.ts +0 -7
- package/Renderer/Classes/MeshRegisterColumn.js +0 -7
- package/Renderer/Classes/MushRegisterRegion.d.ts +0 -4
- package/Renderer/Classes/MushRegisterRegion.js +0 -3
- package/Renderer/DVEChunkMeshInterface.d.ts +0 -3
- package/Renderer/DVEChunkMeshInterface.js +0 -1
- package/Renderer/DVEChunkMeshes.d.ts +0 -6
- package/Renderer/DVEChunkMeshes.js +0 -2
- package/Tasks/Analyzer/Analyzer.d.ts +0 -19
- package/Tasks/Analyzer/Analyzer.js +0 -156
- package/Tasks/Analyzer/AnalyzerUpdater.d.ts +0 -10
- package/Tasks/Analyzer/AnalyzerUpdater.js +0 -13
- package/Tasks/Analyzer/InitTasks.d.ts +0 -1
- package/Tasks/Analyzer/InitTasks.js +0 -16
- package/Tasks/DataLoader/Broswer/DataHandler.d.ts +0 -20
- package/Tasks/DataLoader/Broswer/DataHandler.js +0 -54
- package/Tasks/DataLoader/Broswer/WorldDataBase.d.ts +0 -26
- package/Tasks/DataLoader/Broswer/WorldDataBase.js +0 -81
- package/Tasks/DataLoader/Broswer/WorldDataBaseManager.d.ts +0 -6
- package/Tasks/DataLoader/Broswer/WorldDataBaseManager.js +0 -30
- package/Tasks/DataLoader/Broswer/WorldDataTool.d.ts +0 -16
- package/Tasks/DataLoader/Broswer/WorldDataTool.js +0 -64
- package/Tasks/DataLoader/Broswer/index.d.ts +0 -1
- package/Tasks/DataLoader/Broswer/index.js +0 -1
- package/Tasks/DataLoader/Constructor/DataLoaderTasks.d.ts +0 -2
- package/Tasks/DataLoader/Constructor/DataLoaderTasks.js +0 -14
- package/Tasks/DataLoader/Constructor/DivineVoxelEngineDataLoaderConstructor.d.ts +0 -9
- package/Tasks/DataLoader/Constructor/DivineVoxelEngineDataLoaderConstructor.js +0 -17
- package/Tasks/DataLoader/Constructor/WorldDataSerializer.d.ts +0 -15
- package/Tasks/DataLoader/Constructor/WorldDataSerializer.js +0 -54
- package/Tasks/DataLoader/Constructor/index.d.ts +0 -1
- package/Tasks/DataLoader/Constructor/index.js +0 -1
- package/Tasks/DataLoader/Node/DivineVoxelEngineData.d.ts +0 -48
- package/Tasks/DataLoader/Node/DivineVoxelEngineData.js +0 -47
- package/Tasks/DataLoader/Node/System/RegionSystem.d.ts +0 -28
- package/Tasks/DataLoader/Node/System/RegionSystem.js +0 -147
- package/Tasks/DataLoader/Node/System/System.d.ts +0 -13
- package/Tasks/DataLoader/Node/System/System.js +0 -168
- package/Tasks/DataLoader/Node/System/SystemPath.d.ts +0 -12
- package/Tasks/DataLoader/Node/System/SystemPath.js +0 -29
- package/Tasks/DataLoader/Node/Tools/NodeRegionTool.d.ts +0 -28
- package/Tasks/DataLoader/Node/Tools/NodeRegionTool.js +0 -134
- package/Tasks/DataLoader/Node/Util/DVED.util.d.ts +0 -17
- package/Tasks/DataLoader/Node/Util/DVED.util.js +0 -25
- package/Tasks/DataLoader/Node/index.d.ts +0 -3
- package/Tasks/DataLoader/Node/index.js +0 -3
- package/Tasks/DataLoader/Types/DVED.types.d.ts +0 -13
- package/Tasks/DataLoader/Types/DVED.types.js +0 -1
- package/Tasks/DataLoader/Types/DVEDataHandler.d.ts +0 -17
- package/Tasks/DataLoader/Types/DVEDataHandler.js +0 -14
- package/Tasks/DataLoader/World/DataHandlerWrapper.d.ts +0 -21
- package/Tasks/DataLoader/World/DataHandlerWrapper.js +0 -152
- package/Tasks/DataLoader/World/DataLoaderTasks.d.ts +0 -2
- package/Tasks/DataLoader/World/DataLoaderTasks.js +0 -70
- package/Tasks/DataLoader/World/DivineVoxelEngineDataLoaderWorld.d.ts +0 -12
- package/Tasks/DataLoader/World/DivineVoxelEngineDataLoaderWorld.js +0 -17
- package/Tasks/DataLoader/World/Tools/DataLoaderTool.d.ts +0 -24
- package/Tasks/DataLoader/World/Tools/DataLoaderTool.js +0 -113
- package/Tasks/DataLoader/World/Tools/DataSerializerTool.d.ts +0 -8
- package/Tasks/DataLoader/World/Tools/DataSerializerTool.js +0 -27
- package/Tasks/DataLoader/World/Tools/LoaderRegister.d.ts +0 -9
- package/Tasks/DataLoader/World/Tools/LoaderRegister.js +0 -29
- package/Tasks/IWG/Constants/ColumnState.d.ts +0 -6
- package/Tasks/IWG/Constants/ColumnState.js +0 -7
- package/Tasks/IWG/World/Classes/DebouncedTasks.d.ts +0 -16
- package/Tasks/IWG/World/Classes/DebouncedTasks.js +0 -34
- package/Tasks/IWG/World/Classes/Generator.d.ts +0 -50
- package/Tasks/IWG/World/Classes/Generator.js +0 -482
- package/Tasks/IWG/World/Classes/Tasks/IWGBatchTask.d.ts +0 -7
- package/Tasks/IWG/World/Classes/Tasks/IWGBatchTask.js +0 -35
- package/Tasks/IWG/World/Classes/Tasks/IWGSingleTask.d.ts +0 -6
- package/Tasks/IWG/World/Classes/Tasks/IWGSingleTask.js +0 -29
- package/Tasks/IWG/World/Classes/Tasks/IWGTaskBase.d.ts +0 -27
- package/Tasks/IWG/World/Classes/Tasks/IWGTaskBase.js +0 -34
- package/Tasks/IWG/World/Classes/Tasks/IWGTaskRegister.d.ts +0 -6
- package/Tasks/IWG/World/Classes/Tasks/IWGTaskRegister.js +0 -14
- package/Tasks/IWG/World/IWG.d.ts +0 -22
- package/Tasks/IWG/World/IWG.js +0 -83
- package/Tasks/IWG/World/Load/InitLoad.d.ts +0 -5
- package/Tasks/IWG/World/Load/InitLoad.js +0 -17
- package/Tasks/IWG/World/Load/LoaderBase.d.ts +0 -16
- package/Tasks/IWG/World/Load/LoaderBase.js +0 -57
- package/Tasks/IWG/World/Load/SafeExit.d.ts +0 -5
- package/Tasks/IWG/World/Load/SafeExit.js +0 -15
- package/Tasks/IWG/World/Load/Teleport.d.ts +0 -9
- package/Tasks/IWG/World/Load/Teleport.js +0 -26
- package/Tasks/IWG/World/Tasks/RegisterDefaultTasks.d.ts +0 -1
- package/Tasks/IWG/World/Tasks/RegisterDefaultTasks.js +0 -12
- package/Tasks/IWG/World/Tasks/Rendering/IWGBuildTasks.d.ts +0 -8
- package/Tasks/IWG/World/Tasks/Rendering/IWGBuildTasks.js +0 -26
- package/Tasks/IWG/World/Tasks/Saving/IWGSaveAndUnloadTasks.d.ts +0 -8
- package/Tasks/IWG/World/Tasks/Saving/IWGSaveAndUnloadTasks.js +0 -22
- package/Tasks/IWG/World/Tasks/Saving/IWGSaveTasks.d.ts +0 -8
- package/Tasks/IWG/World/Tasks/Saving/IWGSaveTasks.js +0 -22
- package/Tasks/IWG/World/Tasks/WorldGen/IWGDecorateTasks.d.ts +0 -8
- package/Tasks/IWG/World/Tasks/WorldGen/IWGDecorateTasks.js +0 -29
- package/Tasks/IWG/World/Tasks/WorldGen/IWGGenerateTasks.d.ts +0 -8
- package/Tasks/IWG/World/Tasks/WorldGen/IWGGenerateTasks.js +0 -29
- package/Tasks/IWG/World/Tasks/WorldGen/IWGLoadTasks.d.ts +0 -8
- package/Tasks/IWG/World/Tasks/WorldGen/IWGLoadTasks.js +0 -58
- package/Tasks/IWG/World/Tasks/WorldGen/IWGPropagationTasks.d.ts +0 -8
- package/Tasks/IWG/World/Tasks/WorldGen/IWGPropagationTasks.js +0 -27
- package/Tasks/IWG/World/Tasks/WorldGen/IWGWorldSunTasks.d.ts +0 -8
- package/Tasks/IWG/World/Tasks/WorldGen/IWGWorldSunTasks.js +0 -27
- package/Tasks/IWG/World/Types/IWG.types.d.ts +0 -20
- package/Tasks/IWG/World/Types/IWG.types.js +0 -7
- package/Tasks/IWG/World/index.d.ts +0 -2
- package/Tasks/IWG/World/index.js +0 -2
- package/Tasks/Mesher/InitTasks.d.ts +0 -2
- package/Tasks/Mesher/InitTasks.js +0 -46
- package/Tasks/Propagation/Flow/Functions/FlowRemove.js +0 -162
- package/Tasks/Propagation/Flow/Functions/FlowUpdate.js +0 -96
- package/Tasks/Propagation/Illumanation/Functions/WorldSun.d.ts +0 -2
- package/Tasks/Propagation/Illumanation/Functions/WorldSun.js +0 -115
- package/Tasks/Propagation/Illumanation/IlluminationManager.d.ts +0 -48
- package/Tasks/Propagation/Illumanation/IlluminationManager.js +0 -13
- package/Tasks/Propagation/Propagation.d.ts +0 -13
- package/Tasks/Propagation/Propagation.js +0 -38
- package/Textures/Constructor.types.d.ts +0 -5
- package/Textures/Constructor.types.js +0 -1
- package/Tools/Anaylzer/AnaylzerTool.d.ts +0 -6
- package/Tools/Anaylzer/AnaylzerTool.js +0 -31
- package/Tools/Classes/DataToolBase.d.ts +0 -43
- package/Tools/Classes/DataToolBase.js +0 -85
- package/Tools/Classes/LocationBoundTool.d.ts +0 -20
- package/Tools/Classes/LocationBoundTool.js +0 -45
- package/Tools/Classes/LocationBoundToolBase.d.ts +0 -24
- package/Tools/Classes/LocationBoundToolBase.js +0 -61
- package/Tools/Classes/RichDataToolBase.d.ts +0 -10
- package/Tools/Classes/RichDataToolBase.js +0 -26
- package/Tools/Data/DataTool.d.ts +0 -102
- package/Tools/Data/DataTool.js +0 -430
- package/Tools/Data/WorldData/ChunkDataTool.d.ts +0 -11
- package/Tools/Data/WorldData/ChunkDataTool.js +0 -38
- package/Tools/Data/WorldData/ColumnDataTool.d.ts +0 -26
- package/Tools/Data/WorldData/ColumnDataTool.js +0 -81
- package/Tools/Data/WorldData/HeightMapTool.d.ts +0 -24
- package/Tools/Data/WorldData/HeightMapTool.js +0 -117
- package/Tools/Data/WorldData/RegionDataTool.d.ts +0 -13
- package/Tools/Data/WorldData/RegionDataTool.js +0 -39
- package/Tools/Mesher/MesherTool.d.ts +0 -19
- package/Tools/Mesher/MesherTool.js +0 -52
- package/Util/VoxelIDMatrix.d.ts +0 -15
- package/Util/VoxelIDMatrix.js +0 -55
- package/Voxels/LightData.d.ts +0 -150
- package/Voxels/LightData.js +0 -402
- package/Voxels/VoxelSyncData.d.ts +0 -71
- package/Voxels/VoxelSyncData.js +0 -1
- /package/Contexts/Base/Main/{Generator/DataGenerator.types.js → DataGenerator.types.js} +0 -0
- /package/Contexts/Base/Remote/{Sync/DataSync.types.js → DataSync.types.js} +0 -0
- /package/Contexts/Base/Remote/{Sync/DataSyncIds.d.ts → DataSyncIds.d.ts} +0 -0
- /package/Contexts/Base/Remote/{Sync/DataSyncIds.js → DataSyncIds.js} +0 -0
- /package/Contexts/Base/Remote/{Sync/InitDataSync.d.ts → InitDataSync.d.ts} +0 -0
- /package/Contexts/Base/Remote/{Sync/InitWorldDataSync.d.ts → InitWorldDataSync.d.ts} +0 -0
- /package/Data/Cursor/{Interfaces/DataCursor.interface.js → DataCursor.interface.js} +0 -0
- /package/{Archive → Data}/Functions/Palettes.d.ts +0 -0
- /package/{Archive → Data}/Functions/Palettes.js +0 -0
- /package/Data/Structs/{Builder/StructBuilder.js → StructBuilder.js} +0 -0
- /package/Data/{Types → Structs}/StructBuilder.types.d.ts +0 -0
- /package/Data/{Types → Structs}/StructBuilder.types.js +0 -0
- /package/Math/{Constants/CardinalNeighbors.d.ts → CardinalNeighbors.d.ts} +0 -0
- /package/Math/{Constants/CardinalNeighbors.js → CardinalNeighbors.js} +0 -0
- /package/Math/{Constants/VoxelFaces.d.ts → VoxelFaces.d.ts} +0 -0
- /package/Math/{Constants/VoxelFaces.js → VoxelFaces.js} +0 -0
- /package/{Voxels → Mesher}/VoxelShaderData.d.ts +0 -0
- /package/{Voxels → Mesher}/VoxelShaderData.js +0 -0
- /package/{Archive/Archive.types.js → Renderer/Classes/DVESectionMeshInterface.js} +0 -0
- /package/{Contexts/Render/Tasks/RenderTasks.types.js → Renderer/Renderer.types.js} +0 -0
- /package/{Data/Cursor/World/WorldSectionCursor.interface.js → Tasks/Propagation/Flow/CommonFunctions.d.ts} +0 -0
- /package/{Data/Types/DimensionData.types.js → Tasks/Propagation/Flow/CommonFunctions.js} +0 -0
- /package/{Data → Voxels}/Palettes/MaterialPalette.d.ts +0 -0
- /package/{Data → Voxels}/Palettes/MaterialPalette.js +0 -0
- /package/{Data → Voxels}/Palettes/SubstancePalette.d.ts +0 -0
- /package/{Data → Voxels}/Palettes/SubstancePalette.js +0 -0
- /package/{Data → Voxels}/Palettes/VoxelPalette.d.ts +0 -0
- /package/{Data → Voxels}/Palettes/VoxelPalette.js +0 -0
- /package/Voxels/{VoxelMaterial.types.d.ts → Types/VoxelMaterial.types.d.ts} +0 -0
- /package/Voxels/{VoxelMaterial.types.js → Types/VoxelMaterial.types.js} +0 -0
- /package/{Data/Types/RichWorldData.types.js → Voxels/Types/VoxelModelCompiledData.types.js} +0 -0
- /package/Voxels/{VoxelSubstances.types.d.ts → Types/VoxelSubstances.types.d.ts} +0 -0
- /package/Voxels/{VoxelSubstances.types.js → Types/VoxelSubstances.types.js} +0 -0
- /package/{Math/Math.types.js → World/Archive/Archive.types.js} +0 -0
- /package/{Archive → World/Archive}/index.d.ts +0 -0
- /package/{Archive → World/Archive}/index.js +0 -0
- /package/{Math/Spaces/VoxelSpaces.types.js → World/Cursor/WorldSectionCursor.interface.js} +0 -0
- /package/{Mesher/Meshers/MesherInterface.js → World/Storage/WorldStorage.interface.js} +0 -0
- /package/{Data/Structs/Constants → World/Structs}/WorldDataStructProperties.d.ts +0 -0
- /package/{Data/Structs/Constants → World/Structs}/WorldDataStructProperties.js +0 -0
- /package/{Mesher/Tasks/BuidlerTasks.types.js → World/Types/WorldData.types.js} +0 -0
- /package/{Data/World → World}/WorldBounds.d.ts +0 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { FlowManager as FM } from "./FlowManager.js";
|
|
2
|
+
export async function FlowUpdate(tasks, rebuild = true) {
|
|
3
|
+
/* const [dimension, x, y, z] = tasks.origin;
|
|
4
|
+
FM.setDimension(dimension);
|
|
5
|
+
const vox = FM.getVoxel(x, y, z);
|
|
6
|
+
if (!vox) return;
|
|
7
|
+
const flowRate = vox.getSubstnaceData().getFlowRate();
|
|
8
|
+
const level = FM.getLevel(vox.getStringId(), x, y, z);
|
|
9
|
+
if (level < 0) return;
|
|
10
|
+
const levelState = FM.getLevelState(vox.getStringId(), x, y, z);
|
|
11
|
+
tasks.flow.update.queue.push([x, y, z, level, levelState]);
|
|
12
|
+
while (tasks.flow.update.queue.length != 0) {
|
|
13
|
+
FM.setDimension(dimension);
|
|
14
|
+
RunFlowPropagation(tasks, vox.getStringId());
|
|
15
|
+
RunFlowIncrease(tasks, vox.getStringId());
|
|
16
|
+
if (rebuild) {
|
|
17
|
+
// tasks.runRebuildQueue();
|
|
18
|
+
await FM.wait(EngineSettings.settings.flow.baseFlowLimit * flowRate);
|
|
19
|
+
}
|
|
20
|
+
} */
|
|
21
|
+
}
|
|
22
|
+
function RunFlowPropagation(tasks, vox) {
|
|
23
|
+
/* const que = tasks.flow.update.queue;
|
|
24
|
+
const noRemoveMap = tasks.flow.remove.noRemoveMap;
|
|
25
|
+
for (let i = 0; i < que.length; i++) {
|
|
26
|
+
const node = que[i];
|
|
27
|
+
const x = node[0];
|
|
28
|
+
const y = node[1];
|
|
29
|
+
const z = node[2];
|
|
30
|
+
const l = FM.getLevel(vox, x, y, z);
|
|
31
|
+
const s = FM.getLevelState(vox, x, y, z);
|
|
32
|
+
noRemoveMap.add(x, y, z);
|
|
33
|
+
if (FM.canFlowOutwardTest(vox, x, y, z)) {
|
|
34
|
+
const n1 = FM.getLevel(vox, x + 1, y, z);
|
|
35
|
+
if (n1 + 1 < l && n1 >= 0) {
|
|
36
|
+
let n1l = l - 1;
|
|
37
|
+
que.push([x + 1, y, z, n1l, 0]);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const n2 = FM.getLevel(vox, x - 1, y, z);
|
|
41
|
+
|
|
42
|
+
if (n2 + 1 < l && n2 >= 0) {
|
|
43
|
+
let n2l = l - 1;
|
|
44
|
+
que.push([x - 1, y, z, n2l, 0]);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const n3 = FM.getLevel(vox, x, y, z + 1);
|
|
48
|
+
if (n3 + 1 < l && n3 >= 0) {
|
|
49
|
+
let n3l = l - 1;
|
|
50
|
+
que.push([x, y, z + 1, n3l, 0]);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
const n4 = FM.getLevel(vox, x, y, z - 1);
|
|
54
|
+
if (n4 + 1 < l && n4 >= 0) {
|
|
55
|
+
let n4l = l - 1;
|
|
56
|
+
que.push([x, y, z - 1, n4l, 0]);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const n5 = FM.getLevel(vox, x, y - 1, z);
|
|
61
|
+
if (n5 <= l && n5 >= 0) {
|
|
62
|
+
let state = 1;
|
|
63
|
+
let level = 7;
|
|
64
|
+
if (l <= 0 && s != 1) {
|
|
65
|
+
state = 0;
|
|
66
|
+
level = l - 2;
|
|
67
|
+
}
|
|
68
|
+
que.push([x, y - 1, z, level, state]);
|
|
69
|
+
}
|
|
70
|
+
} */
|
|
71
|
+
}
|
|
72
|
+
function RunFlowIncrease(tasks, vox) {
|
|
73
|
+
const que = tasks.flow.update.queue;
|
|
74
|
+
const map = tasks.flow.update.map;
|
|
75
|
+
const reque = [];
|
|
76
|
+
while (que.length != 0) {
|
|
77
|
+
const node = que.shift();
|
|
78
|
+
if (!node) {
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
const x = node[0];
|
|
82
|
+
const y = node[1];
|
|
83
|
+
const z = node[2];
|
|
84
|
+
const level = node[3];
|
|
85
|
+
const levelState = node[4];
|
|
86
|
+
if (map.has(x, y, z))
|
|
87
|
+
continue;
|
|
88
|
+
map.add(x, y, z);
|
|
89
|
+
if (level > -1) {
|
|
90
|
+
FM.setVoxel(tasks, vox, level, levelState, x, y, z);
|
|
91
|
+
reque.push([x, y, z, -1]);
|
|
92
|
+
}
|
|
93
|
+
tasks.bounds.update(x, y, z);
|
|
94
|
+
}
|
|
95
|
+
//@ts-ignore
|
|
96
|
+
tasks.queues.flow.update.queue = reque;
|
|
97
|
+
map.clear();
|
|
98
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { WorldSpaces } from "../../../World/WorldSpaces";
|
|
2
|
+
import { WorldRegister } from "../../../World/WorldRegister";
|
|
3
|
+
import { SectionHeightMap } from "../../../World/Section/SectionHeightMap";
|
|
4
|
+
import { EngineSettings } from "../../../Settings/EngineSettings";
|
|
5
|
+
import { SunRemove, SunUpdate } from "../Illumanation/SunUpdate";
|
|
6
|
+
import { RGBRemove, RGBUpdate } from "../Illumanation/RGBUpdate";
|
|
7
|
+
import { WorldBounds } from "../../../World/WorldBounds";
|
|
8
|
+
const flowUpdateChecks = [
|
|
9
|
+
[0, -1, 0],
|
|
10
|
+
[1, 0, 0],
|
|
11
|
+
[-1, 0, 0],
|
|
12
|
+
[0, 0, 1],
|
|
13
|
+
[0, 0, -1],
|
|
14
|
+
];
|
|
15
|
+
const queue = [];
|
|
16
|
+
const floodOutChecks = [
|
|
17
|
+
[1, 0, 0],
|
|
18
|
+
[-1, 0, 0],
|
|
19
|
+
[0, 0, 1],
|
|
20
|
+
[0, 0, -1],
|
|
21
|
+
];
|
|
22
|
+
function Flood(task, voxel) {
|
|
23
|
+
const voxelId = voxel.id;
|
|
24
|
+
while (queue.length) {
|
|
25
|
+
const x = queue.shift();
|
|
26
|
+
const y = queue.shift();
|
|
27
|
+
const z = queue.shift();
|
|
28
|
+
const voxel = task.sDataCursor.getVoxel(x, y, z);
|
|
29
|
+
if (!voxel)
|
|
30
|
+
continue;
|
|
31
|
+
const level = voxel.getLevel();
|
|
32
|
+
if (level <= 1)
|
|
33
|
+
continue;
|
|
34
|
+
const levelState = voxel.getLevelState();
|
|
35
|
+
const hasBottomVoxel = !task.nDataCursor.getVoxel(x, y - 1, z)?.isAir() || false;
|
|
36
|
+
if (hasBottomVoxel && !levelState) {
|
|
37
|
+
for (let i = 0; i < 4; i++) {
|
|
38
|
+
const nx = floodOutChecks[i][0] + x;
|
|
39
|
+
const ny = floodOutChecks[i][1] + y;
|
|
40
|
+
const nz = floodOutChecks[i][2] + z;
|
|
41
|
+
const downVoxel = task.nDataCursor.getVoxel(nx, ny - 1, nz);
|
|
42
|
+
const downAir = downVoxel?.isAir() || false;
|
|
43
|
+
const downSameVoxel = downVoxel?.getId() == voxelId;
|
|
44
|
+
let nVoxel = task.nDataCursor.getVoxel(nx, ny, nz);
|
|
45
|
+
if (!nVoxel)
|
|
46
|
+
continue;
|
|
47
|
+
const nLevel = nVoxel.isAir() ? 0 : nVoxel.getLevel();
|
|
48
|
+
const nState = nVoxel.getLevelState();
|
|
49
|
+
if (nLevel < level &&
|
|
50
|
+
(nVoxel.id == voxelId || nVoxel.isAir()) &&
|
|
51
|
+
nState == 0) {
|
|
52
|
+
if (downAir && !downSameVoxel) {
|
|
53
|
+
nVoxel.setId(voxelId);
|
|
54
|
+
nVoxel.updateHeightMap(0);
|
|
55
|
+
nVoxel.setLevel(7);
|
|
56
|
+
nVoxel.setLevelState(1);
|
|
57
|
+
}
|
|
58
|
+
else if (!downSameVoxel) {
|
|
59
|
+
nVoxel.setId(voxelId);
|
|
60
|
+
nVoxel.updateHeightMap(0);
|
|
61
|
+
nVoxel.setLevel(level - 1);
|
|
62
|
+
nVoxel.setLevelState(0);
|
|
63
|
+
}
|
|
64
|
+
if (nVoxel.hasSunLight()) {
|
|
65
|
+
task.sun.remove.push(nx, ny, nz);
|
|
66
|
+
}
|
|
67
|
+
if (nVoxel.hasRGBLight()) {
|
|
68
|
+
task.rgb.remove.push(nx, ny, nz);
|
|
69
|
+
}
|
|
70
|
+
queue.push(nx, ny, nz);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
if (!WorldBounds.inBounds(x, y - 1, z) && levelState != 1)
|
|
76
|
+
continue;
|
|
77
|
+
let nVoxel = task.nDataCursor.getVoxel(x, y - 1, z);
|
|
78
|
+
const nLevel = nVoxel.isAir()
|
|
79
|
+
? 0
|
|
80
|
+
: nVoxel.getId() == voxelId
|
|
81
|
+
? nVoxel.getLevel()
|
|
82
|
+
: -1;
|
|
83
|
+
const nState = nVoxel.getLevelState();
|
|
84
|
+
const nAir = nVoxel.isAir();
|
|
85
|
+
if (nLevel < 0 || nState == 1)
|
|
86
|
+
continue;
|
|
87
|
+
let state = nState;
|
|
88
|
+
if (nAir) {
|
|
89
|
+
const down = task.nDataCursor.getVoxel(x, y - 2, z);
|
|
90
|
+
if (down && !down.isAir()) {
|
|
91
|
+
state = 0;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
nVoxel = task.nDataCursor.getVoxel(x, y - 1, z);
|
|
95
|
+
if (nVoxel.hasSunLight()) {
|
|
96
|
+
task.sun.remove.push(x, y - 1, z);
|
|
97
|
+
}
|
|
98
|
+
if (nVoxel.hasRGBLight()) {
|
|
99
|
+
task.rgb.remove.push(x, y - 1, z);
|
|
100
|
+
}
|
|
101
|
+
nVoxel.setId(voxelId);
|
|
102
|
+
nVoxel.updateHeightMap(0);
|
|
103
|
+
nVoxel.setLevel(7);
|
|
104
|
+
nVoxel.setLevelState(state);
|
|
105
|
+
queue.push(x, y - 1, z);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
export function WorldFlow(task) {
|
|
109
|
+
if (!EngineSettings.doFlow())
|
|
110
|
+
return false;
|
|
111
|
+
WorldRegister.setDimension(task.origin[0]);
|
|
112
|
+
const sector = WorldRegister.sectors.get(task.origin[1], task.origin[2], task.origin[3]);
|
|
113
|
+
if (!sector) {
|
|
114
|
+
console.error(`Tried running world flow on a sector that does not exist ${task.origin.toString()}`);
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
let maxX = WorldSpaces.section.bounds.x + sector.position[0];
|
|
118
|
+
let maxZ = WorldSpaces.section.bounds.z + sector.position[2];
|
|
119
|
+
for (let i = sector.sections.length - 1; i >= 0; i--) {
|
|
120
|
+
const section = sector.sections[i];
|
|
121
|
+
if (!section)
|
|
122
|
+
continue;
|
|
123
|
+
let [minY, maxY] = SectionHeightMap.setSection(section).getMinMax();
|
|
124
|
+
const cx = sector.position[0];
|
|
125
|
+
const cy = sector.position[1] + i * WorldSpaces.section.bounds.y;
|
|
126
|
+
const cz = sector.position[2];
|
|
127
|
+
if (Math.abs(minY) == Infinity && Math.abs(maxY) == Infinity)
|
|
128
|
+
continue;
|
|
129
|
+
for (let y = cy + maxY; y >= cy + minY; y--) {
|
|
130
|
+
for (let z = cz; z < maxZ; z++) {
|
|
131
|
+
for (let x = cx; x < maxX; x++) {
|
|
132
|
+
const voxel = task.nDataCursor.getVoxel(x, y, z);
|
|
133
|
+
if (!voxel || voxel.isAir())
|
|
134
|
+
continue;
|
|
135
|
+
if (voxel.getSubstanceData().isLiquid()) {
|
|
136
|
+
for (let i = 0; i < 5; i++) {
|
|
137
|
+
const nVoxel = task.nDataCursor.getVoxel(x + flowUpdateChecks[i][0], y + flowUpdateChecks[i][1], z + flowUpdateChecks[i][2]);
|
|
138
|
+
if (nVoxel && nVoxel.isAir()) {
|
|
139
|
+
queue.push(x, y, z);
|
|
140
|
+
Flood(task, voxel);
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
SunRemove(task);
|
|
150
|
+
RGBRemove(task);
|
|
151
|
+
SunUpdate(task);
|
|
152
|
+
RGBUpdate(task);
|
|
153
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**# Is Less Than For RGB Remove
|
|
2
|
+
* ---
|
|
3
|
+
* Compares values for the RGB encoded light values.
|
|
4
|
+
* Used for RGB light remove.
|
|
5
|
+
* @param n1
|
|
6
|
+
* @param n2
|
|
7
|
+
*/
|
|
8
|
+
export declare function isLessThanForRGBRemove(n1: number, n2: number): boolean;
|
|
9
|
+
/**# Is Less Than For RGB Add
|
|
10
|
+
* ---
|
|
11
|
+
* Compares values for the RGB encoded light values.
|
|
12
|
+
* Used for RGB light add.
|
|
13
|
+
* @param n1
|
|
14
|
+
* @param n2
|
|
15
|
+
*/
|
|
16
|
+
export declare function isLessThanForRGBAdd(n1: number, n2: number): boolean;
|
|
17
|
+
/**# Is Greater Or Equal Than For RGB Remove
|
|
18
|
+
* ---
|
|
19
|
+
* Compares values for the RGB encoded light values.
|
|
20
|
+
* Used for RGB light remove.
|
|
21
|
+
* @param n1
|
|
22
|
+
* @param n2
|
|
23
|
+
*/
|
|
24
|
+
export declare function isGreaterOrEqualThanForRGBRemove(n1: number, n2: number): boolean;
|
|
25
|
+
/**# Get Minus One For RGB
|
|
26
|
+
* ---
|
|
27
|
+
* Returns the RGB light values minus one.
|
|
28
|
+
* @param sl - source light value
|
|
29
|
+
*/
|
|
30
|
+
export declare function getMinusOneForRGB(sl: number, nl: number): number;
|
|
31
|
+
/**# Remove RGB Light
|
|
32
|
+
* ---
|
|
33
|
+
* Removes all RGB light from an encoded light value.
|
|
34
|
+
* @param sl - source light value
|
|
35
|
+
*/
|
|
36
|
+
export declare function removeRGBLight(sl: number): number;
|
|
37
|
+
/**# Get Full Sun Light
|
|
38
|
+
* --
|
|
39
|
+
* Alters the encoded light number passed to it to give it full sun light.
|
|
40
|
+
* @param sl - source light value
|
|
41
|
+
*/
|
|
42
|
+
export declare function getFullSunLight(sl: number): number;
|
|
43
|
+
/**# Is Less Than For Sun Add
|
|
44
|
+
* ---
|
|
45
|
+
* Used to calculate sun light addition.
|
|
46
|
+
* Used to check all neighbors expect down.
|
|
47
|
+
* @param n1
|
|
48
|
+
* @param n2
|
|
49
|
+
*/
|
|
50
|
+
export declare function isLessThanForSunAdd(n1: number, n2: number): boolean;
|
|
51
|
+
/**# Is Less Than For Sun AddDown
|
|
52
|
+
*
|
|
53
|
+
* Used to calculate sun light addition.
|
|
54
|
+
* Used to check only the down neighbor.
|
|
55
|
+
* @param n1
|
|
56
|
+
* @param n2
|
|
57
|
+
*/
|
|
58
|
+
export declare function isLessThanForSunAddDown(n1: number, n2: number): boolean;
|
|
59
|
+
export declare function isLessThanForSunAddUp(n1: number, n2: number): boolean;
|
|
60
|
+
/**# Get Sun Light For Under Voxel
|
|
61
|
+
* ---
|
|
62
|
+
* Gets the sun light value for sun light addition when setting the
|
|
63
|
+
* down neighbor.
|
|
64
|
+
* @param currentVoxel
|
|
65
|
+
*/
|
|
66
|
+
export declare function getSunLightForUnderVoxel(sl: number, nl: number): number;
|
|
67
|
+
/**# Get Minus One For Sun
|
|
68
|
+
* ---
|
|
69
|
+
* Returns the sun light level passed to it minus one.
|
|
70
|
+
* Used for sun light addition on all neighbors expect the down one.
|
|
71
|
+
* @param sl - source light value
|
|
72
|
+
*/
|
|
73
|
+
export declare function getMinusOneForSun(sl: number, nl: number): number;
|
|
74
|
+
/**# Is Less Than For Sun Remove
|
|
75
|
+
* ---
|
|
76
|
+
* Compares two encoded light values sun light values.
|
|
77
|
+
* Used for sun light removal.
|
|
78
|
+
* @param n1
|
|
79
|
+
* @param sl - source light value
|
|
80
|
+
*/
|
|
81
|
+
export declare function isLessThanForSunRemove(n1: number, sl: number): boolean;
|
|
82
|
+
/**# Is Greater Or Equal Than For Sun Remove
|
|
83
|
+
* ---
|
|
84
|
+
* Compares two encoded light values sun light values.
|
|
85
|
+
* Used for sun light removal.
|
|
86
|
+
* @param n1
|
|
87
|
+
* @param sl - source light value
|
|
88
|
+
*/
|
|
89
|
+
export declare function isGreaterOrEqualThanForSunRemove(n1: number, sl: number): boolean;
|
|
90
|
+
/**# Sun Light Compare ForDown Sun Remove
|
|
91
|
+
* ---
|
|
92
|
+
* Compares two encoded light values sun light values.
|
|
93
|
+
* Used for sun light removal in the downward direction only.
|
|
94
|
+
* @param n1
|
|
95
|
+
* @param sl - source light value
|
|
96
|
+
*/
|
|
97
|
+
export declare function sunLightCompareForDownSunRemove(n1: number, sl: number): boolean;
|
|
98
|
+
/**# Remove Sun Light
|
|
99
|
+
* ---
|
|
100
|
+
* Removes the sun light from a light encoded value.
|
|
101
|
+
* @param sl - source light value
|
|
102
|
+
*/
|
|
103
|
+
export declare function removeSunLight(sl: number): number;
|
|
104
|
+
export declare function minusOneForAll(sl: number): number;
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
let SRS = 2;
|
|
2
|
+
function getS(value) {
|
|
3
|
+
return value & 0xf;
|
|
4
|
+
}
|
|
5
|
+
function getR(value) {
|
|
6
|
+
return (value & (0xf << 4)) >> 4;
|
|
7
|
+
}
|
|
8
|
+
function getG(value) {
|
|
9
|
+
return (value & (0xf << 8)) >> 8;
|
|
10
|
+
}
|
|
11
|
+
function getB(value) {
|
|
12
|
+
return (value & (0xf << 12)) >> 12;
|
|
13
|
+
}
|
|
14
|
+
function setS(value, sl) {
|
|
15
|
+
return (sl & ~0xf) | value;
|
|
16
|
+
}
|
|
17
|
+
function setR(value, sl) {
|
|
18
|
+
return (sl & ~(0xf << 4)) | (value << 4);
|
|
19
|
+
}
|
|
20
|
+
function setG(value, sl) {
|
|
21
|
+
return (sl & ~(0xf << 8)) | (value << 8);
|
|
22
|
+
}
|
|
23
|
+
function setB(value, sl) {
|
|
24
|
+
return (sl & ~(0xf << 12)) | (value << 12);
|
|
25
|
+
}
|
|
26
|
+
/**# Is Less Than For RGB Remove
|
|
27
|
+
* ---
|
|
28
|
+
* Compares values for the RGB encoded light values.
|
|
29
|
+
* Used for RGB light remove.
|
|
30
|
+
* @param n1
|
|
31
|
+
* @param n2
|
|
32
|
+
*/
|
|
33
|
+
export function isLessThanForRGBRemove(n1, n2) {
|
|
34
|
+
let r1 = getR(n1);
|
|
35
|
+
let g1 = getG(n1);
|
|
36
|
+
let b1 = getB(n1);
|
|
37
|
+
let r2 = getR(n2);
|
|
38
|
+
let g2 = getG(n2);
|
|
39
|
+
let b2 = getB(n2);
|
|
40
|
+
return r1 < r2 || g1 < g2 || b1 < b2;
|
|
41
|
+
}
|
|
42
|
+
/**# Is Less Than For RGB Add
|
|
43
|
+
* ---
|
|
44
|
+
* Compares values for the RGB encoded light values.
|
|
45
|
+
* Used for RGB light add.
|
|
46
|
+
* @param n1
|
|
47
|
+
* @param n2
|
|
48
|
+
*/
|
|
49
|
+
export function isLessThanForRGBAdd(n1, n2) {
|
|
50
|
+
let r1 = getR(n1) + 2;
|
|
51
|
+
let g1 = getG(n1) + 2;
|
|
52
|
+
let b1 = getB(n1) + 2;
|
|
53
|
+
let r2 = getR(n2);
|
|
54
|
+
let g2 = getG(n2);
|
|
55
|
+
let b2 = getB(n2);
|
|
56
|
+
return r1 <= r2 || g1 <= g2 || b1 <= b2;
|
|
57
|
+
}
|
|
58
|
+
/**# Is Greater Or Equal Than For RGB Remove
|
|
59
|
+
* ---
|
|
60
|
+
* Compares values for the RGB encoded light values.
|
|
61
|
+
* Used for RGB light remove.
|
|
62
|
+
* @param n1
|
|
63
|
+
* @param n2
|
|
64
|
+
*/
|
|
65
|
+
export function isGreaterOrEqualThanForRGBRemove(n1, n2) {
|
|
66
|
+
let r1 = getR(n1);
|
|
67
|
+
let g1 = getG(n1);
|
|
68
|
+
let b1 = getB(n1);
|
|
69
|
+
let r2 = getR(n2);
|
|
70
|
+
let g2 = getG(n2);
|
|
71
|
+
let b2 = getB(n2);
|
|
72
|
+
return r1 >= r2 || g1 >= g2 || b1 >= b2;
|
|
73
|
+
}
|
|
74
|
+
/**# Get Minus One For RGB
|
|
75
|
+
* ---
|
|
76
|
+
* Returns the RGB light values minus one.
|
|
77
|
+
* @param sl - source light value
|
|
78
|
+
*/
|
|
79
|
+
export function getMinusOneForRGB(sl, nl) {
|
|
80
|
+
let s = getS(nl);
|
|
81
|
+
let r = getR(sl) - 1;
|
|
82
|
+
if (r < 0)
|
|
83
|
+
r = 0;
|
|
84
|
+
let rn = getR(nl);
|
|
85
|
+
if (r < rn) {
|
|
86
|
+
r = rn;
|
|
87
|
+
}
|
|
88
|
+
let g = getG(sl) - 1;
|
|
89
|
+
if (g < 0)
|
|
90
|
+
g = 0;
|
|
91
|
+
let gn = getG(nl);
|
|
92
|
+
if (g < gn) {
|
|
93
|
+
g = gn;
|
|
94
|
+
}
|
|
95
|
+
let b = getB(sl) - 1;
|
|
96
|
+
if (b < 0)
|
|
97
|
+
b = 0;
|
|
98
|
+
let bn = getB(nl);
|
|
99
|
+
if (b < bn) {
|
|
100
|
+
b = bn;
|
|
101
|
+
}
|
|
102
|
+
let bv = 0;
|
|
103
|
+
bv = setS(s, bv);
|
|
104
|
+
bv = setR(r, bv);
|
|
105
|
+
bv = setG(g, bv);
|
|
106
|
+
bv = setB(b, bv);
|
|
107
|
+
return bv;
|
|
108
|
+
}
|
|
109
|
+
/**# Remove RGB Light
|
|
110
|
+
* ---
|
|
111
|
+
* Removes all RGB light from an encoded light value.
|
|
112
|
+
* @param sl - source light value
|
|
113
|
+
*/
|
|
114
|
+
export function removeRGBLight(sl) {
|
|
115
|
+
let s = getS(sl);
|
|
116
|
+
let bv = 0;
|
|
117
|
+
bv = setR(0, bv);
|
|
118
|
+
bv = setG(0, bv);
|
|
119
|
+
bv = setB(0, bv);
|
|
120
|
+
bv = setS(s, bv);
|
|
121
|
+
return bv;
|
|
122
|
+
}
|
|
123
|
+
/**# Get Full Sun Light
|
|
124
|
+
* --
|
|
125
|
+
* Alters the encoded light number passed to it to give it full sun light.
|
|
126
|
+
* @param sl - source light value
|
|
127
|
+
*/
|
|
128
|
+
export function getFullSunLight(sl) {
|
|
129
|
+
return sl | 0b1111;
|
|
130
|
+
}
|
|
131
|
+
/**# Is Less Than For Sun Add
|
|
132
|
+
* ---
|
|
133
|
+
* Used to calculate sun light addition.
|
|
134
|
+
* Used to check all neighbors expect down.
|
|
135
|
+
* @param n1
|
|
136
|
+
* @param n2
|
|
137
|
+
*/
|
|
138
|
+
export function isLessThanForSunAdd(n1, n2) {
|
|
139
|
+
let sl1 = getS(n1);
|
|
140
|
+
let sl2 = getS(n2);
|
|
141
|
+
return sl1 + SRS < sl2;
|
|
142
|
+
}
|
|
143
|
+
/**# Is Less Than For Sun AddDown
|
|
144
|
+
*
|
|
145
|
+
* Used to calculate sun light addition.
|
|
146
|
+
* Used to check only the down neighbor.
|
|
147
|
+
* @param n1
|
|
148
|
+
* @param n2
|
|
149
|
+
*/
|
|
150
|
+
export function isLessThanForSunAddDown(n1, n2) {
|
|
151
|
+
let sl1 = getS(n1);
|
|
152
|
+
let sl2 = getS(n2);
|
|
153
|
+
if (sl2 == 0xf) {
|
|
154
|
+
return sl1 < sl2;
|
|
155
|
+
}
|
|
156
|
+
return sl1 + SRS < sl2;
|
|
157
|
+
}
|
|
158
|
+
export function isLessThanForSunAddUp(n1, n2) {
|
|
159
|
+
let sl1 = getS(n1);
|
|
160
|
+
let sl2 = getS(n2);
|
|
161
|
+
if (sl1 == sl2)
|
|
162
|
+
return false;
|
|
163
|
+
if (sl2 == 0xf || sl1 == 0xf)
|
|
164
|
+
return false;
|
|
165
|
+
return sl1 + SRS < sl2;
|
|
166
|
+
}
|
|
167
|
+
/**# Get Sun Light For Under Voxel
|
|
168
|
+
* ---
|
|
169
|
+
* Gets the sun light value for sun light addition when setting the
|
|
170
|
+
* down neighbor.
|
|
171
|
+
* @param currentVoxel
|
|
172
|
+
*/
|
|
173
|
+
export function getSunLightForUnderVoxel(sl, nl) {
|
|
174
|
+
let s = getS(sl);
|
|
175
|
+
let sn = getS(nl);
|
|
176
|
+
if (s == 15) {
|
|
177
|
+
sn = s;
|
|
178
|
+
}
|
|
179
|
+
if (s < 15) {
|
|
180
|
+
sn = s - SRS;
|
|
181
|
+
}
|
|
182
|
+
let r = getR(nl);
|
|
183
|
+
let g = getG(nl);
|
|
184
|
+
let b = getB(nl);
|
|
185
|
+
let bv = 0;
|
|
186
|
+
bv = setS(sn, bv);
|
|
187
|
+
bv = setR(r, bv);
|
|
188
|
+
bv = setG(g, bv);
|
|
189
|
+
bv = setB(b, bv);
|
|
190
|
+
return bv;
|
|
191
|
+
}
|
|
192
|
+
/**# Get Minus One For Sun
|
|
193
|
+
* ---
|
|
194
|
+
* Returns the sun light level passed to it minus one.
|
|
195
|
+
* Used for sun light addition on all neighbors expect the down one.
|
|
196
|
+
* @param sl - source light value
|
|
197
|
+
*/
|
|
198
|
+
export function getMinusOneForSun(sl, nl) {
|
|
199
|
+
let s = getS(sl) - SRS;
|
|
200
|
+
if (s < 0)
|
|
201
|
+
s = 0;
|
|
202
|
+
let sn = getS(nl);
|
|
203
|
+
if (s < sn) {
|
|
204
|
+
s = sn;
|
|
205
|
+
}
|
|
206
|
+
let r = getR(nl);
|
|
207
|
+
let g = getG(nl);
|
|
208
|
+
let b = getB(nl);
|
|
209
|
+
let bv = 0;
|
|
210
|
+
bv = setS(s, bv);
|
|
211
|
+
bv = setR(r, bv);
|
|
212
|
+
bv = setG(g, bv);
|
|
213
|
+
bv = setB(b, bv);
|
|
214
|
+
return bv;
|
|
215
|
+
}
|
|
216
|
+
/**# Is Less Than For Sun Remove
|
|
217
|
+
* ---
|
|
218
|
+
* Compares two encoded light values sun light values.
|
|
219
|
+
* Used for sun light removal.
|
|
220
|
+
* @param n1
|
|
221
|
+
* @param sl - source light value
|
|
222
|
+
*/
|
|
223
|
+
export function isLessThanForSunRemove(n1, sl) {
|
|
224
|
+
let s1 = getS(n1);
|
|
225
|
+
let s2 = getS(sl);
|
|
226
|
+
return s1 < s2;
|
|
227
|
+
}
|
|
228
|
+
/**# Is Greater Or Equal Than For Sun Remove
|
|
229
|
+
* ---
|
|
230
|
+
* Compares two encoded light values sun light values.
|
|
231
|
+
* Used for sun light removal.
|
|
232
|
+
* @param n1
|
|
233
|
+
* @param sl - source light value
|
|
234
|
+
*/
|
|
235
|
+
export function isGreaterOrEqualThanForSunRemove(n1, sl) {
|
|
236
|
+
let s1 = getS(n1);
|
|
237
|
+
let s2 = getS(sl);
|
|
238
|
+
return s1 >= s2;
|
|
239
|
+
}
|
|
240
|
+
/**# Sun Light Compare ForDown Sun Remove
|
|
241
|
+
* ---
|
|
242
|
+
* Compares two encoded light values sun light values.
|
|
243
|
+
* Used for sun light removal in the downward direction only.
|
|
244
|
+
* @param n1
|
|
245
|
+
* @param sl - source light value
|
|
246
|
+
*/
|
|
247
|
+
export function sunLightCompareForDownSunRemove(n1, sl) {
|
|
248
|
+
let s2 = getS(sl);
|
|
249
|
+
if (s2 == 0xf)
|
|
250
|
+
return true;
|
|
251
|
+
let s1 = getS(n1);
|
|
252
|
+
return s1 < s2;
|
|
253
|
+
}
|
|
254
|
+
/**# Remove Sun Light
|
|
255
|
+
* ---
|
|
256
|
+
* Removes the sun light from a light encoded value.
|
|
257
|
+
* @param sl - source light value
|
|
258
|
+
*/
|
|
259
|
+
export function removeSunLight(sl) {
|
|
260
|
+
return setS(0, sl);
|
|
261
|
+
}
|
|
262
|
+
export function minusOneForAll(sl) {
|
|
263
|
+
let s = getS(sl) - SRS;
|
|
264
|
+
let r = getR(sl) - 1;
|
|
265
|
+
let g = getG(sl) - 1;
|
|
266
|
+
let b = getB(sl) - 1;
|
|
267
|
+
if (s < 0)
|
|
268
|
+
s = 0;
|
|
269
|
+
if (r < 0)
|
|
270
|
+
r = 0;
|
|
271
|
+
if (g < 0)
|
|
272
|
+
g = 0;
|
|
273
|
+
if (b < 0)
|
|
274
|
+
b = 0;
|
|
275
|
+
let nl = setS(s, 0);
|
|
276
|
+
nl = setR(r, nl);
|
|
277
|
+
nl = setG(g, nl);
|
|
278
|
+
nl = setB(b, nl);
|
|
279
|
+
return nl;
|
|
280
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $3dCardinalNeighbors } from "
|
|
2
|
-
import {
|
|
1
|
+
import { $3dCardinalNeighbors } from "../../../Math/CardinalNeighbors";
|
|
2
|
+
import { getMinusOneForRGB, isGreaterOrEqualThanForRGBRemove, isLessThanForRGBAdd, isLessThanForRGBRemove, removeSunLight, } from "./CommonFunctions";
|
|
3
3
|
//@todo change array to not use push and shift
|
|
4
4
|
export function RGBUpdate(tasks) {
|
|
5
5
|
const queue = tasks.rgb.update;
|
|
@@ -23,9 +23,9 @@ export function RGBUpdate(tasks) {
|
|
|
23
23
|
if (!voxel)
|
|
24
24
|
continue;
|
|
25
25
|
const nl = voxel.getLight();
|
|
26
|
-
if (nl > -1 &&
|
|
26
|
+
if (nl > -1 && isLessThanForRGBAdd(nl, sl)) {
|
|
27
27
|
queue.push(nx, ny, nz);
|
|
28
|
-
voxel.setLight(
|
|
28
|
+
voxel.setLight(getMinusOneForRGB(sl, nl));
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
tasks.bounds.update(x, y, z);
|
|
@@ -59,8 +59,8 @@ export function RGBRemove(tasks) {
|
|
|
59
59
|
if (!voxel)
|
|
60
60
|
continue;
|
|
61
61
|
const nl = voxel.getLight();
|
|
62
|
-
const n1HasRGB =
|
|
63
|
-
if (n1HasRGB &&
|
|
62
|
+
const n1HasRGB = voxel.hasRGBLight();
|
|
63
|
+
if (n1HasRGB && isLessThanForRGBRemove(nl, sl)) {
|
|
64
64
|
remove.push(nx, ny, nz);
|
|
65
65
|
if (voxel.isLightSource()) {
|
|
66
66
|
update.push(nx, ny, nz);
|
|
@@ -68,7 +68,7 @@ export function RGBRemove(tasks) {
|
|
|
68
68
|
}
|
|
69
69
|
else {
|
|
70
70
|
if (n1HasRGB &&
|
|
71
|
-
|
|
71
|
+
isGreaterOrEqualThanForRGBRemove(nl, sl) &&
|
|
72
72
|
!updateMap.has(nx, ny, nz)) {
|
|
73
73
|
updateMap.add(nx, ny, nz);
|
|
74
74
|
update.push(nx, ny, nz);
|
|
@@ -76,7 +76,7 @@ export function RGBRemove(tasks) {
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
tasks.bounds.update(x, y, z);
|
|
79
|
-
voxel.setLight(
|
|
79
|
+
voxel.setLight(removeSunLight(sl));
|
|
80
80
|
}
|
|
81
81
|
removeMap.clear();
|
|
82
82
|
}
|