@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.
Files changed (663) hide show
  1. package/Cache/Cache.types.d.ts +3 -3
  2. package/Contexts/Base/Main/DataGenerator.types.d.ts +5 -0
  3. package/Contexts/Base/Main/{Generator/InitDataGenerator.d.ts → InitDataGenerator.d.ts} +1 -1
  4. package/Contexts/Base/Main/InitDataGenerator.js +19 -0
  5. package/Contexts/Base/Remote/DataSync.types.d.ts +18 -0
  6. package/Contexts/Base/Remote/InitDataSync.js +42 -0
  7. package/Contexts/Base/Remote/InitWorldDataSync.js +17 -0
  8. package/Contexts/Base/ThreadManager.d.ts +6 -11
  9. package/Contexts/Base/ThreadManager.js +31 -30
  10. package/Contexts/Constructor/DivineVoxelEngineConstructor.d.ts +0 -2
  11. package/Contexts/Constructor/DivineVoxelEngineConstructor.js +0 -2
  12. package/Contexts/Nexus/DivineVoxelEngineNexus.d.ts +0 -2
  13. package/Contexts/Nexus/DivineVoxelEngineNexus.js +0 -6
  14. package/Contexts/Nexus/NexusTheads.js +1 -4
  15. package/Contexts/Render/DVERenderThreads.d.ts +1 -4
  16. package/Contexts/Render/DVERenderThreads.js +2 -8
  17. package/Contexts/Render/DivineVoxelEngineRender.d.ts +28 -9
  18. package/Contexts/Render/DivineVoxelEngineRender.js +3 -5
  19. package/Contexts/World/DivineVoxelEngineWorld.d.ts +28 -10
  20. package/Contexts/World/DivineVoxelEngineWorld.js +0 -26
  21. package/Contexts/World/WorldThreads.d.ts +1 -2
  22. package/Contexts/World/WorldThreads.js +1 -4
  23. package/Data/Cursor/{Interfaces/DataCursor.interface.d.ts → DataCursor.interface.d.ts} +1 -1
  24. package/Data/Structs/{Builder/StructBuilder.d.ts → StructBuilder.d.ts} +5 -3
  25. package/Init/StartConstructor.js +23 -19
  26. package/Init/StartNexus.js +12 -9
  27. package/Init/StartRenderer.d.ts +2 -12
  28. package/Init/StartRenderer.js +24 -47
  29. package/Init/StartWorld.d.ts +4 -1
  30. package/Init/StartWorld.js +22 -97
  31. package/Math/Indexing.d.ts +12 -0
  32. package/Math/Indexing.js +58 -0
  33. package/Math/index.d.ts +8 -11
  34. package/Math/index.js +2 -11
  35. package/Mesher/Functions/CompactMesh.d.ts +2 -3
  36. package/Mesher/Functions/CompactMesh.js +36 -31
  37. package/Mesher/Functions/CompactVoxelMesh.d.ts +1 -1
  38. package/Mesher/Functions/CompactVoxelMesh.js +111 -103
  39. package/Mesher/Functions/MeshSection.d.ts +3 -0
  40. package/Mesher/Functions/MeshSection.js +117 -0
  41. package/Mesher/Functions/MeshTexture.d.ts +1 -0
  42. package/Mesher/Functions/MeshTexture.js +275 -0
  43. package/Mesher/Functions/MeshVoxel.d.ts +3 -0
  44. package/Mesher/Functions/MeshVoxel.js +44 -0
  45. package/Mesher/Geomtry/Buffers.d.ts +19 -0
  46. package/Mesher/Geomtry/Buffers.js +81 -0
  47. package/Mesher/Geomtry/Geometry.types.d.ts +11 -0
  48. package/Mesher/Geomtry/Geometry.types.js +13 -0
  49. package/Mesher/Geomtry/GeometryNormals.d.ts +10 -0
  50. package/Mesher/Geomtry/GeometryNormals.js +52 -0
  51. package/Mesher/Geomtry/MeshData.types.d.ts +13 -0
  52. package/Mesher/Geomtry/MeshData.types.js +6 -0
  53. package/Mesher/Geomtry/Primitives/Quad.d.ts +38 -0
  54. package/Mesher/Geomtry/Primitives/Quad.js +224 -0
  55. package/Mesher/Geomtry/Primitives/QuadVertexData.d.ts +66 -0
  56. package/Mesher/Geomtry/Primitives/QuadVertexData.js +349 -0
  57. package/Mesher/Geomtry/Primitives/index.d.ts +2 -0
  58. package/Mesher/Geomtry/Primitives/index.js +2 -0
  59. package/Mesher/Geomtry/Tools/MesherDataTools.d.ts +7 -0
  60. package/Mesher/Geomtry/Tools/MesherDataTools.js +12 -0
  61. package/Mesher/Geomtry/Tools/index.d.ts +1 -0
  62. package/Mesher/Geomtry/Tools/index.js +1 -0
  63. package/Mesher/Geomtry/VoxelGeometryBuilder.d.ts +6 -0
  64. package/Mesher/Geomtry/VoxelGeometryBuilder.js +242 -0
  65. package/Mesher/Geomtry/VoxelMesh.d.ts +13 -0
  66. package/Mesher/Geomtry/VoxelMesh.js +28 -0
  67. package/Mesher/Geomtry/index.d.ts +2 -0
  68. package/Mesher/Geomtry/index.js +2 -0
  69. package/Mesher/InitMesher.d.ts +2 -0
  70. package/Mesher/InitMesher.js +23 -0
  71. package/Mesher/InitTask.d.ts +2 -0
  72. package/Mesher/InitTask.js +43 -0
  73. package/Mesher/Models/Common/BoxGeometryNode.d.ts +2 -2
  74. package/Mesher/Models/Common/BoxGeometryNode.js +61 -56
  75. package/Mesher/Models/Common/Calc/CalcConstants.d.ts +2 -2
  76. package/Mesher/Models/Common/Calc/CalcConstants.js +8 -7
  77. package/Mesher/Models/Common/Calc/FaceDataCalc.js +5 -4
  78. package/Mesher/Models/Common/QuadGeometryNode.d.ts +2 -2
  79. package/Mesher/Models/Common/QuadGeometryNode.js +1 -1
  80. package/Mesher/Models/Nodes/Custom/Liquid/FlowGradient.d.ts +10 -5
  81. package/Mesher/Models/Nodes/Custom/Liquid/FlowGradient.js +148 -57
  82. package/Mesher/Models/Nodes/Custom/Liquid/LiquidGeomtryNode.d.ts +1 -1
  83. package/Mesher/Models/Nodes/Custom/Liquid/LiquidGeomtryNode.js +59 -116
  84. package/Mesher/Models/Nodes/GeometryNode.d.ts +1 -1
  85. package/Mesher/Models/Nodes/Ruled/BoxVoxelGeometryNode.d.ts +4 -2
  86. package/Mesher/Models/Nodes/Ruled/BoxVoxelGeometryNode.js +16 -15
  87. package/Mesher/Models/Nodes/Ruled/QuadVoxelGeometryNode.d.ts +4 -2
  88. package/Mesher/Models/Nodes/Ruled/QuadVoxelGeometryNode.js +16 -15
  89. package/Mesher/Models/Nodes/Ruleless/RulelessBoxVoxelGeometryNode.d.ts +10 -3
  90. package/Mesher/Models/Nodes/Ruleless/RulelessBoxVoxelGeometryNode.js +9 -8
  91. package/Mesher/Models/Nodes/Ruleless/RulelessQuadVoxelGeometryNode.d.ts +4 -2
  92. package/Mesher/Models/Nodes/Ruleless/RulelessQuadVoxelGeometryNode.js +9 -8
  93. package/Mesher/Models/Nodes/VoxelGeometryConstructor.d.ts +2 -2
  94. package/Mesher/Models/Nodes/VoxelGeometryConstructor.js +1 -1
  95. package/Mesher/Models/VoxelConstructor.d.ts +3 -3
  96. package/Mesher/Models/VoxelConstructor.js +4 -4
  97. package/Mesher/Models/VoxelGeometryLookUp.d.ts +22 -13
  98. package/Mesher/Models/VoxelGeometryLookUp.js +75 -41
  99. package/Mesher/Models/VoxelModelConstructorRegister.d.ts +4 -4
  100. package/Mesher/Models/VoxelModelConstructorRegister.js +1 -1
  101. package/Mesher/RenderedMaterials.d.ts +6 -0
  102. package/Mesher/RenderedMaterials.js +12 -0
  103. package/Mesher/Tools/OutlinedVoxelTool.d.ts +2 -11
  104. package/Mesher/Tools/OutlinedVoxelTool.js +69 -39
  105. package/Mesher/Tools/VoxelMeshBVHBuilder.d.ts +1 -1
  106. package/Mesher/Tools/VoxelMeshBVHBuilder.js +23 -28
  107. package/Mesher/Tools/VoxelMeshVertexStructCursor.d.ts +3 -1
  108. package/Mesher/Tools/VoxelMesherDataTool.d.ts +23 -17
  109. package/Mesher/Tools/VoxelMesherDataTool.js +29 -62
  110. package/Mesher/Types/Mesher.types.d.ts +8 -12
  111. package/Models/Defaults/CubeVoxelModels.js +26 -26
  112. package/Models/Defaults/PanelVoxelModels.js +24 -24
  113. package/Models/Input/BoxVoxelGometryInputs.d.ts +5 -3
  114. package/Models/Input/BoxVoxelGometryInputs.js +5 -5
  115. package/Models/Input/QuadVoxelGometryInputs.d.ts +1 -1
  116. package/Models/Rules/Classes/OcclusionFace.js +1 -1
  117. package/Models/Rules/Classes/VoxelRulesGeometry.d.ts +3 -3
  118. package/Models/Rules/Functions/BuildGeomtryInputs.js +44 -37
  119. package/Models/Rules/Functions/GetOcclusionFaces.d.ts +2 -2
  120. package/Models/Rules/Functions/GetOcclusionFaces.js +1 -1
  121. package/Models/Shared/Transform.d.ts +2 -2
  122. package/Models/Shared/Transform.js +4 -6
  123. package/Models/VoxelModel.types.d.ts +1 -1
  124. package/Renderer/Classes/DVESectionMeshes.d.ts +7 -0
  125. package/Renderer/Classes/DVESectionMeshes.js +2 -0
  126. package/Renderer/Classes/SectionMesh.d.ts +12 -0
  127. package/Renderer/Classes/SectionMesh.js +23 -0
  128. package/Renderer/Classes/SectorMesh.d.ts +11 -0
  129. package/Renderer/Classes/SectorMesh.js +33 -0
  130. package/Renderer/DVERenderNode.types.d.ts +1 -1
  131. package/Renderer/DVERenderer.d.ts +2 -2
  132. package/Renderer/InitTasks.d.ts +2 -0
  133. package/Renderer/InitTasks.js +31 -0
  134. package/Renderer/MeshManager.d.ts +5 -7
  135. package/Renderer/MeshManager.js +31 -52
  136. package/Renderer/MeshRegister.d.ts +9 -27
  137. package/Renderer/MeshRegister.js +38 -164
  138. package/Renderer/Renderer.types.d.ts +21 -0
  139. package/Renderer/index.d.ts +3 -0
  140. package/Renderer/index.js +3 -0
  141. package/Settings/EngineSettings.d.ts +19 -21
  142. package/Settings/EngineSettings.js +15 -43
  143. package/Settings/EngineSettings.types.d.ts +8 -35
  144. package/Settings/EngineSettings.types.js +8 -35
  145. package/Tasks/IWG/IWG.d.ts +25 -0
  146. package/Tasks/IWG/IWG.js +89 -0
  147. package/Tasks/IWG/Internal/Classes/DimensionSegment.d.ts +37 -0
  148. package/Tasks/IWG/Internal/Classes/DimensionSegment.js +67 -0
  149. package/Tasks/IWG/Internal/Classes/Generator.d.ts +27 -0
  150. package/Tasks/IWG/Internal/Classes/Generator.js +41 -0
  151. package/Tasks/IWG/Internal/Classes/IWGTaskBase.d.ts +15 -0
  152. package/Tasks/IWG/Internal/Classes/IWGTaskBase.js +62 -0
  153. package/Tasks/IWG/Internal/Classes/SectorState.d.ts +11 -0
  154. package/Tasks/IWG/Internal/Classes/SectorState.js +20 -0
  155. package/Tasks/IWG/Internal/Classes/SectorVisistedMap.d.ts +9 -0
  156. package/Tasks/IWG/Internal/Classes/SectorVisistedMap.js +24 -0
  157. package/Tasks/IWG/Internal/Functions/cullSectors.d.ts +2 -0
  158. package/Tasks/IWG/Internal/Functions/cullSectors.js +111 -0
  159. package/Tasks/IWG/Internal/Functions/getSectorState.d.ts +4 -0
  160. package/Tasks/IWG/Internal/Functions/getSectorState.js +42 -0
  161. package/Tasks/IWG/Internal/Functions/runBuildUpdate.d.ts +2 -0
  162. package/Tasks/IWG/Internal/Functions/runBuildUpdate.js +51 -0
  163. package/Tasks/IWG/Internal/Functions/runWorldUpdate.d.ts +2 -0
  164. package/Tasks/IWG/Internal/Functions/runWorldUpdate.js +70 -0
  165. package/Tasks/IWG/Internal/IWGDimensions.d.ts +6 -0
  166. package/Tasks/IWG/Internal/IWGDimensions.js +17 -0
  167. package/Tasks/IWG/Internal/IWGTasks.d.ts +34 -0
  168. package/Tasks/IWG/Internal/IWGTasks.js +148 -0
  169. package/Tasks/IWG/Internal/IWGTools.d.ts +8 -0
  170. package/Tasks/IWG/Internal/IWGTools.js +5 -0
  171. package/Tasks/IWG/Internal/TaskRegister.d.ts +7 -0
  172. package/Tasks/IWG/Internal/TaskRegister.js +14 -0
  173. package/Tasks/IWG/Procedures/InitalLoad.d.ts +10 -0
  174. package/Tasks/IWG/Procedures/InitalLoad.js +53 -0
  175. package/Tasks/IWG/Procedures/SaveAllSectors.d.ts +5 -0
  176. package/Tasks/IWG/Procedures/SaveAllSectors.js +20 -0
  177. package/Tasks/IWG/index.d.ts +2 -1
  178. package/Tasks/IWG/index.js +2 -1
  179. package/Tasks/Propagation/Explosion/ExplosionManager.js +26 -26
  180. package/Tasks/Propagation/Flow/FlowManager.d.ts +9 -51
  181. package/Tasks/Propagation/Flow/FlowManager.js +96 -108
  182. package/Tasks/Propagation/Flow/{Functions/FlowRemove.d.ts → FlowRemove.d.ts} +1 -1
  183. package/Tasks/Propagation/Flow/FlowRemove.js +157 -0
  184. package/Tasks/Propagation/Flow/{Functions/FlowUpdate.d.ts → FlowUpdate.d.ts} +1 -1
  185. package/Tasks/Propagation/Flow/FlowUpdate.js +98 -0
  186. package/Tasks/Propagation/Flow/WorldFlow.d.ts +2 -0
  187. package/Tasks/Propagation/Flow/WorldFlow.js +151 -0
  188. package/Tasks/Propagation/Illumanation/CommonFunctions.d.ts +104 -0
  189. package/Tasks/Propagation/Illumanation/CommonFunctions.js +280 -0
  190. package/Tasks/Propagation/Illumanation/{Functions/RGBUpdate.d.ts → RGBUpdate.d.ts} +1 -1
  191. package/Tasks/Propagation/Illumanation/{Functions/RGBUpdate.js → RGBUpdate.js} +8 -8
  192. package/Tasks/Propagation/Illumanation/{Functions/SunUpdate.d.ts → SunUpdate.d.ts} +1 -1
  193. package/Tasks/Propagation/Illumanation/{Functions/SunUpdate.js → SunUpdate.js} +11 -11
  194. package/Tasks/Propagation/Illumanation/WorldRGB.d.ts +2 -0
  195. package/Tasks/Propagation/Illumanation/WorldRGB.js +43 -0
  196. package/Tasks/Propagation/Illumanation/WorldSun.d.ts +2 -0
  197. package/Tasks/Propagation/Illumanation/WorldSun.js +116 -0
  198. package/Tasks/Propagation/InitTasks.js +32 -16
  199. package/Tasks/Propagation/index.d.ts +2 -1
  200. package/Tasks/Propagation/index.js +2 -1
  201. package/Tasks/Tasks.types.d.ts +6 -77
  202. package/Tasks/TasksIds.d.ts +3 -3
  203. package/Tasks/TasksIds.js +3 -3
  204. package/Tasks/Update/InitTasks.js +9 -24
  205. package/Tasks/Update/UpdateTask.d.ts +2 -2
  206. package/Tasks/Update/UpdateTask.js +18 -17
  207. package/Tasks/Update/VoxelUpdate.d.ts +3 -2
  208. package/Tasks/Update/VoxelUpdate.js +23 -19
  209. package/Tasks/WorldGeneration/InitTasks.js +2 -10
  210. package/Tasks/WorldGeneration/WorldGenBrush.d.ts +3 -3
  211. package/Tasks/WorldGeneration/WorldGenBrush.js +20 -27
  212. package/Tasks/WorldGeneration/WorldGenRegister.d.ts +2 -2
  213. package/Tasks/WorldGeneration/WorldGenRegister.js +29 -42
  214. package/Tasks/WorldGeneration/WorldGeneration.d.ts +0 -2
  215. package/Tasks/WorldGeneration/WorldGeneration.js +14 -12
  216. package/{Data/Cursor/Template → Templates/Cursor}/TemplateCursor.d.ts +1 -1
  217. package/{Data/Cursor/Template → Templates/Cursor}/TemplateCursor.js +1 -1
  218. package/{Data/Cursor/Template → Templates/Cursor}/TemplateVoxelCursor.d.ts +2 -1
  219. package/{Data/Cursor/Template → Templates/Cursor}/TemplateVoxelCursor.js +4 -1
  220. package/Templates/FullVoxelTemplate.d.ts +1 -0
  221. package/Templates/FullVoxelTemplate.js +14 -7
  222. package/Templates/Functions/CreateTemplate.js +58 -37
  223. package/Templates/Functions/FlipTemplate.js +4 -0
  224. package/Templates/Functions/RotateTemplate.js +4 -0
  225. package/Templates/VoxelTemplate.d.ts +5 -2
  226. package/Templates/VoxelTemplate.js +33 -18
  227. package/Templates/VoxelTemplates.types.d.ts +5 -7
  228. package/Textures/Texture.types.d.ts +1 -0
  229. package/Textures/TextureManager.d.ts +4 -5
  230. package/Textures/TextureManager.js +3 -1
  231. package/Textures/TextureRegister.d.ts +9 -10
  232. package/Textures/TextureRegister.js +12 -12
  233. package/Textures/index.d.ts +1 -0
  234. package/Textures/index.js +1 -0
  235. package/Tools/Brush/AdvancedBrushTool.d.ts +2 -1
  236. package/Tools/Brush/AdvancedBrushTool.js +12 -15
  237. package/Tools/Brush/Brush.d.ts +4 -4
  238. package/Tools/Brush/Brush.js +21 -22
  239. package/Tools/Data/SubstanceDataTool.d.ts +2 -1
  240. package/Tools/Data/SubstanceDataTool.js +6 -5
  241. package/Tools/Tasks/TasksTool.d.ts +43 -88
  242. package/Tools/Tasks/TasksTool.js +97 -212
  243. package/Util/BinaryObject.d.ts +2 -0
  244. package/Util/BinaryObject.js +14 -0
  245. package/Util/Environment.d.ts +4 -0
  246. package/Util/Environment.js +10 -0
  247. package/Util/TypedEventTarget.d.ts +5 -0
  248. package/Util/TypedEventTarget.js +12 -0
  249. package/Util/Util.types.d.ts +0 -2
  250. package/{Data → Voxels}/Cursor/VoxelCursor.d.ts +3 -3
  251. package/{Data/Cursor/Interfaces → Voxels/Cursor}/VoxelCursor.interface.d.ts +14 -7
  252. package/{Data/Cursor/Interfaces → Voxels/Cursor}/VoxelCursor.interface.js +57 -44
  253. package/{Data → Voxels}/Cursor/VoxelCursor.js +7 -8
  254. package/Voxels/Cursor/VoxelLightData.d.ts +45 -0
  255. package/Voxels/Cursor/VoxelLightData.js +146 -0
  256. package/Voxels/Effects/VoxelEffect.d.ts +4 -4
  257. package/Voxels/Functions/BuildStateData.js +1 -1
  258. package/Voxels/Indexes/VoxelIndex.d.ts +2 -2
  259. package/Voxels/Indexes/VoxelIndex.js +6 -6
  260. package/Voxels/InitVoxelData.d.ts +7 -3
  261. package/Voxels/InitVoxelData.js +182 -29
  262. package/Voxels/Segments/MaterialDataGenerator.d.ts +6 -0
  263. package/{Contexts/Base/Main/Generator → Voxels}/Segments/MaterialDataGenerator.js +2 -2
  264. package/Voxels/Segments/SubstanceDataGenerator.d.ts +6 -0
  265. package/{Contexts/Base/Main/Generator → Voxels}/Segments/SubstanceDataGenerator.js +4 -4
  266. package/{Contexts/Base/Main/Generator → Voxels}/Segments/VoxelDataGenerator.d.ts +2 -2
  267. package/{Contexts/Base/Main/Generator → Voxels}/Segments/VoxelDataGenerator.js +4 -5
  268. package/Voxels/State/LogicStatementReader.js +1 -1
  269. package/Voxels/State/Schema/BinarySchema.d.ts +4 -0
  270. package/Voxels/State/Schema/BinarySchema.js +32 -1
  271. package/Voxels/State/Schema/StateSchema.d.ts +2 -2
  272. package/Voxels/State/Schema/VoxelSchema.d.ts +4 -4
  273. package/Voxels/State/Schema/VoxelSchema.js +6 -6
  274. package/Voxels/State/SchemaRegister.d.ts +4 -3
  275. package/Voxels/State/SchemaRegister.js +5 -2
  276. package/Voxels/State/VoxelTagStates.js +1 -1
  277. package/Voxels/Structs/Builder/SubstanceStructBuilder.d.ts +2 -0
  278. package/{Data → Voxels}/Structs/Builder/SubstanceStructBuilder.js +2 -2
  279. package/Voxels/Structs/Builder/VoxelStructBuilder.d.ts +2 -0
  280. package/{Data → Voxels}/Structs/Builder/VoxelStructBuilder.js +2 -7
  281. package/{Data → Voxels}/Structs/SubstanceStruct.d.ts +2 -1
  282. package/{Data → Voxels}/Structs/SubstanceStruct.js +2 -4
  283. package/{Data → Voxels}/Structs/VoxelStruct.d.ts +2 -2
  284. package/{Data → Voxels}/Structs/VoxelStruct.js +1 -1
  285. package/Voxels/{Voxel.types.d.ts → Types/Voxel.types.d.ts} +18 -7
  286. package/Voxels/{Voxel.types.js → Types/Voxel.types.js} +19 -1
  287. package/Voxels/Types/VoxelModelCompiledData.types.d.ts +93 -0
  288. package/Voxels/index.d.ts +3 -3
  289. package/Voxels/index.js +3 -3
  290. package/World/Archive/Archive.types.d.ts +159 -0
  291. package/World/Archive/Functions/ArchiveArea.d.ts +10 -0
  292. package/World/Archive/Functions/ArchiveArea.js +350 -0
  293. package/World/Archive/Functions/ArchiveSector.d.ts +7 -0
  294. package/World/Archive/Functions/ArchiveSector.js +354 -0
  295. package/World/Archive/Functions/ImportSector.d.ts +9 -0
  296. package/World/Archive/Functions/ImportSector.js +234 -0
  297. package/World/Archive/Functions/index.d.ts +3 -0
  298. package/World/Archive/Functions/index.js +3 -0
  299. package/World/Archive/InitTasks.d.ts +4 -0
  300. package/World/Archive/InitTasks.js +70 -0
  301. package/World/Cursor/SectionCursor.d.ts +16 -0
  302. package/World/Cursor/SectionCursor.js +57 -0
  303. package/{Data/Cursor/World/ColumnCursor.d.ts → World/Cursor/SectorCursor.d.ts} +8 -7
  304. package/World/Cursor/SectorCursor.js +57 -0
  305. package/{Data/Cursor/World → World/Cursor}/WorldCursor.d.ts +4 -4
  306. package/World/Cursor/WorldCursor.js +51 -0
  307. package/{Data/Cursor/World → World/Cursor}/WorldSectionCursor.interface.d.ts +2 -2
  308. package/{Data/Cursor/World → World/Cursor}/WorldVoxelCursor.d.ts +3 -2
  309. package/World/Cursor/WorldVoxelCursor.js +58 -0
  310. package/{Data/World/Classes → World/Dimension}/Dimension.d.ts +5 -5
  311. package/World/Dimension/Dimension.js +20 -0
  312. package/World/InitTasks.d.ts +6 -0
  313. package/World/InitTasks.js +92 -0
  314. package/World/Lock/WorldLock.d.ts +11 -0
  315. package/{Contexts/World → World}/Lock/WorldLock.js +33 -37
  316. package/World/Section/Section.d.ts +34 -0
  317. package/World/Section/Section.js +89 -0
  318. package/World/Section/SectionHeightMap.d.ts +10 -0
  319. package/World/Section/SectionHeightMap.js +39 -0
  320. package/World/Section/SectionStruct.d.ts +8 -0
  321. package/World/Section/SectionStruct.js +29 -0
  322. package/{Data/Structs/Constants/ChunkStructProperties.d.ts → World/Section/SectionStructProperties.d.ts} +1 -1
  323. package/World/Section/SectionStructProperties.js +11 -0
  324. package/World/Section/index.d.ts +1 -0
  325. package/World/Section/index.js +1 -0
  326. package/World/Sector/Sector.d.ts +23 -0
  327. package/World/Sector/Sector.js +60 -0
  328. package/World/Sector/SectorHeightMap.d.ts +5 -0
  329. package/World/Sector/SectorHeightMap.js +47 -0
  330. package/World/Sector/SectorStruct.d.ts +1 -0
  331. package/World/Sector/SectorStruct.js +46 -0
  332. package/World/Sector/SectorStructIds.d.ts +13 -0
  333. package/World/Sector/SectorStructIds.js +14 -0
  334. package/World/Sector/index.d.ts +1 -0
  335. package/World/Sector/index.js +1 -0
  336. package/World/Storage/WorldStorage.interface.d.ts +6 -0
  337. package/{Data/Types/RichWorldData.types.d.ts → World/Types/WorldData.types.d.ts} +11 -2
  338. package/World/Types/WorldDataSyncIds.d.ts +6 -0
  339. package/World/Types/WorldDataSyncIds.js +7 -0
  340. package/World/WorldRegister.d.ts +33 -0
  341. package/World/WorldRegister.js +95 -0
  342. package/World/WorldSpaces.d.ts +55 -0
  343. package/World/WorldSpaces.js +147 -0
  344. package/World/index.d.ts +4 -0
  345. package/World/index.js +4 -0
  346. package/index.d.ts +1 -1
  347. package/index.js +1 -1
  348. package/package.json +2 -7
  349. package/Archive/Archive.types.d.ts +0 -176
  350. package/Archive/Functions/ArchiveArea.d.ts +0 -10
  351. package/Archive/Functions/ArchiveArea.js +0 -315
  352. package/Archive/Functions/ArchiveColumn.d.ts +0 -8
  353. package/Archive/Functions/ArchiveColumn.js +0 -293
  354. package/Archive/Functions/ImportColumn.d.ts +0 -9
  355. package/Archive/Functions/ImportColumn.js +0 -213
  356. package/Archive/Functions/index.d.ts +0 -3
  357. package/Archive/Functions/index.js +0 -3
  358. package/Contexts/Base/DataHooks.d.ts +0 -51
  359. package/Contexts/Base/DataHooks.js +0 -29
  360. package/Contexts/Base/Main/Generator/DataGenerator.types.d.ts +0 -12
  361. package/Contexts/Base/Main/Generator/InitDataGenerator.js +0 -201
  362. package/Contexts/Base/Main/Generator/Segments/MaterialDataGenerator.d.ts +0 -6
  363. package/Contexts/Base/Main/Generator/Segments/SubstanceDataGenerator.d.ts +0 -6
  364. package/Contexts/Base/Remote/Sync/DataSync.types.d.ts +0 -34
  365. package/Contexts/Base/Remote/Sync/InitDataSync.js +0 -43
  366. package/Contexts/Base/Remote/Sync/InitWorldDataSync.js +0 -37
  367. package/Contexts/Constructor/Tasks/ConstructorRemoteThreadTasks.d.ts +0 -7
  368. package/Contexts/Constructor/Tasks/ConstructorRemoteThreadTasks.js +0 -8
  369. package/Contexts/Constructor/Tasks/DVEConstructorTasksQueues.d.ts +0 -27
  370. package/Contexts/Constructor/Tasks/DVEConstructorTasksQueues.js +0 -72
  371. package/Contexts/Render/Scene/MeshRegister.d.ts +0 -39
  372. package/Contexts/Render/Scene/MeshRegister.js +0 -218
  373. package/Contexts/Render/Tasks/RenderTasks.d.ts +0 -7
  374. package/Contexts/Render/Tasks/RenderTasks.js +0 -20
  375. package/Contexts/Render/Tasks/RenderTasks.types.d.ts +0 -21
  376. package/Contexts/World/Data/DataSync.d.ts +0 -29
  377. package/Contexts/World/Data/DataSync.js +0 -110
  378. package/Contexts/World/Data/DataSyncNode.d.ts +0 -28
  379. package/Contexts/World/Data/DataSyncNode.js +0 -54
  380. package/Contexts/World/Lock/WorldLock.d.ts +0 -12
  381. package/Contexts/World/Tasks/WorldTasks.d.ts +0 -11
  382. package/Contexts/World/Tasks/WorldTasks.js +0 -104
  383. package/Data/Constants/DVEFDataSyncIds.d.ts +0 -12
  384. package/Data/Constants/DVEFDataSyncIds.js +0 -13
  385. package/Data/Constants/DataHeaders.d.ts +0 -6
  386. package/Data/Constants/DataHeaders.js +0 -6
  387. package/Data/Cursor/World/ChunkCursor.d.ts +0 -16
  388. package/Data/Cursor/World/ChunkCursor.js +0 -59
  389. package/Data/Cursor/World/ColumnCursor.js +0 -57
  390. package/Data/Cursor/World/WorldCursor.js +0 -50
  391. package/Data/Cursor/World/WorldVoxelCursor.js +0 -55
  392. package/Data/Structs/Builder/SubstanceStructBuilder.d.ts +0 -2
  393. package/Data/Structs/Builder/VoxelStructBuilder.d.ts +0 -2
  394. package/Data/Structs/ChunkStruct.d.ts +0 -1
  395. package/Data/Structs/ChunkStruct.js +0 -29
  396. package/Data/Structs/ColumnStruct.d.ts +0 -1
  397. package/Data/Structs/ColumnStruct.js +0 -45
  398. package/Data/Structs/Constants/ChunkStructProperties.js +0 -11
  399. package/Data/Structs/Constants/SubstanceStructIds.d.ts +0 -0
  400. package/Data/Structs/Constants/SubstanceStructIds.js +0 -1
  401. package/Data/Structs/RegionStruct.d.ts +0 -3
  402. package/Data/Structs/RegionStruct.js +0 -50
  403. package/Data/Types/DimensionData.types.d.ts +0 -9
  404. package/Data/Types/WorldData.types.d.ts +0 -10
  405. package/Data/Types/WorldData.types.js +0 -19
  406. package/Data/World/Classes/Chunk.d.ts +0 -26
  407. package/Data/World/Classes/Chunk.js +0 -75
  408. package/Data/World/Classes/Column.d.ts +0 -19
  409. package/Data/World/Classes/Column.js +0 -35
  410. package/Data/World/Classes/Dimension.js +0 -20
  411. package/Data/World/Classes/Region.d.ts +0 -23
  412. package/Data/World/Classes/Region.js +0 -67
  413. package/Data/World/Classes/index.d.ts +0 -4
  414. package/Data/World/Classes/index.js +0 -4
  415. package/Data/World/DimensionsRegister.d.ts +0 -14
  416. package/Data/World/DimensionsRegister.js +0 -53
  417. package/Data/World/RegionHeaderRegister.d.ts +0 -29
  418. package/Data/World/RegionHeaderRegister.js +0 -56
  419. package/Data/World/WorldBounds.d.ts +0 -20
  420. package/Data/World/WorldBounds.js +0 -49
  421. package/Data/World/WorldPainter.d.ts +0 -12
  422. package/Data/World/WorldPainter.js +0 -56
  423. package/Data/World/WorldRegister.d.ts +0 -51
  424. package/Data/World/WorldRegister.js +0 -228
  425. package/Data/World/WorldRegisterCache.d.ts +0 -23
  426. package/Data/World/WorldRegisterCache.js +0 -68
  427. package/Data/World/WorldSpaces.d.ts +0 -4
  428. package/Data/World/WorldSpaces.js +0 -23
  429. package/Math/Classes/BoundingBox.d.ts +0 -27
  430. package/Math/Classes/BoundingBox.js +0 -44
  431. package/Math/Classes/MatrixArray.d.ts +0 -66
  432. package/Math/Classes/MatrixArray.js +0 -243
  433. package/Math/Classes/Plane.d.ts +0 -22
  434. package/Math/Classes/Plane.js +0 -53
  435. package/Math/Classes/Scalar.d.ts +0 -5
  436. package/Math/Classes/Scalar.js +0 -9
  437. package/Math/Classes/SimpleBoundingBox.d.ts +0 -40
  438. package/Math/Classes/SimpleBoundingBox.js +0 -157
  439. package/Math/Classes/Vector3.d.ts +0 -54
  440. package/Math/Classes/Vector3.js +0 -236
  441. package/Math/Constants/ConstantMartrix.d.ts +0 -3
  442. package/Math/Constants/ConstantMartrix.js +0 -8
  443. package/Math/Constants/Faces.d.ts +0 -5
  444. package/Math/Constants/Faces.js +0 -28
  445. package/Math/Math.types.d.ts +0 -25
  446. package/Math/Objects/CompassDirection.d.ts +0 -9
  447. package/Math/Objects/CompassDirection.js +0 -19
  448. package/Math/Spaces/VoxelSpace.d.ts +0 -32
  449. package/Math/Spaces/VoxelSpace.js +0 -99
  450. package/Math/Spaces/VoxelSpaces.d.ts +0 -50
  451. package/Math/Spaces/VoxelSpaces.js +0 -117
  452. package/Math/Spaces/VoxelSpaces.types.d.ts +0 -6
  453. package/Math/VoxelMath.d.ts +0 -21
  454. package/Math/VoxelMath.js +0 -47
  455. package/Mesher/Geometry/VoxelGeometry.d.ts +0 -7
  456. package/Mesher/Geometry/VoxelGeometry.js +0 -115
  457. package/Mesher/Mesher.d.ts +0 -16
  458. package/Mesher/Mesher.js +0 -44
  459. package/Mesher/Meshers/MesherInterface.d.ts +0 -5
  460. package/Mesher/Meshers/MesherManager.d.ts +0 -7
  461. package/Mesher/Meshers/MesherManager.js +0 -16
  462. package/Mesher/Meshers/TextureMesher.d.ts +0 -15
  463. package/Mesher/Meshers/TextureMesher.js +0 -191
  464. package/Mesher/Meshers/VoxelMesher.d.ts +0 -15
  465. package/Mesher/Meshers/VoxelMesher.js +0 -47
  466. package/Mesher/Processors/ChunkProcessor.d.ts +0 -13
  467. package/Mesher/Processors/ChunkProcessor.js +0 -117
  468. package/Mesher/Substances/RenderedSubstances.d.ts +0 -5
  469. package/Mesher/Substances/RenderedSubstances.js +0 -7
  470. package/Mesher/Tasks/BuidlerTasks.types.d.ts +0 -7
  471. package/Mesher/Tasks/BuidlerTasks.types.js +0 -1
  472. package/Mesher/Tools/VoxelTemplateDataTool.d.ts +0 -15
  473. package/Mesher/Tools/VoxelTemplateDataTool.js +0 -112
  474. package/Renderer/Classes/ChunkMesh.d.ts +0 -10
  475. package/Renderer/Classes/ChunkMesh.js +0 -13
  476. package/Renderer/Classes/MeshRegisterColumn.d.ts +0 -7
  477. package/Renderer/Classes/MeshRegisterColumn.js +0 -7
  478. package/Renderer/Classes/MushRegisterRegion.d.ts +0 -4
  479. package/Renderer/Classes/MushRegisterRegion.js +0 -3
  480. package/Renderer/DVEChunkMeshInterface.d.ts +0 -3
  481. package/Renderer/DVEChunkMeshInterface.js +0 -1
  482. package/Renderer/DVEChunkMeshes.d.ts +0 -6
  483. package/Renderer/DVEChunkMeshes.js +0 -2
  484. package/Tasks/Analyzer/Analyzer.d.ts +0 -19
  485. package/Tasks/Analyzer/Analyzer.js +0 -156
  486. package/Tasks/Analyzer/AnalyzerUpdater.d.ts +0 -10
  487. package/Tasks/Analyzer/AnalyzerUpdater.js +0 -13
  488. package/Tasks/Analyzer/InitTasks.d.ts +0 -1
  489. package/Tasks/Analyzer/InitTasks.js +0 -16
  490. package/Tasks/DataLoader/Broswer/DataHandler.d.ts +0 -20
  491. package/Tasks/DataLoader/Broswer/DataHandler.js +0 -54
  492. package/Tasks/DataLoader/Broswer/WorldDataBase.d.ts +0 -26
  493. package/Tasks/DataLoader/Broswer/WorldDataBase.js +0 -81
  494. package/Tasks/DataLoader/Broswer/WorldDataBaseManager.d.ts +0 -6
  495. package/Tasks/DataLoader/Broswer/WorldDataBaseManager.js +0 -30
  496. package/Tasks/DataLoader/Broswer/WorldDataTool.d.ts +0 -16
  497. package/Tasks/DataLoader/Broswer/WorldDataTool.js +0 -64
  498. package/Tasks/DataLoader/Broswer/index.d.ts +0 -1
  499. package/Tasks/DataLoader/Broswer/index.js +0 -1
  500. package/Tasks/DataLoader/Constructor/DataLoaderTasks.d.ts +0 -2
  501. package/Tasks/DataLoader/Constructor/DataLoaderTasks.js +0 -14
  502. package/Tasks/DataLoader/Constructor/DivineVoxelEngineDataLoaderConstructor.d.ts +0 -9
  503. package/Tasks/DataLoader/Constructor/DivineVoxelEngineDataLoaderConstructor.js +0 -17
  504. package/Tasks/DataLoader/Constructor/WorldDataSerializer.d.ts +0 -15
  505. package/Tasks/DataLoader/Constructor/WorldDataSerializer.js +0 -54
  506. package/Tasks/DataLoader/Constructor/index.d.ts +0 -1
  507. package/Tasks/DataLoader/Constructor/index.js +0 -1
  508. package/Tasks/DataLoader/Node/DivineVoxelEngineData.d.ts +0 -48
  509. package/Tasks/DataLoader/Node/DivineVoxelEngineData.js +0 -47
  510. package/Tasks/DataLoader/Node/System/RegionSystem.d.ts +0 -28
  511. package/Tasks/DataLoader/Node/System/RegionSystem.js +0 -147
  512. package/Tasks/DataLoader/Node/System/System.d.ts +0 -13
  513. package/Tasks/DataLoader/Node/System/System.js +0 -168
  514. package/Tasks/DataLoader/Node/System/SystemPath.d.ts +0 -12
  515. package/Tasks/DataLoader/Node/System/SystemPath.js +0 -29
  516. package/Tasks/DataLoader/Node/Tools/NodeRegionTool.d.ts +0 -28
  517. package/Tasks/DataLoader/Node/Tools/NodeRegionTool.js +0 -134
  518. package/Tasks/DataLoader/Node/Util/DVED.util.d.ts +0 -17
  519. package/Tasks/DataLoader/Node/Util/DVED.util.js +0 -25
  520. package/Tasks/DataLoader/Node/index.d.ts +0 -3
  521. package/Tasks/DataLoader/Node/index.js +0 -3
  522. package/Tasks/DataLoader/Types/DVED.types.d.ts +0 -13
  523. package/Tasks/DataLoader/Types/DVED.types.js +0 -1
  524. package/Tasks/DataLoader/Types/DVEDataHandler.d.ts +0 -17
  525. package/Tasks/DataLoader/Types/DVEDataHandler.js +0 -14
  526. package/Tasks/DataLoader/World/DataHandlerWrapper.d.ts +0 -21
  527. package/Tasks/DataLoader/World/DataHandlerWrapper.js +0 -152
  528. package/Tasks/DataLoader/World/DataLoaderTasks.d.ts +0 -2
  529. package/Tasks/DataLoader/World/DataLoaderTasks.js +0 -70
  530. package/Tasks/DataLoader/World/DivineVoxelEngineDataLoaderWorld.d.ts +0 -12
  531. package/Tasks/DataLoader/World/DivineVoxelEngineDataLoaderWorld.js +0 -17
  532. package/Tasks/DataLoader/World/Tools/DataLoaderTool.d.ts +0 -24
  533. package/Tasks/DataLoader/World/Tools/DataLoaderTool.js +0 -113
  534. package/Tasks/DataLoader/World/Tools/DataSerializerTool.d.ts +0 -8
  535. package/Tasks/DataLoader/World/Tools/DataSerializerTool.js +0 -27
  536. package/Tasks/DataLoader/World/Tools/LoaderRegister.d.ts +0 -9
  537. package/Tasks/DataLoader/World/Tools/LoaderRegister.js +0 -29
  538. package/Tasks/IWG/Constants/ColumnState.d.ts +0 -6
  539. package/Tasks/IWG/Constants/ColumnState.js +0 -7
  540. package/Tasks/IWG/World/Classes/DebouncedTasks.d.ts +0 -16
  541. package/Tasks/IWG/World/Classes/DebouncedTasks.js +0 -34
  542. package/Tasks/IWG/World/Classes/Generator.d.ts +0 -50
  543. package/Tasks/IWG/World/Classes/Generator.js +0 -482
  544. package/Tasks/IWG/World/Classes/Tasks/IWGBatchTask.d.ts +0 -7
  545. package/Tasks/IWG/World/Classes/Tasks/IWGBatchTask.js +0 -35
  546. package/Tasks/IWG/World/Classes/Tasks/IWGSingleTask.d.ts +0 -6
  547. package/Tasks/IWG/World/Classes/Tasks/IWGSingleTask.js +0 -29
  548. package/Tasks/IWG/World/Classes/Tasks/IWGTaskBase.d.ts +0 -27
  549. package/Tasks/IWG/World/Classes/Tasks/IWGTaskBase.js +0 -34
  550. package/Tasks/IWG/World/Classes/Tasks/IWGTaskRegister.d.ts +0 -6
  551. package/Tasks/IWG/World/Classes/Tasks/IWGTaskRegister.js +0 -14
  552. package/Tasks/IWG/World/IWG.d.ts +0 -22
  553. package/Tasks/IWG/World/IWG.js +0 -83
  554. package/Tasks/IWG/World/Load/InitLoad.d.ts +0 -5
  555. package/Tasks/IWG/World/Load/InitLoad.js +0 -17
  556. package/Tasks/IWG/World/Load/LoaderBase.d.ts +0 -16
  557. package/Tasks/IWG/World/Load/LoaderBase.js +0 -57
  558. package/Tasks/IWG/World/Load/SafeExit.d.ts +0 -5
  559. package/Tasks/IWG/World/Load/SafeExit.js +0 -15
  560. package/Tasks/IWG/World/Load/Teleport.d.ts +0 -9
  561. package/Tasks/IWG/World/Load/Teleport.js +0 -26
  562. package/Tasks/IWG/World/Tasks/RegisterDefaultTasks.d.ts +0 -1
  563. package/Tasks/IWG/World/Tasks/RegisterDefaultTasks.js +0 -12
  564. package/Tasks/IWG/World/Tasks/Rendering/IWGBuildTasks.d.ts +0 -8
  565. package/Tasks/IWG/World/Tasks/Rendering/IWGBuildTasks.js +0 -26
  566. package/Tasks/IWG/World/Tasks/Saving/IWGSaveAndUnloadTasks.d.ts +0 -8
  567. package/Tasks/IWG/World/Tasks/Saving/IWGSaveAndUnloadTasks.js +0 -22
  568. package/Tasks/IWG/World/Tasks/Saving/IWGSaveTasks.d.ts +0 -8
  569. package/Tasks/IWG/World/Tasks/Saving/IWGSaveTasks.js +0 -22
  570. package/Tasks/IWG/World/Tasks/WorldGen/IWGDecorateTasks.d.ts +0 -8
  571. package/Tasks/IWG/World/Tasks/WorldGen/IWGDecorateTasks.js +0 -29
  572. package/Tasks/IWG/World/Tasks/WorldGen/IWGGenerateTasks.d.ts +0 -8
  573. package/Tasks/IWG/World/Tasks/WorldGen/IWGGenerateTasks.js +0 -29
  574. package/Tasks/IWG/World/Tasks/WorldGen/IWGLoadTasks.d.ts +0 -8
  575. package/Tasks/IWG/World/Tasks/WorldGen/IWGLoadTasks.js +0 -58
  576. package/Tasks/IWG/World/Tasks/WorldGen/IWGPropagationTasks.d.ts +0 -8
  577. package/Tasks/IWG/World/Tasks/WorldGen/IWGPropagationTasks.js +0 -27
  578. package/Tasks/IWG/World/Tasks/WorldGen/IWGWorldSunTasks.d.ts +0 -8
  579. package/Tasks/IWG/World/Tasks/WorldGen/IWGWorldSunTasks.js +0 -27
  580. package/Tasks/IWG/World/Types/IWG.types.d.ts +0 -20
  581. package/Tasks/IWG/World/Types/IWG.types.js +0 -7
  582. package/Tasks/IWG/World/index.d.ts +0 -2
  583. package/Tasks/IWG/World/index.js +0 -2
  584. package/Tasks/Mesher/InitTasks.d.ts +0 -2
  585. package/Tasks/Mesher/InitTasks.js +0 -46
  586. package/Tasks/Propagation/Flow/Functions/FlowRemove.js +0 -162
  587. package/Tasks/Propagation/Flow/Functions/FlowUpdate.js +0 -96
  588. package/Tasks/Propagation/Illumanation/Functions/WorldSun.d.ts +0 -2
  589. package/Tasks/Propagation/Illumanation/Functions/WorldSun.js +0 -115
  590. package/Tasks/Propagation/Illumanation/IlluminationManager.d.ts +0 -48
  591. package/Tasks/Propagation/Illumanation/IlluminationManager.js +0 -13
  592. package/Tasks/Propagation/Propagation.d.ts +0 -13
  593. package/Tasks/Propagation/Propagation.js +0 -38
  594. package/Textures/Constructor.types.d.ts +0 -5
  595. package/Textures/Constructor.types.js +0 -1
  596. package/Tools/Anaylzer/AnaylzerTool.d.ts +0 -6
  597. package/Tools/Anaylzer/AnaylzerTool.js +0 -31
  598. package/Tools/Classes/DataToolBase.d.ts +0 -43
  599. package/Tools/Classes/DataToolBase.js +0 -85
  600. package/Tools/Classes/LocationBoundTool.d.ts +0 -20
  601. package/Tools/Classes/LocationBoundTool.js +0 -45
  602. package/Tools/Classes/LocationBoundToolBase.d.ts +0 -24
  603. package/Tools/Classes/LocationBoundToolBase.js +0 -61
  604. package/Tools/Classes/RichDataToolBase.d.ts +0 -10
  605. package/Tools/Classes/RichDataToolBase.js +0 -26
  606. package/Tools/Data/DataTool.d.ts +0 -102
  607. package/Tools/Data/DataTool.js +0 -430
  608. package/Tools/Data/WorldData/ChunkDataTool.d.ts +0 -11
  609. package/Tools/Data/WorldData/ChunkDataTool.js +0 -38
  610. package/Tools/Data/WorldData/ColumnDataTool.d.ts +0 -26
  611. package/Tools/Data/WorldData/ColumnDataTool.js +0 -81
  612. package/Tools/Data/WorldData/HeightMapTool.d.ts +0 -24
  613. package/Tools/Data/WorldData/HeightMapTool.js +0 -117
  614. package/Tools/Data/WorldData/RegionDataTool.d.ts +0 -13
  615. package/Tools/Data/WorldData/RegionDataTool.js +0 -39
  616. package/Tools/Mesher/MesherTool.d.ts +0 -19
  617. package/Tools/Mesher/MesherTool.js +0 -52
  618. package/Util/VoxelIDMatrix.d.ts +0 -15
  619. package/Util/VoxelIDMatrix.js +0 -55
  620. package/Voxels/LightData.d.ts +0 -150
  621. package/Voxels/LightData.js +0 -402
  622. package/Voxels/VoxelSyncData.d.ts +0 -71
  623. package/Voxels/VoxelSyncData.js +0 -1
  624. /package/Contexts/Base/Main/{Generator/DataGenerator.types.js → DataGenerator.types.js} +0 -0
  625. /package/Contexts/Base/Remote/{Sync/DataSync.types.js → DataSync.types.js} +0 -0
  626. /package/Contexts/Base/Remote/{Sync/DataSyncIds.d.ts → DataSyncIds.d.ts} +0 -0
  627. /package/Contexts/Base/Remote/{Sync/DataSyncIds.js → DataSyncIds.js} +0 -0
  628. /package/Contexts/Base/Remote/{Sync/InitDataSync.d.ts → InitDataSync.d.ts} +0 -0
  629. /package/Contexts/Base/Remote/{Sync/InitWorldDataSync.d.ts → InitWorldDataSync.d.ts} +0 -0
  630. /package/Data/Cursor/{Interfaces/DataCursor.interface.js → DataCursor.interface.js} +0 -0
  631. /package/{Archive → Data}/Functions/Palettes.d.ts +0 -0
  632. /package/{Archive → Data}/Functions/Palettes.js +0 -0
  633. /package/Data/Structs/{Builder/StructBuilder.js → StructBuilder.js} +0 -0
  634. /package/Data/{Types → Structs}/StructBuilder.types.d.ts +0 -0
  635. /package/Data/{Types → Structs}/StructBuilder.types.js +0 -0
  636. /package/Math/{Constants/CardinalNeighbors.d.ts → CardinalNeighbors.d.ts} +0 -0
  637. /package/Math/{Constants/CardinalNeighbors.js → CardinalNeighbors.js} +0 -0
  638. /package/Math/{Constants/VoxelFaces.d.ts → VoxelFaces.d.ts} +0 -0
  639. /package/Math/{Constants/VoxelFaces.js → VoxelFaces.js} +0 -0
  640. /package/{Voxels → Mesher}/VoxelShaderData.d.ts +0 -0
  641. /package/{Voxels → Mesher}/VoxelShaderData.js +0 -0
  642. /package/{Archive/Archive.types.js → Renderer/Renderer.types.js} +0 -0
  643. /package/{Contexts/Render/Tasks/RenderTasks.types.js → Tasks/Propagation/Flow/CommonFunctions.d.ts} +0 -0
  644. /package/{Data/Cursor/World/WorldSectionCursor.interface.js → Tasks/Propagation/Flow/CommonFunctions.js} +0 -0
  645. /package/{Data → Voxels}/Palettes/MaterialPalette.d.ts +0 -0
  646. /package/{Data → Voxels}/Palettes/MaterialPalette.js +0 -0
  647. /package/{Data → Voxels}/Palettes/SubstancePalette.d.ts +0 -0
  648. /package/{Data → Voxels}/Palettes/SubstancePalette.js +0 -0
  649. /package/{Data → Voxels}/Palettes/VoxelPalette.d.ts +0 -0
  650. /package/{Data → Voxels}/Palettes/VoxelPalette.js +0 -0
  651. /package/Voxels/{VoxelMaterial.types.d.ts → Types/VoxelMaterial.types.d.ts} +0 -0
  652. /package/Voxels/{VoxelMaterial.types.js → Types/VoxelMaterial.types.js} +0 -0
  653. /package/{Data/Types/DimensionData.types.js → Voxels/Types/VoxelModelCompiledData.types.js} +0 -0
  654. /package/Voxels/{VoxelSubstances.types.d.ts → Types/VoxelSubstances.types.d.ts} +0 -0
  655. /package/Voxels/{VoxelSubstances.types.js → Types/VoxelSubstances.types.js} +0 -0
  656. /package/{Data/Types/RichWorldData.types.js → World/Archive/Archive.types.js} +0 -0
  657. /package/{Archive → World/Archive}/index.d.ts +0 -0
  658. /package/{Archive → World/Archive}/index.js +0 -0
  659. /package/{Math/Math.types.js → World/Cursor/WorldSectionCursor.interface.js} +0 -0
  660. /package/{Math/Spaces/VoxelSpaces.types.js → World/Storage/WorldStorage.interface.js} +0 -0
  661. /package/{Data/Structs/Constants → World/Structs}/WorldDataStructProperties.d.ts +0 -0
  662. /package/{Data/Structs/Constants → World/Structs}/WorldDataStructProperties.js +0 -0
  663. /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,3 +1,3 @@
1
- import { UpdateTask } from "../../../Update/UpdateTask";
1
+ import { UpdateTask } from "../../Update/UpdateTask";
2
2
  export declare function RGBUpdate(tasks: UpdateTask): void;
3
3
  export declare function RGBRemove(tasks: UpdateTask): void;
@@ -1,5 +1,5 @@
1
- import { $3dCardinalNeighbors } from "../../../../Math/Constants/CardinalNeighbors";
2
- import { LightData } from "../../../../Voxels/LightData";
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 && LightData.isLessThanForRGBAdd(nl, sl)) {
26
+ if (nl > -1 && isLessThanForRGBAdd(nl, sl)) {
27
27
  queue.push(nx, ny, nz);
28
- voxel.setLight(LightData.getMinusOneForRGB(sl, nl));
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 = LightData.hasRGBLight(nl);
63
- if (n1HasRGB && LightData.isLessThanForRGBRemove(nl, sl)) {
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
- LightData.isGreaterOrEqualThanForRGBRemove(nl, sl) &&
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(LightData.removeRGBLight(sl));
79
+ voxel.setLight(removeSunLight(sl));
80
80
  }
81
81
  removeMap.clear();
82
82
  }
@@ -1,3 +1,3 @@
1
- import { UpdateTask } from "../../../Update/UpdateTask";
1
+ import { UpdateTask } from "../../Update/UpdateTask";
2
2
  export declare function SunUpdate(tasks: UpdateTask): void;
3
3
  export declare function SunRemove(tasks: UpdateTask, clearUpdateMap?: boolean): void;
@@ -1,4 +1,4 @@
1
- import { LightData } from "../../../../Voxels/LightData";
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 && LightData.isLessThanForSunAdd(nl, sl)) {
30
+ if (nl > -1 && isLessThanForSunAdd(nl, sl)) {
31
31
  queue.push(nx, ny, nz);
32
- nVoxel.setLight(LightData.getMinusOneForSun(sl, nl));
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 && LightData.isLessThanForSunAddDown(nl, sl)) {
40
+ if (nl > -1 && isLessThanForSunAddDown(nl, sl)) {
41
41
  if (nVoxel.isAir()) {
42
42
  queue.push(x, y - 1, z);
43
- nVoxel.setLight(LightData.getSunLightForUnderVoxel(sl, nl));
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(LightData.getMinusOneForSun(sl, nl));
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 (LightData.isLessThanForSunRemove(nl, sl)) {
85
+ if (isLessThanForSunRemove(nl, sl)) {
86
86
  remove.push(nx, ny, nz);
87
87
  }
88
- else if (LightData.isGreaterOrEqualThanForSunRemove(nl, sl) &&
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 (LightData.sunLightCompareForDownSunRemove(nl, sl)) {
101
+ if (sunLightCompareForDownSunRemove(nl, sl)) {
102
102
  remove.push(x, y - 1, z);
103
103
  }
104
- else if (LightData.isGreaterOrEqualThanForSunRemove(nl, sl) &&
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(LightData.removeSunLight(sl));
113
+ voxel.setLight(removeSunLight(sl));
114
114
  }
115
115
  removeMap.clear();
116
116
  }
@@ -0,0 +1,2 @@
1
+ import { UpdateTask } from "../../../Tasks/Update/UpdateTask";
2
+ export declare function WorldRGB(task: UpdateTask): false | undefined;
@@ -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,2 @@
1
+ import { UpdateTask } from "../../Update/UpdateTask.js";
2
+ export declare function RunWorldSun(tasks: UpdateTask): void;
@@ -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
+ }