@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
@@ -1,26 +0,0 @@
1
- import type { DataBase, ObjectStore } from "@amodx/indexdb/";
2
- import type { DVEDDataTypes } from "../Types/DVED.types";
3
- import { WorldDataTool } from "./WorldDataTool";
4
- export declare class WorldDataBase {
5
- database: DataBase;
6
- dimension: string;
7
- typeStores: Record<DVEDDataTypes, ObjectStore<any>>;
8
- worldDataTool: WorldDataTool;
9
- constructor(database: DataBase);
10
- setDimension(dimensionId: string): Promise<void>;
11
- regionHeader: {
12
- set: (key: string, type: DVEDDataTypes, data: ArrayBuffer) => Promise<void>;
13
- get: (key: string, type: DVEDDataTypes) => Promise<ArrayBuffer | false>;
14
- getKey(key: string, type: DVEDDataTypes): string;
15
- };
16
- column: {
17
- set: (key: string, type: DVEDDataTypes, data: ArrayBuffer) => Promise<void>;
18
- get: (key: string, type: DVEDDataTypes) => Promise<false | ArrayBuffer>;
19
- getKey(key: string, type: DVEDDataTypes): string;
20
- };
21
- columnTimestamp: {
22
- set: (key: string, type: DVEDDataTypes, timeStamp: number) => Promise<void>;
23
- get: (key: string, type: DVEDDataTypes) => Promise<number | false>;
24
- getKey: (key: string, type: DVEDDataTypes) => string;
25
- };
26
- }
@@ -1,81 +0,0 @@
1
- import { WorldDataTool } from "./WorldDataTool";
2
- export class WorldDataBase {
3
- database;
4
- dimension = "";
5
- typeStores;
6
- worldDataTool;
7
- constructor(database) {
8
- this.database = database;
9
- this.worldDataTool = new WorldDataTool(this);
10
- }
11
- async setDimension(dimensionId) {
12
- if (this.dimension != dimensionId) {
13
- const worldDataId = `${dimensionId}-world-data`;
14
- const richDataId = `${dimensionId}-rich-data`;
15
- const entitiesId = `${dimensionId}-entities`;
16
- const dboId = `${dimensionId}-dbo`;
17
- this.database.close();
18
- await this.database.addObjectStore({
19
- name: worldDataId,
20
- schema: [],
21
- }, {
22
- name: richDataId,
23
- schema: [],
24
- }, {
25
- name: entitiesId,
26
- schema: [],
27
- }, {
28
- name: dboId,
29
- schema: [],
30
- });
31
- this.typeStores = {};
32
- this.typeStores["world-data"] = await this.database.getObjectStore(worldDataId);
33
- this.typeStores["rich-data"] = await this.database.getObjectStore(richDataId);
34
- this.typeStores["entities"] = await this.database.getObjectStore(entitiesId);
35
- this.typeStores["dbo"] = await this.database.getObjectStore(dboId);
36
- }
37
- this.dimension = dimensionId;
38
- }
39
- regionHeader = {
40
- set: async (key, type, data) => {
41
- await this.typeStores[type].set(this.regionHeader.getKey(key, type), data);
42
- },
43
- get: async (key, type) => {
44
- const buffer = (await this.typeStores[type].get(this.regionHeader.getKey(key, type)));
45
- if (!buffer)
46
- return false;
47
- return buffer;
48
- },
49
- getKey(key, type) {
50
- return `${key}_${type}_region_header`;
51
- },
52
- };
53
- column = {
54
- set: async (key, type, data) => {
55
- await this.typeStores[type].set(this.column.getKey(key, type), data);
56
- },
57
- get: async (key, type) => {
58
- const buffer = (await this.typeStores[type].get(this.column.getKey(key, type)));
59
- if (!buffer)
60
- return false;
61
- return await buffer;
62
- },
63
- getKey(key, type) {
64
- return `${key}_${type}_column`;
65
- },
66
- };
67
- columnTimestamp = {
68
- set: async (key, type, timeStamp) => {
69
- await this.typeStores[type].set(this.columnTimestamp.getKey(key, type), timeStamp);
70
- },
71
- get: async (key, type) => {
72
- const timeStamp = (await this.typeStores[type].get(this.columnTimestamp.getKey(key, type)));
73
- if (!timeStamp)
74
- return false;
75
- return Number(timeStamp);
76
- },
77
- getKey: (key, type) => {
78
- return `${key}_${type}_column_timestamp`;
79
- },
80
- };
81
- }
@@ -1,6 +0,0 @@
1
- import { WorldDataBase } from "./WorldDataBase";
2
- export declare class WorldDataBaseManager {
3
- static init(): Promise<void>;
4
- static getWorldDataBase(dbName: string, dimension?: string): Promise<WorldDataBase>;
5
- static deleteWorldDataBase(dbName: string): Promise<void>;
6
- }
@@ -1,30 +0,0 @@
1
- import { IndexDB } from "@amodx/indexdb/";
2
- import { WorldDataBase } from "./WorldDataBase";
3
- export class WorldDataBaseManager {
4
- static async init() {
5
- await IndexDB.init();
6
- }
7
- static async getWorldDataBase(dbName, dimension = "main") {
8
- let db;
9
- const existanceCheck = await IndexDB.databaseExists(dbName);
10
- if (!existanceCheck) {
11
- db = await IndexDB.createDatabase({
12
- databaseName: dbName,
13
- objectStores: [
14
- {
15
- name: "world-meta",
16
- schema: [],
17
- },
18
- ],
19
- });
20
- return new WorldDataBase(db);
21
- }
22
- else {
23
- db = await IndexDB.getDatabase(dbName);
24
- return new WorldDataBase(db);
25
- }
26
- }
27
- static async deleteWorldDataBase(dbName) {
28
- await IndexDB.deleteDatabase(dbName);
29
- }
30
- }
@@ -1,16 +0,0 @@
1
- import { WorldDataBase } from "./WorldDataBase";
2
- import { LocationData } from "../../../Math";
3
- import { DataLoaderSegments } from "Tasks/DataLoader/Types/DVEDataHandler";
4
- export declare class WorldDataTool {
5
- worldDataBase: WorldDataBase;
6
- setPath(id: string): Promise<boolean>;
7
- constructor(worldDataBase: WorldDataBase);
8
- dataType: DataLoaderSegments;
9
- setType(data: DataLoaderSegments): void;
10
- columnExists(location: LocationData): Promise<boolean>;
11
- columnExistsBatch(locations: LocationData[]): Promise<Record<string, boolean>>;
12
- columnTimestamp(location: LocationData): Promise<number>;
13
- loadRegionHeader(location: LocationData): Promise<ArrayBuffer>;
14
- loadColumn(location: LocationData): Promise<ArrayBufferLike>;
15
- saveColumn(location: LocationData, buffer: ArrayBuffer): Promise<boolean>;
16
- }
@@ -1,64 +0,0 @@
1
- import { WorldSpaces } from "../../../Data/World/WorldSpaces";
2
- import { Compressor } from "@amodx/core/Compression/Compression";
3
- export class WorldDataTool {
4
- worldDataBase;
5
- async setPath(id) {
6
- return true;
7
- }
8
- constructor(worldDataBase) {
9
- this.worldDataBase = worldDataBase;
10
- }
11
- dataType = "world-data";
12
- setType(data) {
13
- this.dataType = data;
14
- }
15
- async columnExists(location) {
16
- await this.worldDataBase.setDimension(location[0]);
17
- return (await this.columnTimestamp(location)) > 0;
18
- }
19
- async columnExistsBatch(locations) {
20
- await this.worldDataBase.setDimension(locations[0][0]);
21
- const existsRecord = {};
22
- const transication = await this.worldDataBase.database.getTransaction("readonly", this.worldDataBase.typeStores["world-data"].id);
23
- const proms = [];
24
- const keys = [];
25
- for (const location of locations) {
26
- const key = location.toString();
27
- keys.push(key);
28
- proms.push(transication.get(this.worldDataBase.columnTimestamp.getKey(WorldSpaces.column.getKeyXYZ(location[1], location[2], location[3]), this.dataType)));
29
- }
30
- const resolved = await Promise.all(proms);
31
- for (let i = 0; i < keys.length; i++) {
32
- existsRecord[keys[i]] = resolved[i] !== undefined;
33
- }
34
- return existsRecord;
35
- }
36
- async columnTimestamp(location) {
37
- await this.worldDataBase.setDimension(location[0]);
38
- const stamp = await this.worldDataBase.columnTimestamp.get(WorldSpaces.column.getKeyXYZ(location[1], location[2], location[3]), this.dataType);
39
- if (!stamp)
40
- return 0;
41
- return stamp;
42
- }
43
- async loadRegionHeader(location) {
44
- await this.worldDataBase.setDimension(location[0]);
45
- const buffer = await this.worldDataBase.regionHeader.get(WorldSpaces.region.getKeyXYZ(location[1], location[2], location[3]), this.dataType);
46
- if (!buffer)
47
- return new ArrayBuffer(0);
48
- return buffer;
49
- }
50
- async loadColumn(location) {
51
- await this.worldDataBase.setDimension(location[0]);
52
- const buffer = await this.worldDataBase.column.get(WorldSpaces.column.getKeyXYZ(location[1], location[2], location[3]), this.dataType);
53
- if (!buffer)
54
- return new ArrayBuffer(0);
55
- return await (await Compressor.decompressArray(buffer, "Uint8")).buffer;
56
- }
57
- async saveColumn(location, buffer) {
58
- const compressed = await Compressor.compressArray(new Uint8Array(buffer));
59
- await this.worldDataBase.setDimension(location[0]);
60
- await this.worldDataBase.column.set(WorldSpaces.column.getKeyXYZ(location[1], location[2], location[3]), this.dataType, compressed.buffer);
61
- await this.worldDataBase.columnTimestamp.set(WorldSpaces.column.getKeyXYZ(location[1], location[2], location[3]), this.dataType, Date.now());
62
- return true;
63
- }
64
- }
@@ -1 +0,0 @@
1
- export * from "./DataHandler";
@@ -1 +0,0 @@
1
- export * from "./DataHandler";
@@ -1,2 +0,0 @@
1
- import { DivineVoxelEngineDataLoaderConstructor } from "./DivineVoxelEngineDataLoaderConstructor.js";
2
- export default function (DVEDL: DivineVoxelEngineDataLoaderConstructor): void;
@@ -1,14 +0,0 @@
1
- ;
2
- import { Threads } from "@amodx/threads/";
3
- export default function (DVEDL) {
4
- Threads.registerTasks("serialize-column", async (location, onDone) => {
5
- const seralized = DVEDL.serializer.serializeColumn(location);
6
- if (!seralized)
7
- return onDone ? onDone(false) : false;
8
- return onDone ? onDone(seralized, [seralized]) : seralized;
9
- }, "deferred");
10
- Threads.registerTasks("deserialize-column", async (columnData, onDone) => {
11
- const deSeralized = DVEDL.serializer.deSerializeColumn(columnData);
12
- return onDone ? onDone(deSeralized) : deSeralized;
13
- }, "deferred");
14
- }
@@ -1,9 +0,0 @@
1
- import { WorldDataSerializer } from "./WorldDataSerializer.js";
2
- export type DivineVoxelEngineDataLoaderConstructorInitData = {};
3
- export declare class DivineVoxelEngineDataLoaderConstructor {
4
- static instance: DivineVoxelEngineDataLoaderConstructor;
5
- environment: "node" | "browser";
6
- serializer: WorldDataSerializer;
7
- constructor(data: DivineVoxelEngineDataLoaderConstructorInitData);
8
- init(): Promise<void>;
9
- }
@@ -1,17 +0,0 @@
1
- //functions
2
- import DataLoaderTasks from "./DataLoaderTasks.js";
3
- import { WorldDataSerializer } from "./WorldDataSerializer.js";
4
- export class DivineVoxelEngineDataLoaderConstructor {
5
- static instance;
6
- environment = "browser";
7
- serializer;
8
- constructor(data) {
9
- if (DivineVoxelEngineDataLoaderConstructor.instance)
10
- return DivineVoxelEngineDataLoaderConstructor.instance;
11
- DivineVoxelEngineDataLoaderConstructor.instance = this;
12
- this.serializer = new WorldDataSerializer();
13
- }
14
- async init() {
15
- DataLoaderTasks(this);
16
- }
17
- }
@@ -1,15 +0,0 @@
1
- import type { ColumnData } from "../../../Data/World/Classes/Column.js";
2
- import type { LocationData } from "../../../Math";
3
- import { RegionDataTool } from "../../../Tools/Data/WorldData/RegionDataTool.js";
4
- import { ColumnDataTool } from "../../../Tools/Data/WorldData/ColumnDataTool.js";
5
- import { ChunkDataTool } from "../../../Tools/Data/WorldData/ChunkDataTool.js";
6
- export declare class WorldDataSerializer {
7
- regions: RegionDataTool;
8
- columns: ColumnDataTool;
9
- chunks: ChunkDataTool;
10
- serializeRegion(location: LocationData): false | [location: LocationData, buffer: ArrayBuffer][];
11
- serializeColumn(location: LocationData): false | ArrayBuffer;
12
- deSerializeRegion(regionBuffers: ArrayBuffer[] | SharedArrayBuffer[]): void;
13
- deSerializeColumn(columnBuffer: ArrayBuffer | SharedArrayBuffer): ColumnData;
14
- _readDataIntoBuffer(offset: number, target: Uint8Array, source: ArrayBuffer | SharedArrayBuffer, sourceOffset?: number, sourceLength?: number): number;
15
- }
@@ -1,54 +0,0 @@
1
- //objects
2
- import { RegionDataTool } from "../../../Tools/Data/WorldData/RegionDataTool.js";
3
- import { ColumnDataTool } from "../../../Tools/Data/WorldData/ColumnDataTool.js";
4
- import { ChunkDataTool } from "../../../Tools/Data/WorldData/ChunkDataTool.js";
5
- import { BinaryObject } from "@amodx/binary";
6
- export class WorldDataSerializer {
7
- regions = new RegionDataTool();
8
- columns = new ColumnDataTool();
9
- chunks = new ChunkDataTool();
10
- serializeRegion(location) {
11
- if (!this.regions
12
- .setDimension(location[0])
13
- .loadInAt(location[1], location[2], location[3]))
14
- return false;
15
- const region = this.regions.getRegion();
16
- const columnBuffers = [];
17
- region.columns.forEach((column, index) => {
18
- this.columns.setColumn(column);
19
- const position = region.getColumnPosition(index);
20
- const columnLocation = [location[0], ...position];
21
- const columnBuffer = this.serializeColumn(columnLocation);
22
- if (columnBuffer)
23
- columnBuffers.push([[...columnLocation], columnBuffer]);
24
- });
25
- return columnBuffers;
26
- }
27
- serializeColumn(location) {
28
- if (!this.columns.setLocation(location).loadIn())
29
- return false;
30
- const column = this.columns.getColumn();
31
- const columnData = column.toJSON();
32
- const columnArray = BinaryObject.objectToBuffer(columnData);
33
- return columnArray;
34
- }
35
- deSerializeRegion(regionBuffers) {
36
- for (const buffer of regionBuffers) {
37
- this.deSerializeColumn(buffer);
38
- }
39
- }
40
- deSerializeColumn(columnBuffer) {
41
- BinaryObject.setUseSharedMemory(true);
42
- const columnData = BinaryObject.bufferToObject(columnBuffer);
43
- BinaryObject.setUseSharedMemory(false);
44
- return columnData;
45
- }
46
- _readDataIntoBuffer(offset, target, source, sourceOffset = 0, sourceLength = -1) {
47
- const bufferArray = new Uint8Array(source, sourceOffset, sourceLength == -1 ? source.byteLength : sourceLength);
48
- let i = bufferArray.length;
49
- while (i--) {
50
- target[i + offset] = bufferArray[i];
51
- }
52
- return bufferArray.length;
53
- }
54
- }
@@ -1 +0,0 @@
1
- export * from "./DivineVoxelEngineDataLoaderConstructor.js";
@@ -1 +0,0 @@
1
- export * from "./DivineVoxelEngineDataLoaderConstructor.js";
@@ -1,48 +0,0 @@
1
- import type * as FileSystem from "fs";
2
- import { NodeRegionTool } from "./Tools/NodeRegionTool.js";
3
- import { VoxelSpaces } from "../../../Math/Spaces/VoxelSpaces.js";
4
- import { BinaryStruct } from "@amodx/binary/";
5
- type Vector3 = {
6
- x: number;
7
- y: number;
8
- z: number;
9
- };
10
- export declare const DVED: {
11
- spaces: VoxelSpaces;
12
- regionTags: BinaryStruct;
13
- system: {
14
- fs: typeof FileSystem;
15
- $INIT(fs: typeof FileSystem): void;
16
- updateFolder(folder: string): void;
17
- mkdirs(paths: string[]): void;
18
- sync: {
19
- createFile(path: string, size?: number, mode?: number): boolean;
20
- createAndOpenFile(path: string, size?: number): false | import("../Types/DVED.types.js").DVEDSyncFile;
21
- openFile(filePath: string, showErrors?: boolean): import("../Types/DVED.types.js").DVEDSyncFile | false;
22
- };
23
- };
24
- path: {
25
- _dataPath: string;
26
- _dataFolder: string;
27
- _folder: string;
28
- _tempPath: string;
29
- setFolder(folder: string): void;
30
- getDataPath(): string;
31
- getDataDirectory(fileName?: string): string;
32
- getDirecoty(fileName?: string): string;
33
- getTempPath(fileName?: string): string;
34
- $INIT(): void;
35
- };
36
- $INIT(data: {
37
- fs: typeof FileSystem;
38
- dataDirecotry: string;
39
- sectorSize: number;
40
- spaceBounds: {
41
- regions: Vector3;
42
- columns: Vector3;
43
- chunks: Vector3;
44
- };
45
- }): void;
46
- getRegionTool(): NodeRegionTool;
47
- };
48
- export {};
@@ -1,47 +0,0 @@
1
- import { NodeRegionTool } from "./Tools/NodeRegionTool.js";
2
- import { RegionData, RegionTagIds, SecotrData } from "./Util/DVED.util.js";
3
- import { VoxelSpaces } from "../../../Math/Spaces/VoxelSpaces.js";
4
- import { BinaryNumberTypes, BinaryStruct } from "@amodx/binary/";
5
- import { System } from "./System/System.js";
6
- import { SystemPath } from "./System/SystemPath.js";
7
- const voxelSpaces = new VoxelSpaces();
8
- const regionTagManager = new BinaryStruct("region-tagsx");
9
- export const DVED = {
10
- spaces: voxelSpaces,
11
- regionTags: regionTagManager,
12
- system: System,
13
- path: SystemPath,
14
- $INIT(data) {
15
- SystemPath.setFolder(data.dataDirecotry);
16
- this.spaces = voxelSpaces;
17
- SecotrData.byteSize = data.sectorSize;
18
- SystemPath._dataFolder = data.dataDirecotry;
19
- System.$INIT(data.fs);
20
- this.spaces.setDimensions(data.spaceBounds);
21
- const numberColumns = this.spaces.region.getColumnVolume();
22
- regionTagManager.registerProperty({
23
- id: RegionTagIds.sectorIndex,
24
- type: "typed-number-array",
25
- numberType: BinaryNumberTypes.Uint16,
26
- length: numberColumns,
27
- });
28
- regionTagManager.registerProperty({
29
- id: RegionTagIds.columnLength,
30
- type: "typed-number-array",
31
- numberType: BinaryNumberTypes.Uint16,
32
- length: numberColumns,
33
- });
34
- regionTagManager.registerProperty({
35
- id: RegionTagIds.timeStamp,
36
- type: "typed-number-array",
37
- numberType: BinaryNumberTypes.Uint32,
38
- length: numberColumns,
39
- });
40
- regionTagManager.init();
41
- RegionData.headByteSize = regionTagManager.structSize;
42
- RegionData.numColumns = numberColumns;
43
- },
44
- getRegionTool() {
45
- return new NodeRegionTool();
46
- },
47
- };
@@ -1,28 +0,0 @@
1
- import type { DVEDSyncFile } from "../../Types/DVED.types";
2
- import type { LocationData } from "../../../../Math/";
3
- export declare const RegionSystem: {
4
- _processInput(buffer: ArrayBuffer | string): ArrayBufferLike;
5
- _getTagIndex(id: string, index: number): number;
6
- _getIndex(index: number | LocationData): number;
7
- timeStamp: {
8
- get(file: DVEDSyncFile, index: number): number | false;
9
- set(file: DVEDSyncFile, index: number, timeStamp?: number): boolean;
10
- };
11
- sectorIndex: {
12
- get(file: DVEDSyncFile, index: number): number | false;
13
- set(file: DVEDSyncFile, index: number, sectorIndex: number): boolean;
14
- };
15
- columnLength: {
16
- get(file: DVEDSyncFile, index: number): number | false;
17
- set(file: DVEDSyncFile, index: number, length: number): boolean;
18
- };
19
- sectors: {
20
- get(file: DVEDSyncFile, sectorIndex: number, length: number): false | ArrayBuffer;
21
- set(file: DVEDSyncFile, sectorIndex: number, data: ArrayBuffer): boolean;
22
- };
23
- getHeader(file: DVEDSyncFile): false | ArrayBuffer;
24
- _rebuild(file: DVEDSyncFile, swapFile: DVEDSyncFile, newColumnIndex: number, newColumnData: ArrayBuffer): void;
25
- _getAllColumns(file: DVEDSyncFile): IterableIterator<[number, ArrayBuffer]>;
26
- loadColumn(file: DVEDSyncFile, index: number | LocationData): false | ArrayBuffer;
27
- saveColumn(file: DVEDSyncFile, index: number | LocationData, data: ArrayBuffer | string): void;
28
- };
@@ -1,147 +0,0 @@
1
- import { RegionData, RegionTagIds, SecotrData } from "../Util/DVED.util.js";
2
- import { DVED } from "../DivineVoxelEngineData.js";
3
- import { System } from "./System.js";
4
- import { SystemPath } from "./SystemPath.js";
5
- export const RegionSystem = {
6
- _processInput(buffer) {
7
- if (buffer instanceof ArrayBuffer)
8
- return buffer;
9
- if (ArrayBuffer.isView(buffer))
10
- return buffer.buffer;
11
- let newBuf = new ArrayBuffer(buffer.length);
12
- const array = new Uint8Array(newBuf);
13
- let i = newBuf.byteLength;
14
- while (i--) {
15
- array[i] = buffer.charCodeAt(i);
16
- }
17
- return newBuf;
18
- },
19
- _getTagIndex(id, index) {
20
- return DVED.regionTags.getArrayPropertyValue(id, index);
21
- },
22
- _getIndex(index) {
23
- if (Array.isArray(index)) {
24
- index = DVED.spaces.column.getIndexXYZ(index[1], index[2], index[3]);
25
- }
26
- return index;
27
- },
28
- timeStamp: {
29
- get(file, index) {
30
- const timeStampData = file.read(RegionSystem._getTagIndex(RegionTagIds.timeStamp, index), 4);
31
- if (!timeStampData)
32
- return false;
33
- return new Uint32Array(timeStampData)[0];
34
- },
35
- set(file, index, timeStamp = Date.now()) {
36
- return file.write(RegionSystem._getTagIndex(RegionTagIds.timeStamp, index), new Uint32Array([timeStamp]).buffer);
37
- },
38
- },
39
- sectorIndex: {
40
- get(file, index) {
41
- const sectorIndexData = file.read(RegionSystem._getTagIndex(RegionTagIds.sectorIndex, index), 2);
42
- if (!sectorIndexData)
43
- return false;
44
- return new Uint16Array(sectorIndexData)[0] + 1;
45
- },
46
- set(file, index, sectorIndex) {
47
- return file.write(RegionSystem._getTagIndex(RegionTagIds.sectorIndex, index), new Uint16Array([sectorIndex - 1]).buffer);
48
- },
49
- },
50
- columnLength: {
51
- get(file, index) {
52
- const columnLengthData = file.read(RegionSystem._getTagIndex(RegionTagIds.columnLength, index), 2);
53
- if (!columnLengthData)
54
- return false;
55
- return new Uint16Array(columnLengthData)[0];
56
- },
57
- set(file, index, length) {
58
- return file.write(RegionSystem._getTagIndex(RegionTagIds.columnLength, index), new Uint16Array([length]).buffer);
59
- },
60
- },
61
- sectors: {
62
- get(file, sectorIndex, length) {
63
- return file.read(SecotrData.getSectorByteIndex(sectorIndex - 1), length);
64
- },
65
- set(file, sectorIndex, data) {
66
- const sectorByteIndex = SecotrData.getSectorByteIndex(sectorIndex - 1);
67
- file.clear(sectorByteIndex, SecotrData.getTotalBytesNeeded(data.byteLength));
68
- return file.write(sectorByteIndex, data);
69
- },
70
- },
71
- getHeader(file) {
72
- return file.read(0, RegionData.headByteSize);
73
- },
74
- _rebuild(file, swapFile, newColumnIndex, newColumnData) {
75
- const columns = this._getAllColumns(file);
76
- for (const column of columns) {
77
- let [index, data] = column;
78
- if (data.byteLength == 0)
79
- continue;
80
- if (index == newColumnIndex)
81
- data = newColumnData;
82
- this.saveColumn(swapFile, index, data);
83
- }
84
- },
85
- _getAllColumns(file) {
86
- return (function* generator() {
87
- for (let i = 0; i < RegionData.numColumns; i++) {
88
- let data = RegionSystem.loadColumn(file, i);
89
- data = data ? data : new ArrayBuffer(0);
90
- yield [i, data];
91
- }
92
- })();
93
- },
94
- loadColumn(file, index) {
95
- let realIndex;
96
- if (Array.isArray(index)) {
97
- realIndex = this._getIndex(index);
98
- }
99
- else {
100
- realIndex = index;
101
- }
102
- const sectorIndex = this.sectorIndex.get(file, realIndex);
103
- if (typeof sectorIndex == "boolean")
104
- return false;
105
- const columnLength = this.columnLength.get(file, realIndex);
106
- if (typeof columnLength == "boolean" || columnLength === 0)
107
- return false;
108
- return this.sectors.get(file, sectorIndex, columnLength);
109
- },
110
- saveColumn(file, index, data) {
111
- index = this._getIndex(index);
112
- data = this._processInput(data);
113
- let timeStamp = this.timeStamp.get(file, index);
114
- let sectorIndex = this.sectorIndex.get(file, index);
115
- if (!sectorIndex)
116
- throw new Error("error");
117
- if (!timeStamp) {
118
- const currentFileSize = file.getSize();
119
- sectorIndex = SecotrData.getTotalSectorsInFile(currentFileSize) + 1;
120
- this.sectorIndex.set(file, index, sectorIndex);
121
- }
122
- let currentColumnLegnth = this.columnLength.get(file, index);
123
- if (currentColumnLegnth) {
124
- const currentSectors = SecotrData.getSectorsNeeded(currentColumnLegnth);
125
- const newSectors = SecotrData.getSectorsNeeded(data.byteLength);
126
- if (currentSectors != newSectors) {
127
- const swapFilePath = SystemPath.getDirecoty(file.getPath()) +
128
- "/" +
129
- Date.now() +
130
- "-temp.dved";
131
- const oldPath = file.getPath();
132
- file.move(swapFilePath);
133
- // file.reOpen();
134
- const swapFile = System.sync.createAndOpenFile(oldPath, RegionData.headByteSize);
135
- if (swapFile) {
136
- this._rebuild(file, swapFile, index, data);
137
- file.delete();
138
- swapFile.close();
139
- return;
140
- }
141
- }
142
- }
143
- this.sectors.set(file, sectorIndex, data);
144
- this.columnLength.set(file, index, data.byteLength);
145
- this.timeStamp.set(file, index);
146
- },
147
- };
@@ -1,13 +0,0 @@
1
- import type * as FileSystem from "fs";
2
- import type { DVEDSyncFile } from "../../Types/DVED.types";
3
- export declare const System: {
4
- fs: typeof FileSystem;
5
- $INIT(fs: typeof FileSystem): void;
6
- updateFolder(folder: string): void;
7
- mkdirs(paths: string[]): void;
8
- sync: {
9
- createFile(path: string, size?: number, mode?: number): boolean;
10
- createAndOpenFile(path: string, size?: number): false | DVEDSyncFile;
11
- openFile(filePath: string, showErrors?: boolean): DVEDSyncFile | false;
12
- };
13
- };