@divinevoxel/vlox 0.0.4 → 0.0.6
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 +17 -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 +1 -4
- package/Contexts/Render/DVERenderThreads.js +2 -8
- package/Contexts/Render/DivineVoxelEngineRender.d.ts +28 -9
- package/Contexts/Render/DivineVoxelEngineRender.js +3 -5
- 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 +24 -47
- 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 +111 -103
- package/Mesher/Functions/MeshSection.d.ts +3 -0
- package/Mesher/Functions/MeshSection.js +117 -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 +44 -0
- package/Mesher/Geomtry/Buffers.d.ts +19 -0
- package/Mesher/Geomtry/Buffers.js +81 -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/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/VoxelMesh.d.ts +13 -0
- package/Mesher/Geomtry/VoxelMesh.js +28 -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 +43 -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 +16 -15
- package/Mesher/Models/Nodes/Ruled/QuadVoxelGeometryNode.d.ts +4 -2
- package/Mesher/Models/Nodes/Ruled/QuadVoxelGeometryNode.js +16 -15
- 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 +4 -4
- package/Mesher/Models/VoxelGeometryLookUp.d.ts +22 -13
- package/Mesher/Models/VoxelGeometryLookUp.js +75 -41
- 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 +23 -28
- package/Mesher/Tools/VoxelMeshVertexStructCursor.d.ts +3 -1
- package/Mesher/Tools/VoxelMesherDataTool.d.ts +23 -17
- package/Mesher/Tools/VoxelMesherDataTool.js +29 -62
- 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/DVESectionMeshes.d.ts +7 -0
- package/Renderer/Classes/DVESectionMeshes.js +2 -0
- package/Renderer/Classes/SectionMesh.d.ts +12 -0
- package/Renderer/Classes/SectionMesh.js +23 -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 +31 -0
- package/Renderer/MeshManager.d.ts +5 -7
- package/Renderer/MeshManager.js +31 -52
- package/Renderer/MeshRegister.d.ts +9 -27
- package/Renderer/MeshRegister.js +38 -164
- package/Renderer/Renderer.types.d.ts +21 -0
- package/Renderer/index.d.ts +3 -0
- package/Renderer/index.js +3 -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 +111 -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 +51 -0
- package/Tasks/IWG/Internal/Functions/runWorldUpdate.d.ts +2 -0
- package/Tasks/IWG/Internal/Functions/runWorldUpdate.js +70 -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 +148 -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 +151 -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 +43 -0
- package/Tasks/Propagation/Illumanation/WorldSun.d.ts +2 -0
- package/Tasks/Propagation/Illumanation/WorldSun.js +116 -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 +29 -42
- package/Tasks/WorldGeneration/WorldGeneration.d.ts +0 -2
- package/Tasks/WorldGeneration/WorldGeneration.js +14 -12
- 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 +21 -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 +354 -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 +70 -0
- package/World/Cursor/SectionCursor.d.ts +16 -0
- package/World/Cursor/SectionCursor.js +57 -0
- package/{Data/Cursor/World/ColumnCursor.d.ts → World/Cursor/SectorCursor.d.ts} +8 -7
- package/World/Cursor/SectorCursor.js +57 -0
- package/{Data/Cursor/World → World/Cursor}/WorldCursor.d.ts +4 -4
- package/World/Cursor/WorldCursor.js +51 -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 +92 -0
- package/World/Lock/WorldLock.d.ts +11 -0
- package/{Contexts/World → World}/Lock/WorldLock.js +33 -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 +47 -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/World/WorldRegister.d.ts +33 -0
- package/World/WorldRegister.js +95 -0
- package/World/WorldSpaces.d.ts +55 -0
- package/World/WorldSpaces.js +147 -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/WorldBounds.d.ts +0 -20
- package/Data/World/WorldBounds.js +0 -49
- 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/Tasks/BuidlerTasks.types.js +0 -1
- 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/Renderer.types.js} +0 -0
- /package/{Contexts/Render/Tasks/RenderTasks.types.js → Tasks/Propagation/Flow/CommonFunctions.d.ts} +0 -0
- /package/{Data/Cursor/World/WorldSectionCursor.interface.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/DimensionData.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/{Data/Types/RichWorldData.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/Math.types.js → World/Cursor/WorldSectionCursor.interface.js} +0 -0
- /package/{Math/Spaces/VoxelSpaces.types.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/Meshers/MesherInterface.js → World/Types/WorldData.types.js} +0 -0
|
@@ -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
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isLessThanForSunAdd, getMinusOneForSun, isLessThanForSunAddDown, getSunLightForUnderVoxel, removeSunLight, isLessThanForSunRemove, isGreaterOrEqualThanForSunRemove, sunLightCompareForDownSunRemove, } from "./CommonFunctions";
|
|
2
2
|
const FloodOutPositions = [
|
|
3
3
|
[1, 0, 0],
|
|
4
4
|
[-1, 0, 0],
|
|
@@ -27,9 +27,9 @@ export function SunUpdate(tasks) {
|
|
|
27
27
|
const nVoxel = tasks.nDataCursor.getVoxel(nx, ny, nz);
|
|
28
28
|
if (nVoxel) {
|
|
29
29
|
const nl = nVoxel.getLight();
|
|
30
|
-
if (nl > -1 &&
|
|
30
|
+
if (nl > -1 && isLessThanForSunAdd(nl, sl)) {
|
|
31
31
|
queue.push(nx, ny, nz);
|
|
32
|
-
nVoxel.setLight(
|
|
32
|
+
nVoxel.setLight(getMinusOneForSun(sl, nl));
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
}
|
|
@@ -37,15 +37,15 @@ export function SunUpdate(tasks) {
|
|
|
37
37
|
const nVoxel = tasks.nDataCursor.getVoxel(x, y - 1, z);
|
|
38
38
|
if (nVoxel) {
|
|
39
39
|
const nl = nVoxel.getLight();
|
|
40
|
-
if (nl > -1 &&
|
|
40
|
+
if (nl > -1 && isLessThanForSunAddDown(nl, sl)) {
|
|
41
41
|
if (nVoxel.isAir()) {
|
|
42
42
|
queue.push(x, y - 1, z);
|
|
43
|
-
nVoxel.setLight(
|
|
43
|
+
nVoxel.setLight(getSunLightForUnderVoxel(sl, nl));
|
|
44
44
|
}
|
|
45
45
|
else {
|
|
46
46
|
if (!nVoxel.isOpaque()) {
|
|
47
47
|
queue.push(x, y - 1, z);
|
|
48
|
-
nVoxel.setLight(
|
|
48
|
+
nVoxel.setLight(getMinusOneForSun(sl, nl));
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
}
|
|
@@ -82,10 +82,10 @@ export function SunRemove(tasks, clearUpdateMap = true) {
|
|
|
82
82
|
if (nVoxel) {
|
|
83
83
|
const nl = nVoxel.getLight();
|
|
84
84
|
if (nl > 0) {
|
|
85
|
-
if (
|
|
85
|
+
if (isLessThanForSunRemove(nl, sl)) {
|
|
86
86
|
remove.push(nx, ny, nz);
|
|
87
87
|
}
|
|
88
|
-
else if (
|
|
88
|
+
else if (isGreaterOrEqualThanForSunRemove(nl, sl) &&
|
|
89
89
|
!updateMap.has(nx, ny, nz)) {
|
|
90
90
|
updateMap.add(nx, ny, nz);
|
|
91
91
|
update.push(nx, ny, nz);
|
|
@@ -98,10 +98,10 @@ export function SunRemove(tasks, clearUpdateMap = true) {
|
|
|
98
98
|
if (nVoxel) {
|
|
99
99
|
const nl = nVoxel.getLight();
|
|
100
100
|
if (nl > 0) {
|
|
101
|
-
if (
|
|
101
|
+
if (sunLightCompareForDownSunRemove(nl, sl)) {
|
|
102
102
|
remove.push(x, y - 1, z);
|
|
103
103
|
}
|
|
104
|
-
else if (
|
|
104
|
+
else if (isGreaterOrEqualThanForSunRemove(nl, sl) &&
|
|
105
105
|
!updateMap.has(x, y - 1, z)) {
|
|
106
106
|
updateMap.add(x, y - 1, z);
|
|
107
107
|
update.push(x, y - 1, z);
|
|
@@ -110,7 +110,7 @@ export function SunRemove(tasks, clearUpdateMap = true) {
|
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
tasks.bounds.update(x, y, z);
|
|
113
|
-
voxel.setLight(
|
|
113
|
+
voxel.setLight(removeSunLight(sl));
|
|
114
114
|
}
|
|
115
115
|
removeMap.clear();
|
|
116
116
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { WorldSpaces } from "../../../World/WorldSpaces";
|
|
2
|
+
import { WorldRegister } from "../../../World/WorldRegister";
|
|
3
|
+
import { SectionCursor } from "../../../World/Cursor/SectionCursor";
|
|
4
|
+
import { SectionHeightMap } from "../../../World/Section/SectionHeightMap";
|
|
5
|
+
import { EngineSettings } from "../../../Settings/EngineSettings";
|
|
6
|
+
import { RGBUpdate } from "./RGBUpdate";
|
|
7
|
+
const sectionCursor = new SectionCursor();
|
|
8
|
+
export function WorldRGB(task) {
|
|
9
|
+
if (!EngineSettings.doLight())
|
|
10
|
+
return false;
|
|
11
|
+
const sector = WorldRegister.sectors.get(task.origin[0], task.origin[1], task.origin[2], task.origin[3]);
|
|
12
|
+
if (!sector) {
|
|
13
|
+
console.error(`Tried running world rgb on a sector that does not exist ${task.origin.toString()}`);
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
let maxX = WorldSpaces.section.bounds.x + sector.position[0];
|
|
17
|
+
let maxZ = WorldSpaces.section.bounds.z + sector.position[2];
|
|
18
|
+
for (let i = 0; i < sector.sections.length; i++) {
|
|
19
|
+
const section = sector.sections[i];
|
|
20
|
+
if (!section)
|
|
21
|
+
continue;
|
|
22
|
+
sectionCursor.setSection(section);
|
|
23
|
+
let [minY, maxY] = SectionHeightMap.setSection(section).getMinMax();
|
|
24
|
+
const cx = sector.position[0];
|
|
25
|
+
const cy = sector.position[1] + i * WorldSpaces.section.bounds.y;
|
|
26
|
+
const cz = sector.position[2];
|
|
27
|
+
if (Math.abs(minY) == Infinity && Math.abs(maxY) == Infinity)
|
|
28
|
+
continue;
|
|
29
|
+
for (let y = cy + minY; y <= cy + maxY; y++) {
|
|
30
|
+
for (let x = cx; x < maxX; x++) {
|
|
31
|
+
for (let z = cz; z < maxZ; z++) {
|
|
32
|
+
const voxel = sectionCursor.getVoxel(x, y, z);
|
|
33
|
+
if (!voxel || voxel.isAir())
|
|
34
|
+
continue;
|
|
35
|
+
if (voxel.isLightSource()) {
|
|
36
|
+
task.rgb.update.push(x, y, z);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
RGBUpdate(task);
|
|
43
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
//types
|
|
2
|
+
//data
|
|
3
|
+
import { $3dCardinalNeighbors } from "../../../Math/CardinalNeighbors.js";
|
|
4
|
+
import { WorldSpaces } from "../../../World/WorldSpaces.js";
|
|
5
|
+
import { SectorHeightMap } from "../../../World/Sector/SectorHeightMap.js";
|
|
6
|
+
import { VoxelLightData } from "../../../Voxels/Cursor/VoxelLightData.js";
|
|
7
|
+
import { getMinusOneForSun, getSunLightForUnderVoxel, isLessThanForSunAddDown, isLessThanForSunAdd, } from "./CommonFunctions.js";
|
|
8
|
+
const FloodOutPositions = [
|
|
9
|
+
[1, 0, 0],
|
|
10
|
+
[-1, 0, 0],
|
|
11
|
+
[0, 0, 1],
|
|
12
|
+
[0, 0, -1],
|
|
13
|
+
[0, 1, 0],
|
|
14
|
+
];
|
|
15
|
+
const queue = [];
|
|
16
|
+
const lightData = new VoxelLightData();
|
|
17
|
+
export function RunWorldSun(tasks) {
|
|
18
|
+
const [dimension, cx, cy, cz] = tasks.origin;
|
|
19
|
+
const RmaxY = SectorHeightMap.getRelative(tasks.origin);
|
|
20
|
+
const AmaxY = SectorHeightMap.getAbsolute(tasks.origin);
|
|
21
|
+
const maxX = cx + WorldSpaces.sector.bounds.x;
|
|
22
|
+
const maxY = WorldSpaces.world.bounds.MaxY;
|
|
23
|
+
const maxZ = cz + WorldSpaces.sector.bounds.z;
|
|
24
|
+
const sectorCursor = tasks.nDataCursor.getSector(tasks.origin[1], tasks.origin[2], tasks.origin[3]);
|
|
25
|
+
if (!sectorCursor) {
|
|
26
|
+
console.warn("Could not load sector when running world sun at ", tasks.origin.toString());
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const minY = AmaxY - 1 < 0 ? 0 : AmaxY;
|
|
30
|
+
//fill
|
|
31
|
+
for (let iy = minY; iy < maxY; iy++) {
|
|
32
|
+
for (let ix = cx; ix < maxX; ix++) {
|
|
33
|
+
for (let iz = cz; iz < maxZ; iz++) {
|
|
34
|
+
const voxel = sectorCursor.getVoxel(ix, iy, iz);
|
|
35
|
+
if (!voxel)
|
|
36
|
+
continue;
|
|
37
|
+
const l = voxel.getLight();
|
|
38
|
+
if (l < 0)
|
|
39
|
+
continue;
|
|
40
|
+
voxel.setLight(lightData.setS(0xf, l));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
const maxAcculamteY = AmaxY == RmaxY ? RmaxY + 1 : RmaxY;
|
|
45
|
+
let index = queue.length;
|
|
46
|
+
//accumulate
|
|
47
|
+
for (let iy = minY; iy <= maxAcculamteY; iy++) {
|
|
48
|
+
for (let ix = cx; ix < maxX; ix++) {
|
|
49
|
+
for (let iz = cz; iz < maxZ; iz++) {
|
|
50
|
+
const l = sectorCursor.getVoxel(ix, iy, iz)?.getLight();
|
|
51
|
+
if (l && l < 0 && lightData.getS(l) != 0xf)
|
|
52
|
+
continue;
|
|
53
|
+
for (let i = 0; i < $3dCardinalNeighbors.length; i++) {
|
|
54
|
+
const n = $3dCardinalNeighbors[i];
|
|
55
|
+
const nx = ix + n[0];
|
|
56
|
+
const ny = iy + n[1];
|
|
57
|
+
const nz = iz + n[2];
|
|
58
|
+
const nVoxel = tasks.nDataCursor.getVoxel(nx, ny, nz);
|
|
59
|
+
if (!nVoxel)
|
|
60
|
+
continue;
|
|
61
|
+
const nl = nVoxel.getLight();
|
|
62
|
+
if (nl > -1 && lightData.getS(nl) < 0xf) {
|
|
63
|
+
queue[index++] = ix;
|
|
64
|
+
queue[index++] = iy;
|
|
65
|
+
queue[index++] = iz;
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//flood
|
|
73
|
+
while (queue.length) {
|
|
74
|
+
const x = queue.shift();
|
|
75
|
+
const y = queue.shift();
|
|
76
|
+
const z = queue.shift();
|
|
77
|
+
const sl = tasks.sDataCursor.getVoxel(x, y, z)?.getLight();
|
|
78
|
+
if (!sl || sl < 0)
|
|
79
|
+
continue;
|
|
80
|
+
for (let i = 0; i < 5; i++) {
|
|
81
|
+
const nx = x + FloodOutPositions[i][0];
|
|
82
|
+
const ny = y + FloodOutPositions[i][1];
|
|
83
|
+
const nz = z + FloodOutPositions[i][2];
|
|
84
|
+
const nVoxel = tasks.nDataCursor.getVoxel(nx, ny, nz);
|
|
85
|
+
if (nVoxel) {
|
|
86
|
+
const nl = nVoxel.getLight();
|
|
87
|
+
if (nl > -1 && isLessThanForSunAdd(nl, sl)) {
|
|
88
|
+
queue.push(nx);
|
|
89
|
+
queue.push(ny);
|
|
90
|
+
queue.push(nz);
|
|
91
|
+
nVoxel.setLight(getMinusOneForSun(sl, nl));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
const nVoxel = tasks.nDataCursor.getVoxel(x, y - 1, z);
|
|
96
|
+
if (nVoxel) {
|
|
97
|
+
const nl = nVoxel.getLight();
|
|
98
|
+
if (nl > -1 && isLessThanForSunAddDown(nl, sl)) {
|
|
99
|
+
if (nVoxel.isAir()) {
|
|
100
|
+
queue.push(x);
|
|
101
|
+
queue.push(y - 1);
|
|
102
|
+
queue.push(z);
|
|
103
|
+
nVoxel.setLight(getSunLightForUnderVoxel(sl, nl));
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
if (!nVoxel.isOpaque()) {
|
|
107
|
+
queue.push(x);
|
|
108
|
+
queue.push(y - 1);
|
|
109
|
+
queue.push(z);
|
|
110
|
+
nVoxel.setLight(getMinusOneForSun(sl, nl));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|