@divinevoxel/vlox 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (662) 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 +19 -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 +0 -3
  16. package/Contexts/Render/DVERenderThreads.js +1 -7
  17. package/Contexts/Render/DivineVoxelEngineRender.d.ts +28 -9
  18. package/Contexts/Render/DivineVoxelEngineRender.js +2 -4
  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 +22 -45
  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 +82 -107
  39. package/Mesher/Functions/MeshSection.d.ts +3 -0
  40. package/Mesher/Functions/MeshSection.js +113 -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 +43 -0
  45. package/Mesher/Geomtry/Geometry.types.d.ts +11 -0
  46. package/Mesher/Geomtry/Geometry.types.js +13 -0
  47. package/Mesher/Geomtry/GeometryNormals.d.ts +10 -0
  48. package/Mesher/Geomtry/GeometryNormals.js +52 -0
  49. package/Mesher/Geomtry/Mesh.d.ts +11 -0
  50. package/Mesher/Geomtry/Mesh.js +23 -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/index.d.ts +2 -0
  66. package/Mesher/Geomtry/index.js +2 -0
  67. package/Mesher/InitMesher.d.ts +2 -0
  68. package/Mesher/InitMesher.js +23 -0
  69. package/Mesher/InitTask.d.ts +2 -0
  70. package/Mesher/InitTask.js +44 -0
  71. package/Mesher/Models/Common/BoxGeometryNode.d.ts +2 -2
  72. package/Mesher/Models/Common/BoxGeometryNode.js +61 -56
  73. package/Mesher/Models/Common/Calc/CalcConstants.d.ts +2 -2
  74. package/Mesher/Models/Common/Calc/CalcConstants.js +8 -7
  75. package/Mesher/Models/Common/Calc/FaceDataCalc.js +5 -4
  76. package/Mesher/Models/Common/QuadGeometryNode.d.ts +2 -2
  77. package/Mesher/Models/Common/QuadGeometryNode.js +1 -1
  78. package/Mesher/Models/Nodes/Custom/Liquid/FlowGradient.d.ts +10 -5
  79. package/Mesher/Models/Nodes/Custom/Liquid/FlowGradient.js +148 -57
  80. package/Mesher/Models/Nodes/Custom/Liquid/LiquidGeomtryNode.d.ts +1 -1
  81. package/Mesher/Models/Nodes/Custom/Liquid/LiquidGeomtryNode.js +59 -116
  82. package/Mesher/Models/Nodes/GeometryNode.d.ts +1 -1
  83. package/Mesher/Models/Nodes/Ruled/BoxVoxelGeometryNode.d.ts +4 -2
  84. package/Mesher/Models/Nodes/Ruled/BoxVoxelGeometryNode.js +9 -8
  85. package/Mesher/Models/Nodes/Ruled/QuadVoxelGeometryNode.d.ts +4 -2
  86. package/Mesher/Models/Nodes/Ruled/QuadVoxelGeometryNode.js +9 -8
  87. package/Mesher/Models/Nodes/Ruleless/RulelessBoxVoxelGeometryNode.d.ts +10 -3
  88. package/Mesher/Models/Nodes/Ruleless/RulelessBoxVoxelGeometryNode.js +9 -8
  89. package/Mesher/Models/Nodes/Ruleless/RulelessQuadVoxelGeometryNode.d.ts +4 -2
  90. package/Mesher/Models/Nodes/Ruleless/RulelessQuadVoxelGeometryNode.js +9 -8
  91. package/Mesher/Models/Nodes/VoxelGeometryConstructor.d.ts +2 -2
  92. package/Mesher/Models/Nodes/VoxelGeometryConstructor.js +1 -1
  93. package/Mesher/Models/VoxelConstructor.d.ts +3 -3
  94. package/Mesher/Models/VoxelConstructor.js +1 -1
  95. package/Mesher/Models/VoxelGeometryLookUp.d.ts +2 -2
  96. package/Mesher/Models/VoxelGeometryLookUp.js +2 -2
  97. package/Mesher/Models/VoxelModelConstructorRegister.d.ts +4 -4
  98. package/Mesher/Models/VoxelModelConstructorRegister.js +1 -1
  99. package/Mesher/RenderedMaterials.d.ts +6 -0
  100. package/Mesher/RenderedMaterials.js +12 -0
  101. package/Mesher/Tools/OutlinedVoxelTool.d.ts +2 -11
  102. package/Mesher/Tools/OutlinedVoxelTool.js +69 -39
  103. package/Mesher/Tools/VoxelMeshBVHBuilder.d.ts +1 -1
  104. package/Mesher/Tools/VoxelMeshBVHBuilder.js +3 -3
  105. package/Mesher/Tools/VoxelMeshVertexStructCursor.d.ts +1 -1
  106. package/Mesher/Tools/VoxelMesherDataTool.d.ts +23 -17
  107. package/Mesher/Tools/VoxelMesherDataTool.js +28 -61
  108. package/Mesher/Types/Mesher.types.d.ts +8 -12
  109. package/Models/Defaults/CubeVoxelModels.js +26 -26
  110. package/Models/Defaults/PanelVoxelModels.js +24 -24
  111. package/Models/Input/BoxVoxelGometryInputs.d.ts +5 -3
  112. package/Models/Input/BoxVoxelGometryInputs.js +5 -5
  113. package/Models/Input/QuadVoxelGometryInputs.d.ts +1 -1
  114. package/Models/Rules/Classes/OcclusionFace.js +1 -1
  115. package/Models/Rules/Classes/VoxelRulesGeometry.d.ts +3 -3
  116. package/Models/Rules/Functions/BuildGeomtryInputs.js +44 -37
  117. package/Models/Rules/Functions/GetOcclusionFaces.d.ts +2 -2
  118. package/Models/Rules/Functions/GetOcclusionFaces.js +1 -1
  119. package/Models/Shared/Transform.d.ts +2 -2
  120. package/Models/Shared/Transform.js +4 -6
  121. package/Models/VoxelModel.types.d.ts +1 -1
  122. package/Renderer/Classes/DVESectionMeshInterface.d.ts +3 -0
  123. package/Renderer/Classes/DVESectionMeshes.d.ts +6 -0
  124. package/Renderer/Classes/DVESectionMeshes.js +2 -0
  125. package/Renderer/Classes/SectionMesh.d.ts +13 -0
  126. package/Renderer/Classes/SectionMesh.js +26 -0
  127. package/Renderer/Classes/SectorMesh.d.ts +11 -0
  128. package/Renderer/Classes/SectorMesh.js +33 -0
  129. package/Renderer/DVERenderNode.types.d.ts +1 -1
  130. package/Renderer/DVERenderer.d.ts +2 -2
  131. package/Renderer/InitTasks.d.ts +2 -0
  132. package/Renderer/InitTasks.js +19 -0
  133. package/Renderer/MeshManager.d.ts +5 -7
  134. package/Renderer/MeshManager.js +27 -52
  135. package/Renderer/MeshRegister.d.ts +14 -27
  136. package/Renderer/MeshRegister.js +38 -164
  137. package/Renderer/Renderer.types.d.ts +21 -0
  138. package/Renderer/index.d.ts +4 -0
  139. package/Renderer/index.js +4 -0
  140. package/Settings/EngineSettings.d.ts +19 -21
  141. package/Settings/EngineSettings.js +15 -43
  142. package/Settings/EngineSettings.types.d.ts +8 -35
  143. package/Settings/EngineSettings.types.js +8 -35
  144. package/Tasks/IWG/IWG.d.ts +25 -0
  145. package/Tasks/IWG/IWG.js +89 -0
  146. package/Tasks/IWG/Internal/Classes/DimensionSegment.d.ts +37 -0
  147. package/Tasks/IWG/Internal/Classes/DimensionSegment.js +67 -0
  148. package/Tasks/IWG/Internal/Classes/Generator.d.ts +27 -0
  149. package/Tasks/IWG/Internal/Classes/Generator.js +41 -0
  150. package/Tasks/IWG/Internal/Classes/IWGTaskBase.d.ts +15 -0
  151. package/Tasks/IWG/Internal/Classes/IWGTaskBase.js +62 -0
  152. package/Tasks/IWG/Internal/Classes/SectorState.d.ts +11 -0
  153. package/Tasks/IWG/Internal/Classes/SectorState.js +20 -0
  154. package/Tasks/IWG/Internal/Classes/SectorVisistedMap.d.ts +9 -0
  155. package/Tasks/IWG/Internal/Classes/SectorVisistedMap.js +24 -0
  156. package/Tasks/IWG/Internal/Functions/cullSectors.d.ts +2 -0
  157. package/Tasks/IWG/Internal/Functions/cullSectors.js +112 -0
  158. package/Tasks/IWG/Internal/Functions/getSectorState.d.ts +4 -0
  159. package/Tasks/IWG/Internal/Functions/getSectorState.js +42 -0
  160. package/Tasks/IWG/Internal/Functions/runBuildUpdate.d.ts +2 -0
  161. package/Tasks/IWG/Internal/Functions/runBuildUpdate.js +52 -0
  162. package/Tasks/IWG/Internal/Functions/runWorldUpdate.d.ts +2 -0
  163. package/Tasks/IWG/Internal/Functions/runWorldUpdate.js +71 -0
  164. package/Tasks/IWG/Internal/IWGDimensions.d.ts +6 -0
  165. package/Tasks/IWG/Internal/IWGDimensions.js +17 -0
  166. package/Tasks/IWG/Internal/IWGTasks.d.ts +34 -0
  167. package/Tasks/IWG/Internal/IWGTasks.js +154 -0
  168. package/Tasks/IWG/Internal/IWGTools.d.ts +8 -0
  169. package/Tasks/IWG/Internal/IWGTools.js +5 -0
  170. package/Tasks/IWG/Internal/TaskRegister.d.ts +7 -0
  171. package/Tasks/IWG/Internal/TaskRegister.js +14 -0
  172. package/Tasks/IWG/Procedures/InitalLoad.d.ts +10 -0
  173. package/Tasks/IWG/Procedures/InitalLoad.js +53 -0
  174. package/Tasks/IWG/Procedures/SaveAllSectors.d.ts +5 -0
  175. package/Tasks/IWG/Procedures/SaveAllSectors.js +20 -0
  176. package/Tasks/IWG/index.d.ts +2 -1
  177. package/Tasks/IWG/index.js +2 -1
  178. package/Tasks/Propagation/Explosion/ExplosionManager.js +26 -26
  179. package/Tasks/Propagation/Flow/FlowManager.d.ts +9 -51
  180. package/Tasks/Propagation/Flow/FlowManager.js +96 -108
  181. package/Tasks/Propagation/Flow/{Functions/FlowRemove.d.ts → FlowRemove.d.ts} +1 -1
  182. package/Tasks/Propagation/Flow/FlowRemove.js +157 -0
  183. package/Tasks/Propagation/Flow/{Functions/FlowUpdate.d.ts → FlowUpdate.d.ts} +1 -1
  184. package/Tasks/Propagation/Flow/FlowUpdate.js +98 -0
  185. package/Tasks/Propagation/Flow/WorldFlow.d.ts +2 -0
  186. package/Tasks/Propagation/Flow/WorldFlow.js +153 -0
  187. package/Tasks/Propagation/Illumanation/CommonFunctions.d.ts +104 -0
  188. package/Tasks/Propagation/Illumanation/CommonFunctions.js +280 -0
  189. package/Tasks/Propagation/Illumanation/{Functions/RGBUpdate.d.ts → RGBUpdate.d.ts} +1 -1
  190. package/Tasks/Propagation/Illumanation/{Functions/RGBUpdate.js → RGBUpdate.js} +8 -8
  191. package/Tasks/Propagation/Illumanation/{Functions/SunUpdate.d.ts → SunUpdate.d.ts} +1 -1
  192. package/Tasks/Propagation/Illumanation/{Functions/SunUpdate.js → SunUpdate.js} +11 -11
  193. package/Tasks/Propagation/Illumanation/WorldRGB.d.ts +2 -0
  194. package/Tasks/Propagation/Illumanation/WorldRGB.js +44 -0
  195. package/Tasks/Propagation/Illumanation/WorldSun.d.ts +2 -0
  196. package/Tasks/Propagation/Illumanation/WorldSun.js +119 -0
  197. package/Tasks/Propagation/InitTasks.js +32 -16
  198. package/Tasks/Propagation/index.d.ts +2 -1
  199. package/Tasks/Propagation/index.js +2 -1
  200. package/Tasks/Tasks.types.d.ts +6 -77
  201. package/Tasks/TasksIds.d.ts +3 -3
  202. package/Tasks/TasksIds.js +3 -3
  203. package/Tasks/Update/InitTasks.js +9 -24
  204. package/Tasks/Update/UpdateTask.d.ts +2 -2
  205. package/Tasks/Update/UpdateTask.js +18 -17
  206. package/Tasks/Update/VoxelUpdate.d.ts +3 -2
  207. package/Tasks/Update/VoxelUpdate.js +23 -19
  208. package/Tasks/WorldGeneration/InitTasks.js +2 -10
  209. package/Tasks/WorldGeneration/WorldGenBrush.d.ts +3 -3
  210. package/Tasks/WorldGeneration/WorldGenBrush.js +20 -27
  211. package/Tasks/WorldGeneration/WorldGenRegister.d.ts +2 -2
  212. package/Tasks/WorldGeneration/WorldGenRegister.js +30 -40
  213. package/Tasks/WorldGeneration/WorldGeneration.d.ts +1 -1
  214. package/Tasks/WorldGeneration/WorldGeneration.js +15 -11
  215. package/{Data/Cursor/Template → Templates/Cursor}/TemplateCursor.d.ts +1 -1
  216. package/{Data/Cursor/Template → Templates/Cursor}/TemplateCursor.js +1 -1
  217. package/{Data/Cursor/Template → Templates/Cursor}/TemplateVoxelCursor.d.ts +2 -1
  218. package/{Data/Cursor/Template → Templates/Cursor}/TemplateVoxelCursor.js +4 -1
  219. package/Templates/FullVoxelTemplate.d.ts +1 -0
  220. package/Templates/FullVoxelTemplate.js +14 -7
  221. package/Templates/Functions/CreateTemplate.js +58 -37
  222. package/Templates/Functions/FlipTemplate.js +4 -0
  223. package/Templates/Functions/RotateTemplate.js +4 -0
  224. package/Templates/VoxelTemplate.d.ts +5 -2
  225. package/Templates/VoxelTemplate.js +33 -18
  226. package/Templates/VoxelTemplates.types.d.ts +5 -7
  227. package/Textures/Texture.types.d.ts +1 -0
  228. package/Textures/TextureManager.d.ts +4 -5
  229. package/Textures/TextureManager.js +3 -1
  230. package/Textures/TextureRegister.d.ts +9 -10
  231. package/Textures/TextureRegister.js +12 -12
  232. package/Textures/index.d.ts +1 -0
  233. package/Textures/index.js +1 -0
  234. package/Tools/Brush/AdvancedBrushTool.d.ts +2 -1
  235. package/Tools/Brush/AdvancedBrushTool.js +12 -15
  236. package/Tools/Brush/Brush.d.ts +4 -4
  237. package/Tools/Brush/Brush.js +22 -22
  238. package/Tools/Data/SubstanceDataTool.d.ts +2 -1
  239. package/Tools/Data/SubstanceDataTool.js +6 -5
  240. package/Tools/Tasks/TasksTool.d.ts +43 -88
  241. package/Tools/Tasks/TasksTool.js +97 -212
  242. package/Util/BinaryObject.d.ts +2 -0
  243. package/Util/BinaryObject.js +14 -0
  244. package/Util/Environment.d.ts +4 -0
  245. package/Util/Environment.js +10 -0
  246. package/Util/TypedEventTarget.d.ts +5 -0
  247. package/Util/TypedEventTarget.js +12 -0
  248. package/Util/Util.types.d.ts +0 -2
  249. package/{Data → Voxels}/Cursor/VoxelCursor.d.ts +3 -3
  250. package/{Data/Cursor/Interfaces → Voxels/Cursor}/VoxelCursor.interface.d.ts +14 -7
  251. package/{Data/Cursor/Interfaces → Voxels/Cursor}/VoxelCursor.interface.js +57 -44
  252. package/{Data → Voxels}/Cursor/VoxelCursor.js +7 -8
  253. package/Voxels/Cursor/VoxelLightData.d.ts +45 -0
  254. package/Voxels/Cursor/VoxelLightData.js +146 -0
  255. package/Voxels/Effects/VoxelEffect.d.ts +4 -4
  256. package/Voxels/Functions/BuildStateData.js +1 -1
  257. package/Voxels/Indexes/VoxelIndex.d.ts +2 -2
  258. package/Voxels/Indexes/VoxelIndex.js +6 -6
  259. package/Voxels/InitVoxelData.d.ts +7 -3
  260. package/Voxels/InitVoxelData.js +182 -29
  261. package/Voxels/Segments/MaterialDataGenerator.d.ts +6 -0
  262. package/{Contexts/Base/Main/Generator → Voxels}/Segments/MaterialDataGenerator.js +2 -2
  263. package/Voxels/Segments/SubstanceDataGenerator.d.ts +6 -0
  264. package/{Contexts/Base/Main/Generator → Voxels}/Segments/SubstanceDataGenerator.js +4 -4
  265. package/{Contexts/Base/Main/Generator → Voxels}/Segments/VoxelDataGenerator.d.ts +2 -2
  266. package/{Contexts/Base/Main/Generator → Voxels}/Segments/VoxelDataGenerator.js +4 -5
  267. package/Voxels/State/LogicStatementReader.js +1 -1
  268. package/Voxels/State/Schema/BinarySchema.d.ts +4 -0
  269. package/Voxels/State/Schema/BinarySchema.js +32 -1
  270. package/Voxels/State/Schema/StateSchema.d.ts +2 -2
  271. package/Voxels/State/Schema/VoxelSchema.d.ts +4 -4
  272. package/Voxels/State/Schema/VoxelSchema.js +6 -6
  273. package/Voxels/State/SchemaRegister.d.ts +4 -3
  274. package/Voxels/State/SchemaRegister.js +5 -2
  275. package/Voxels/State/VoxelTagStates.js +1 -1
  276. package/Voxels/Structs/Builder/SubstanceStructBuilder.d.ts +2 -0
  277. package/{Data → Voxels}/Structs/Builder/SubstanceStructBuilder.js +2 -2
  278. package/Voxels/Structs/Builder/VoxelStructBuilder.d.ts +2 -0
  279. package/{Data → Voxels}/Structs/Builder/VoxelStructBuilder.js +2 -7
  280. package/{Data → Voxels}/Structs/SubstanceStruct.d.ts +2 -1
  281. package/{Data → Voxels}/Structs/SubstanceStruct.js +2 -4
  282. package/{Data → Voxels}/Structs/VoxelStruct.d.ts +2 -2
  283. package/{Data → Voxels}/Structs/VoxelStruct.js +1 -1
  284. package/Voxels/{Voxel.types.d.ts → Types/Voxel.types.d.ts} +18 -7
  285. package/Voxels/{Voxel.types.js → Types/Voxel.types.js} +19 -1
  286. package/Voxels/Types/VoxelModelCompiledData.types.d.ts +93 -0
  287. package/Voxels/index.d.ts +3 -3
  288. package/Voxels/index.js +3 -3
  289. package/World/Archive/Archive.types.d.ts +159 -0
  290. package/World/Archive/Functions/ArchiveArea.d.ts +10 -0
  291. package/World/Archive/Functions/ArchiveArea.js +350 -0
  292. package/World/Archive/Functions/ArchiveSector.d.ts +7 -0
  293. package/World/Archive/Functions/ArchiveSector.js +355 -0
  294. package/World/Archive/Functions/ImportSector.d.ts +9 -0
  295. package/World/Archive/Functions/ImportSector.js +234 -0
  296. package/World/Archive/Functions/index.d.ts +3 -0
  297. package/World/Archive/Functions/index.js +3 -0
  298. package/World/Archive/InitTasks.d.ts +4 -0
  299. package/World/Archive/InitTasks.js +71 -0
  300. package/World/Cursor/SectionCursor.d.ts +16 -0
  301. package/World/Cursor/SectionCursor.js +58 -0
  302. package/{Data/Cursor/World/ColumnCursor.d.ts → World/Cursor/SectorCursor.d.ts} +8 -7
  303. package/World/Cursor/SectorCursor.js +58 -0
  304. package/{Data/Cursor/World → World/Cursor}/WorldCursor.d.ts +4 -4
  305. package/World/Cursor/WorldCursor.js +52 -0
  306. package/{Data/Cursor/World → World/Cursor}/WorldSectionCursor.interface.d.ts +2 -2
  307. package/{Data/Cursor/World → World/Cursor}/WorldVoxelCursor.d.ts +3 -2
  308. package/World/Cursor/WorldVoxelCursor.js +58 -0
  309. package/{Data/World/Classes → World/Dimension}/Dimension.d.ts +5 -5
  310. package/World/Dimension/Dimension.js +20 -0
  311. package/World/InitTasks.d.ts +6 -0
  312. package/World/InitTasks.js +97 -0
  313. package/World/Lock/WorldLock.d.ts +11 -0
  314. package/{Contexts/World → World}/Lock/WorldLock.js +34 -37
  315. package/World/Section/Section.d.ts +34 -0
  316. package/World/Section/Section.js +89 -0
  317. package/World/Section/SectionHeightMap.d.ts +10 -0
  318. package/World/Section/SectionHeightMap.js +39 -0
  319. package/World/Section/SectionStruct.d.ts +8 -0
  320. package/World/Section/SectionStruct.js +29 -0
  321. package/{Data/Structs/Constants/ChunkStructProperties.d.ts → World/Section/SectionStructProperties.d.ts} +1 -1
  322. package/World/Section/SectionStructProperties.js +11 -0
  323. package/World/Section/index.d.ts +1 -0
  324. package/World/Section/index.js +1 -0
  325. package/World/Sector/Sector.d.ts +23 -0
  326. package/World/Sector/Sector.js +60 -0
  327. package/World/Sector/SectorHeightMap.d.ts +5 -0
  328. package/World/Sector/SectorHeightMap.js +49 -0
  329. package/World/Sector/SectorStruct.d.ts +1 -0
  330. package/World/Sector/SectorStruct.js +46 -0
  331. package/World/Sector/SectorStructIds.d.ts +13 -0
  332. package/World/Sector/SectorStructIds.js +14 -0
  333. package/World/Sector/index.d.ts +1 -0
  334. package/World/Sector/index.js +1 -0
  335. package/World/Storage/WorldStorage.interface.d.ts +6 -0
  336. package/{Data/Types/RichWorldData.types.d.ts → World/Types/WorldData.types.d.ts} +11 -2
  337. package/World/Types/WorldDataSyncIds.d.ts +6 -0
  338. package/World/Types/WorldDataSyncIds.js +7 -0
  339. package/{Data/World → World}/WorldBounds.js +4 -0
  340. package/World/WorldRegister.d.ts +35 -0
  341. package/World/WorldRegister.js +91 -0
  342. package/World/WorldSpaces.d.ts +34 -0
  343. package/World/WorldSpaces.js +96 -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 -8
  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/WorldPainter.d.ts +0 -12
  420. package/Data/World/WorldPainter.js +0 -56
  421. package/Data/World/WorldRegister.d.ts +0 -51
  422. package/Data/World/WorldRegister.js +0 -228
  423. package/Data/World/WorldRegisterCache.d.ts +0 -23
  424. package/Data/World/WorldRegisterCache.js +0 -68
  425. package/Data/World/WorldSpaces.d.ts +0 -4
  426. package/Data/World/WorldSpaces.js +0 -23
  427. package/Math/Classes/BoundingBox.d.ts +0 -27
  428. package/Math/Classes/BoundingBox.js +0 -44
  429. package/Math/Classes/MatrixArray.d.ts +0 -66
  430. package/Math/Classes/MatrixArray.js +0 -243
  431. package/Math/Classes/Plane.d.ts +0 -22
  432. package/Math/Classes/Plane.js +0 -53
  433. package/Math/Classes/Scalar.d.ts +0 -5
  434. package/Math/Classes/Scalar.js +0 -9
  435. package/Math/Classes/SimpleBoundingBox.d.ts +0 -40
  436. package/Math/Classes/SimpleBoundingBox.js +0 -157
  437. package/Math/Classes/Vector3.d.ts +0 -54
  438. package/Math/Classes/Vector3.js +0 -236
  439. package/Math/Constants/ConstantMartrix.d.ts +0 -3
  440. package/Math/Constants/ConstantMartrix.js +0 -8
  441. package/Math/Constants/Faces.d.ts +0 -5
  442. package/Math/Constants/Faces.js +0 -28
  443. package/Math/Math.types.d.ts +0 -25
  444. package/Math/Objects/CompassDirection.d.ts +0 -9
  445. package/Math/Objects/CompassDirection.js +0 -19
  446. package/Math/Spaces/VoxelSpace.d.ts +0 -32
  447. package/Math/Spaces/VoxelSpace.js +0 -99
  448. package/Math/Spaces/VoxelSpaces.d.ts +0 -50
  449. package/Math/Spaces/VoxelSpaces.js +0 -117
  450. package/Math/Spaces/VoxelSpaces.types.d.ts +0 -6
  451. package/Math/VoxelMath.d.ts +0 -21
  452. package/Math/VoxelMath.js +0 -47
  453. package/Mesher/Geometry/VoxelGeometry.d.ts +0 -7
  454. package/Mesher/Geometry/VoxelGeometry.js +0 -115
  455. package/Mesher/Mesher.d.ts +0 -16
  456. package/Mesher/Mesher.js +0 -44
  457. package/Mesher/Meshers/MesherInterface.d.ts +0 -5
  458. package/Mesher/Meshers/MesherManager.d.ts +0 -7
  459. package/Mesher/Meshers/MesherManager.js +0 -16
  460. package/Mesher/Meshers/TextureMesher.d.ts +0 -15
  461. package/Mesher/Meshers/TextureMesher.js +0 -191
  462. package/Mesher/Meshers/VoxelMesher.d.ts +0 -15
  463. package/Mesher/Meshers/VoxelMesher.js +0 -47
  464. package/Mesher/Processors/ChunkProcessor.d.ts +0 -13
  465. package/Mesher/Processors/ChunkProcessor.js +0 -117
  466. package/Mesher/Substances/RenderedSubstances.d.ts +0 -5
  467. package/Mesher/Substances/RenderedSubstances.js +0 -7
  468. package/Mesher/Tasks/BuidlerTasks.types.d.ts +0 -7
  469. package/Mesher/Tools/VoxelTemplateDataTool.d.ts +0 -15
  470. package/Mesher/Tools/VoxelTemplateDataTool.js +0 -112
  471. package/Renderer/Classes/ChunkMesh.d.ts +0 -10
  472. package/Renderer/Classes/ChunkMesh.js +0 -13
  473. package/Renderer/Classes/MeshRegisterColumn.d.ts +0 -7
  474. package/Renderer/Classes/MeshRegisterColumn.js +0 -7
  475. package/Renderer/Classes/MushRegisterRegion.d.ts +0 -4
  476. package/Renderer/Classes/MushRegisterRegion.js +0 -3
  477. package/Renderer/DVEChunkMeshInterface.d.ts +0 -3
  478. package/Renderer/DVEChunkMeshInterface.js +0 -1
  479. package/Renderer/DVEChunkMeshes.d.ts +0 -6
  480. package/Renderer/DVEChunkMeshes.js +0 -2
  481. package/Tasks/Analyzer/Analyzer.d.ts +0 -19
  482. package/Tasks/Analyzer/Analyzer.js +0 -156
  483. package/Tasks/Analyzer/AnalyzerUpdater.d.ts +0 -10
  484. package/Tasks/Analyzer/AnalyzerUpdater.js +0 -13
  485. package/Tasks/Analyzer/InitTasks.d.ts +0 -1
  486. package/Tasks/Analyzer/InitTasks.js +0 -16
  487. package/Tasks/DataLoader/Broswer/DataHandler.d.ts +0 -20
  488. package/Tasks/DataLoader/Broswer/DataHandler.js +0 -54
  489. package/Tasks/DataLoader/Broswer/WorldDataBase.d.ts +0 -26
  490. package/Tasks/DataLoader/Broswer/WorldDataBase.js +0 -81
  491. package/Tasks/DataLoader/Broswer/WorldDataBaseManager.d.ts +0 -6
  492. package/Tasks/DataLoader/Broswer/WorldDataBaseManager.js +0 -30
  493. package/Tasks/DataLoader/Broswer/WorldDataTool.d.ts +0 -16
  494. package/Tasks/DataLoader/Broswer/WorldDataTool.js +0 -64
  495. package/Tasks/DataLoader/Broswer/index.d.ts +0 -1
  496. package/Tasks/DataLoader/Broswer/index.js +0 -1
  497. package/Tasks/DataLoader/Constructor/DataLoaderTasks.d.ts +0 -2
  498. package/Tasks/DataLoader/Constructor/DataLoaderTasks.js +0 -14
  499. package/Tasks/DataLoader/Constructor/DivineVoxelEngineDataLoaderConstructor.d.ts +0 -9
  500. package/Tasks/DataLoader/Constructor/DivineVoxelEngineDataLoaderConstructor.js +0 -17
  501. package/Tasks/DataLoader/Constructor/WorldDataSerializer.d.ts +0 -15
  502. package/Tasks/DataLoader/Constructor/WorldDataSerializer.js +0 -54
  503. package/Tasks/DataLoader/Constructor/index.d.ts +0 -1
  504. package/Tasks/DataLoader/Constructor/index.js +0 -1
  505. package/Tasks/DataLoader/Node/DivineVoxelEngineData.d.ts +0 -48
  506. package/Tasks/DataLoader/Node/DivineVoxelEngineData.js +0 -47
  507. package/Tasks/DataLoader/Node/System/RegionSystem.d.ts +0 -28
  508. package/Tasks/DataLoader/Node/System/RegionSystem.js +0 -147
  509. package/Tasks/DataLoader/Node/System/System.d.ts +0 -13
  510. package/Tasks/DataLoader/Node/System/System.js +0 -168
  511. package/Tasks/DataLoader/Node/System/SystemPath.d.ts +0 -12
  512. package/Tasks/DataLoader/Node/System/SystemPath.js +0 -29
  513. package/Tasks/DataLoader/Node/Tools/NodeRegionTool.d.ts +0 -28
  514. package/Tasks/DataLoader/Node/Tools/NodeRegionTool.js +0 -134
  515. package/Tasks/DataLoader/Node/Util/DVED.util.d.ts +0 -17
  516. package/Tasks/DataLoader/Node/Util/DVED.util.js +0 -25
  517. package/Tasks/DataLoader/Node/index.d.ts +0 -3
  518. package/Tasks/DataLoader/Node/index.js +0 -3
  519. package/Tasks/DataLoader/Types/DVED.types.d.ts +0 -13
  520. package/Tasks/DataLoader/Types/DVED.types.js +0 -1
  521. package/Tasks/DataLoader/Types/DVEDataHandler.d.ts +0 -17
  522. package/Tasks/DataLoader/Types/DVEDataHandler.js +0 -14
  523. package/Tasks/DataLoader/World/DataHandlerWrapper.d.ts +0 -21
  524. package/Tasks/DataLoader/World/DataHandlerWrapper.js +0 -152
  525. package/Tasks/DataLoader/World/DataLoaderTasks.d.ts +0 -2
  526. package/Tasks/DataLoader/World/DataLoaderTasks.js +0 -70
  527. package/Tasks/DataLoader/World/DivineVoxelEngineDataLoaderWorld.d.ts +0 -12
  528. package/Tasks/DataLoader/World/DivineVoxelEngineDataLoaderWorld.js +0 -17
  529. package/Tasks/DataLoader/World/Tools/DataLoaderTool.d.ts +0 -24
  530. package/Tasks/DataLoader/World/Tools/DataLoaderTool.js +0 -113
  531. package/Tasks/DataLoader/World/Tools/DataSerializerTool.d.ts +0 -8
  532. package/Tasks/DataLoader/World/Tools/DataSerializerTool.js +0 -27
  533. package/Tasks/DataLoader/World/Tools/LoaderRegister.d.ts +0 -9
  534. package/Tasks/DataLoader/World/Tools/LoaderRegister.js +0 -29
  535. package/Tasks/IWG/Constants/ColumnState.d.ts +0 -6
  536. package/Tasks/IWG/Constants/ColumnState.js +0 -7
  537. package/Tasks/IWG/World/Classes/DebouncedTasks.d.ts +0 -16
  538. package/Tasks/IWG/World/Classes/DebouncedTasks.js +0 -34
  539. package/Tasks/IWG/World/Classes/Generator.d.ts +0 -50
  540. package/Tasks/IWG/World/Classes/Generator.js +0 -482
  541. package/Tasks/IWG/World/Classes/Tasks/IWGBatchTask.d.ts +0 -7
  542. package/Tasks/IWG/World/Classes/Tasks/IWGBatchTask.js +0 -35
  543. package/Tasks/IWG/World/Classes/Tasks/IWGSingleTask.d.ts +0 -6
  544. package/Tasks/IWG/World/Classes/Tasks/IWGSingleTask.js +0 -29
  545. package/Tasks/IWG/World/Classes/Tasks/IWGTaskBase.d.ts +0 -27
  546. package/Tasks/IWG/World/Classes/Tasks/IWGTaskBase.js +0 -34
  547. package/Tasks/IWG/World/Classes/Tasks/IWGTaskRegister.d.ts +0 -6
  548. package/Tasks/IWG/World/Classes/Tasks/IWGTaskRegister.js +0 -14
  549. package/Tasks/IWG/World/IWG.d.ts +0 -22
  550. package/Tasks/IWG/World/IWG.js +0 -83
  551. package/Tasks/IWG/World/Load/InitLoad.d.ts +0 -5
  552. package/Tasks/IWG/World/Load/InitLoad.js +0 -17
  553. package/Tasks/IWG/World/Load/LoaderBase.d.ts +0 -16
  554. package/Tasks/IWG/World/Load/LoaderBase.js +0 -57
  555. package/Tasks/IWG/World/Load/SafeExit.d.ts +0 -5
  556. package/Tasks/IWG/World/Load/SafeExit.js +0 -15
  557. package/Tasks/IWG/World/Load/Teleport.d.ts +0 -9
  558. package/Tasks/IWG/World/Load/Teleport.js +0 -26
  559. package/Tasks/IWG/World/Tasks/RegisterDefaultTasks.d.ts +0 -1
  560. package/Tasks/IWG/World/Tasks/RegisterDefaultTasks.js +0 -12
  561. package/Tasks/IWG/World/Tasks/Rendering/IWGBuildTasks.d.ts +0 -8
  562. package/Tasks/IWG/World/Tasks/Rendering/IWGBuildTasks.js +0 -26
  563. package/Tasks/IWG/World/Tasks/Saving/IWGSaveAndUnloadTasks.d.ts +0 -8
  564. package/Tasks/IWG/World/Tasks/Saving/IWGSaveAndUnloadTasks.js +0 -22
  565. package/Tasks/IWG/World/Tasks/Saving/IWGSaveTasks.d.ts +0 -8
  566. package/Tasks/IWG/World/Tasks/Saving/IWGSaveTasks.js +0 -22
  567. package/Tasks/IWG/World/Tasks/WorldGen/IWGDecorateTasks.d.ts +0 -8
  568. package/Tasks/IWG/World/Tasks/WorldGen/IWGDecorateTasks.js +0 -29
  569. package/Tasks/IWG/World/Tasks/WorldGen/IWGGenerateTasks.d.ts +0 -8
  570. package/Tasks/IWG/World/Tasks/WorldGen/IWGGenerateTasks.js +0 -29
  571. package/Tasks/IWG/World/Tasks/WorldGen/IWGLoadTasks.d.ts +0 -8
  572. package/Tasks/IWG/World/Tasks/WorldGen/IWGLoadTasks.js +0 -58
  573. package/Tasks/IWG/World/Tasks/WorldGen/IWGPropagationTasks.d.ts +0 -8
  574. package/Tasks/IWG/World/Tasks/WorldGen/IWGPropagationTasks.js +0 -27
  575. package/Tasks/IWG/World/Tasks/WorldGen/IWGWorldSunTasks.d.ts +0 -8
  576. package/Tasks/IWG/World/Tasks/WorldGen/IWGWorldSunTasks.js +0 -27
  577. package/Tasks/IWG/World/Types/IWG.types.d.ts +0 -20
  578. package/Tasks/IWG/World/Types/IWG.types.js +0 -7
  579. package/Tasks/IWG/World/index.d.ts +0 -2
  580. package/Tasks/IWG/World/index.js +0 -2
  581. package/Tasks/Mesher/InitTasks.d.ts +0 -2
  582. package/Tasks/Mesher/InitTasks.js +0 -46
  583. package/Tasks/Propagation/Flow/Functions/FlowRemove.js +0 -162
  584. package/Tasks/Propagation/Flow/Functions/FlowUpdate.js +0 -96
  585. package/Tasks/Propagation/Illumanation/Functions/WorldSun.d.ts +0 -2
  586. package/Tasks/Propagation/Illumanation/Functions/WorldSun.js +0 -115
  587. package/Tasks/Propagation/Illumanation/IlluminationManager.d.ts +0 -48
  588. package/Tasks/Propagation/Illumanation/IlluminationManager.js +0 -13
  589. package/Tasks/Propagation/Propagation.d.ts +0 -13
  590. package/Tasks/Propagation/Propagation.js +0 -38
  591. package/Textures/Constructor.types.d.ts +0 -5
  592. package/Textures/Constructor.types.js +0 -1
  593. package/Tools/Anaylzer/AnaylzerTool.d.ts +0 -6
  594. package/Tools/Anaylzer/AnaylzerTool.js +0 -31
  595. package/Tools/Classes/DataToolBase.d.ts +0 -43
  596. package/Tools/Classes/DataToolBase.js +0 -85
  597. package/Tools/Classes/LocationBoundTool.d.ts +0 -20
  598. package/Tools/Classes/LocationBoundTool.js +0 -45
  599. package/Tools/Classes/LocationBoundToolBase.d.ts +0 -24
  600. package/Tools/Classes/LocationBoundToolBase.js +0 -61
  601. package/Tools/Classes/RichDataToolBase.d.ts +0 -10
  602. package/Tools/Classes/RichDataToolBase.js +0 -26
  603. package/Tools/Data/DataTool.d.ts +0 -102
  604. package/Tools/Data/DataTool.js +0 -430
  605. package/Tools/Data/WorldData/ChunkDataTool.d.ts +0 -11
  606. package/Tools/Data/WorldData/ChunkDataTool.js +0 -38
  607. package/Tools/Data/WorldData/ColumnDataTool.d.ts +0 -26
  608. package/Tools/Data/WorldData/ColumnDataTool.js +0 -81
  609. package/Tools/Data/WorldData/HeightMapTool.d.ts +0 -24
  610. package/Tools/Data/WorldData/HeightMapTool.js +0 -117
  611. package/Tools/Data/WorldData/RegionDataTool.d.ts +0 -13
  612. package/Tools/Data/WorldData/RegionDataTool.js +0 -39
  613. package/Tools/Mesher/MesherTool.d.ts +0 -19
  614. package/Tools/Mesher/MesherTool.js +0 -52
  615. package/Util/VoxelIDMatrix.d.ts +0 -15
  616. package/Util/VoxelIDMatrix.js +0 -55
  617. package/Voxels/LightData.d.ts +0 -150
  618. package/Voxels/LightData.js +0 -402
  619. package/Voxels/VoxelSyncData.d.ts +0 -71
  620. package/Voxels/VoxelSyncData.js +0 -1
  621. /package/Contexts/Base/Main/{Generator/DataGenerator.types.js → DataGenerator.types.js} +0 -0
  622. /package/Contexts/Base/Remote/{Sync/DataSync.types.js → DataSync.types.js} +0 -0
  623. /package/Contexts/Base/Remote/{Sync/DataSyncIds.d.ts → DataSyncIds.d.ts} +0 -0
  624. /package/Contexts/Base/Remote/{Sync/DataSyncIds.js → DataSyncIds.js} +0 -0
  625. /package/Contexts/Base/Remote/{Sync/InitDataSync.d.ts → InitDataSync.d.ts} +0 -0
  626. /package/Contexts/Base/Remote/{Sync/InitWorldDataSync.d.ts → InitWorldDataSync.d.ts} +0 -0
  627. /package/Data/Cursor/{Interfaces/DataCursor.interface.js → DataCursor.interface.js} +0 -0
  628. /package/{Archive → Data}/Functions/Palettes.d.ts +0 -0
  629. /package/{Archive → Data}/Functions/Palettes.js +0 -0
  630. /package/Data/Structs/{Builder/StructBuilder.js → StructBuilder.js} +0 -0
  631. /package/Data/{Types → Structs}/StructBuilder.types.d.ts +0 -0
  632. /package/Data/{Types → Structs}/StructBuilder.types.js +0 -0
  633. /package/Math/{Constants/CardinalNeighbors.d.ts → CardinalNeighbors.d.ts} +0 -0
  634. /package/Math/{Constants/CardinalNeighbors.js → CardinalNeighbors.js} +0 -0
  635. /package/Math/{Constants/VoxelFaces.d.ts → VoxelFaces.d.ts} +0 -0
  636. /package/Math/{Constants/VoxelFaces.js → VoxelFaces.js} +0 -0
  637. /package/{Voxels → Mesher}/VoxelShaderData.d.ts +0 -0
  638. /package/{Voxels → Mesher}/VoxelShaderData.js +0 -0
  639. /package/{Archive/Archive.types.js → Renderer/Classes/DVESectionMeshInterface.js} +0 -0
  640. /package/{Contexts/Render/Tasks/RenderTasks.types.js → Renderer/Renderer.types.js} +0 -0
  641. /package/{Data/Cursor/World/WorldSectionCursor.interface.js → Tasks/Propagation/Flow/CommonFunctions.d.ts} +0 -0
  642. /package/{Data/Types/DimensionData.types.js → Tasks/Propagation/Flow/CommonFunctions.js} +0 -0
  643. /package/{Data → Voxels}/Palettes/MaterialPalette.d.ts +0 -0
  644. /package/{Data → Voxels}/Palettes/MaterialPalette.js +0 -0
  645. /package/{Data → Voxels}/Palettes/SubstancePalette.d.ts +0 -0
  646. /package/{Data → Voxels}/Palettes/SubstancePalette.js +0 -0
  647. /package/{Data → Voxels}/Palettes/VoxelPalette.d.ts +0 -0
  648. /package/{Data → Voxels}/Palettes/VoxelPalette.js +0 -0
  649. /package/Voxels/{VoxelMaterial.types.d.ts → Types/VoxelMaterial.types.d.ts} +0 -0
  650. /package/Voxels/{VoxelMaterial.types.js → Types/VoxelMaterial.types.js} +0 -0
  651. /package/{Data/Types/RichWorldData.types.js → Voxels/Types/VoxelModelCompiledData.types.js} +0 -0
  652. /package/Voxels/{VoxelSubstances.types.d.ts → Types/VoxelSubstances.types.d.ts} +0 -0
  653. /package/Voxels/{VoxelSubstances.types.js → Types/VoxelSubstances.types.js} +0 -0
  654. /package/{Math/Math.types.js → World/Archive/Archive.types.js} +0 -0
  655. /package/{Archive → World/Archive}/index.d.ts +0 -0
  656. /package/{Archive → World/Archive}/index.js +0 -0
  657. /package/{Math/Spaces/VoxelSpaces.types.js → World/Cursor/WorldSectionCursor.interface.js} +0 -0
  658. /package/{Mesher/Meshers/MesherInterface.js → World/Storage/WorldStorage.interface.js} +0 -0
  659. /package/{Data/Structs/Constants → World/Structs}/WorldDataStructProperties.d.ts +0 -0
  660. /package/{Data/Structs/Constants → World/Structs}/WorldDataStructProperties.js +0 -0
  661. /package/{Mesher/Tasks/BuidlerTasks.types.js → World/Types/WorldData.types.js} +0 -0
  662. /package/{Data/World → World}/WorldBounds.d.ts +0 -0
@@ -0,0 +1,34 @@
1
+ import { Vec3Array, Vector3Like } from "@amodx/math";
2
+ declare class SectorSpace {
3
+ static power2Axes: Vector3Like;
4
+ static bounds: Vector3Like;
5
+ static volumne: number;
6
+ static getPosition(x: number, y: number, z: number, refPosition?: Vector3Like): Vector3Like;
7
+ static getPositionVec3Array(x: number, y: number, z: number, refPosition?: Vec3Array): Vec3Array;
8
+ }
9
+ declare class SectionSpace {
10
+ static power2Axes: Vector3Like;
11
+ static bounds: Vector3Like;
12
+ static volumne: number;
13
+ static getPosition(x: number, y: number, z: number, refPosition?: Vector3Like): Vector3Like;
14
+ static getPositionVec3Array(x: number, y: number, z: number, refPosition?: Vec3Array): Vec3Array;
15
+ static getIndex(x: number, y: number, z: number): number;
16
+ }
17
+ declare class VoxelSpace {
18
+ static bounds: Vector3Like;
19
+ static getPosition(x: number, y: number, z: number, refPosition?: Vector3Like): Vector3Like;
20
+ static getPositionVec3Array(x: number, y: number, z: number, refPosition?: Vec3Array): Vec3Array;
21
+ static getIndex(x: number, y: number, z: number): number;
22
+ }
23
+ declare class Hash {
24
+ static hashVec3(vector3: Vector3Like): string;
25
+ static hashVec3Array(vector3: Vec3Array): string;
26
+ static hashXYZ(x: number, y: number, z: number): string;
27
+ }
28
+ export declare class WorldSpaces {
29
+ static hash: typeof Hash;
30
+ static sector: typeof SectorSpace;
31
+ static section: typeof SectionSpace;
32
+ static voxel: typeof VoxelSpace;
33
+ }
34
+ export {};
@@ -0,0 +1,96 @@
1
+ //types
2
+ import { EngineSettings } from "../Settings/EngineSettings.js";
3
+ import { Vector3Like } from "@amodx/math";
4
+ import { CubeHashVec3, CubeHashVec3Array, GetYXZOrderArrayIndex, } from "../Math/Indexing.js";
5
+ const tempPosition = Vector3Like.Create();
6
+ const tempPosition2 = Vector3Like.Create();
7
+ class SectorSpace {
8
+ static power2Axes = Vector3Like.Create();
9
+ static bounds = Vector3Like.Create();
10
+ static volumne = 0;
11
+ static getPosition(x, y, z, refPosition = Vector3Like.Create()) {
12
+ CubeHashVec3(x, y, z, SectorSpace.power2Axes.x, SectorSpace.power2Axes.y, SectorSpace.power2Axes.z, refPosition);
13
+ return refPosition;
14
+ }
15
+ static getPositionVec3Array(x, y, z, refPosition = [0, 0, 0]) {
16
+ CubeHashVec3Array(x, y, z, SectorSpace.power2Axes.x, SectorSpace.power2Axes.y, SectorSpace.power2Axes.z, refPosition);
17
+ return refPosition;
18
+ }
19
+ }
20
+ class SectionSpace {
21
+ static power2Axes = Vector3Like.Create();
22
+ static bounds = Vector3Like.Create();
23
+ static volumne = 0;
24
+ static getPosition(x, y, z, refPosition = Vector3Like.Create()) {
25
+ CubeHashVec3(x, y, z, SectionSpace.power2Axes.x, SectionSpace.power2Axes.y, SectionSpace.power2Axes.z, refPosition);
26
+ return refPosition;
27
+ }
28
+ static getPositionVec3Array(x, y, z, refPosition = [0, 0, 0]) {
29
+ CubeHashVec3Array(x, y, z, SectionSpace.bounds.x, SectionSpace.bounds.y, SectionSpace.bounds.z, refPosition);
30
+ return refPosition;
31
+ }
32
+ static getIndex(x, y, z) {
33
+ SectionSpace.getPosition(x, y, z, tempPosition);
34
+ SectorSpace.getPosition(x, y, z, tempPosition2);
35
+ return (tempPosition.y - tempPosition2.y) / SectionSpace.bounds.y;
36
+ }
37
+ }
38
+ class VoxelSpace {
39
+ static bounds = Vector3Like.Create();
40
+ static getPosition(x, y, z, refPosition = Vector3Like.Create()) {
41
+ CubeHashVec3(x, y, z, SectionSpace.power2Axes.x, SectionSpace.power2Axes.y, SectionSpace.power2Axes.z, refPosition);
42
+ refPosition.x = x - refPosition.x;
43
+ refPosition.y = y - refPosition.y;
44
+ refPosition.z = z - refPosition.z;
45
+ return refPosition;
46
+ }
47
+ static getPositionVec3Array(x, y, z, refPosition = [0, 0, 0]) {
48
+ CubeHashVec3Array(x, y, z, SectionSpace.power2Axes.x, SectionSpace.power2Axes.y, SectionSpace.power2Axes.z, refPosition);
49
+ refPosition[0] = x - refPosition[0];
50
+ refPosition[1] = y - refPosition[1];
51
+ refPosition[2] = z - refPosition[2];
52
+ return refPosition;
53
+ }
54
+ static getIndex(x, y, z) {
55
+ const position = this.getPosition(x, y, z, tempPosition);
56
+ return GetYXZOrderArrayIndex(position.x, position.y, position.z, SectionSpace.bounds.x, SectionSpace.bounds.y, SectionSpace.bounds.z);
57
+ }
58
+ }
59
+ class Hash {
60
+ static hashVec3(vector3) {
61
+ return `${vector3.x}-${vector3.y}-${vector3.z}`;
62
+ }
63
+ static hashVec3Array(vector3) {
64
+ return `${vector3[0]}-${vector3[1]}-${vector3[2]}`;
65
+ }
66
+ static hashXYZ(x, y, z) {
67
+ return `${x}-${y}-${z}`;
68
+ }
69
+ }
70
+ export class WorldSpaces {
71
+ static hash = Hash;
72
+ static sector = SectorSpace;
73
+ static section = SectionSpace;
74
+ static voxel = VoxelSpace;
75
+ }
76
+ EngineSettings.addEventListener("synced", (event) => {
77
+ event.detail.settings;
78
+ SectorSpace.power2Axes.x = EngineSettings.settings.sectors.sectorXPow2;
79
+ SectorSpace.power2Axes.y = EngineSettings.settings.sectors.sectorYPow2;
80
+ SectorSpace.power2Axes.z = EngineSettings.settings.sectors.sectorZPow2;
81
+ SectorSpace.bounds.x = 1 << SectorSpace.power2Axes.x;
82
+ SectorSpace.bounds.y = 1 << SectorSpace.power2Axes.y;
83
+ SectorSpace.bounds.z = 1 << SectorSpace.power2Axes.z;
84
+ SectionSpace.power2Axes.x = EngineSettings.settings.sections.sectionXPow2;
85
+ SectionSpace.power2Axes.y = EngineSettings.settings.sections.sectionYPow2;
86
+ SectionSpace.power2Axes.z = EngineSettings.settings.sections.sectionZPow2;
87
+ SectionSpace.bounds.x = 1 << SectionSpace.power2Axes.x;
88
+ SectionSpace.bounds.y = 1 << SectionSpace.power2Axes.y;
89
+ SectionSpace.bounds.z = 1 << SectionSpace.power2Axes.z;
90
+ SectionSpace.volumne =
91
+ SectionSpace.bounds.x * SectionSpace.bounds.y * SectionSpace.bounds.z;
92
+ SectorSpace.volumne =
93
+ (SectorSpace.bounds.x / SectionSpace.bounds.x) *
94
+ (SectorSpace.bounds.y / SectionSpace.bounds.y) *
95
+ (SectorSpace.bounds.z / SectionSpace.bounds.z);
96
+ });
@@ -0,0 +1,4 @@
1
+ export * from "./Section/Section.js";
2
+ export * from "./Sector/Sector.js";
3
+ export * from "./Dimension/Dimension.js";
4
+ export * from "./Cursor/WorldCursor.js";
package/World/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export * from "./Section/Section.js";
2
+ export * from "./Sector/Sector.js";
3
+ export * from "./Dimension/Dimension.js";
4
+ export * from "./Cursor/WorldCursor.js";
package/index.d.ts CHANGED
@@ -1 +1 @@
1
- export * from "./Voxels/Voxel.types";
1
+ export * from "./Voxels/Types/Voxel.types";
package/index.js CHANGED
@@ -1 +1 @@
1
- export * from "./Voxels/Voxel.types";
1
+ export * from "./Voxels/Types/Voxel.types";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@divinevoxel/vlox",
3
- "version": "0.0.03",
3
+ "version": "0.0.05",
4
4
  "description": "Vlox a block style voxel engine.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -20,15 +20,9 @@
20
20
  "url": "https://github.com/Divine-Star-Software/DivineVoxelEngine/issues"
21
21
  },
22
22
  "dependencies": {
23
- "@amodx/meshing": "latest",
24
- "@dvegames/vlox": "latest",
25
- "@dvegames/vlox-tools": "latest",
26
23
  "@amodx/math": "latest",
27
24
  "@amodx/binary": "latest",
28
- "@amodx/threads": "latest",
29
- "@amodx/indexdb": "latest",
30
- "@amodx/controls": "latest",
31
- "@amodx/rng": "latest"
25
+ "@amodx/threads": "latest"
32
26
  },
33
27
  "publishConfig": {
34
28
  "access": "public"
@@ -1,176 +0,0 @@
1
- import { Vec3Array } from "@amodx/math";
2
- import { LocationData } from "../Math";
3
- /**
4
- * Interface for an archived column.
5
- */
6
- export interface ArchivedColumnData {
7
- /** Number representing the version of the archiver used. */
8
- archiverVersion: number;
9
- /** Number representing the version of the column data. */
10
- version: number;
11
- /** The location of the column in the world. */
12
- location: LocationData;
13
- /** Record of the column's state, storing dynamic or user-defined data. */
14
- columnState: Record<string, any>;
15
- /** The palette data used within the column. */
16
- palettes: ArchivedColumnPaletteData;
17
- /** Placeholder for future buffer data. */
18
- buffers: ArchivedColumnBuffersData;
19
- /** Keys associated with chunk states and other objects. */
20
- keys: ArchivedColumnKeysData;
21
- /** Array of archived chunk data within the column. */
22
- chunks: ArchivedChunkData[];
23
- }
24
- /**
25
- * Interface for the palettes of an archived column.
26
- */
27
- export interface ArchivedColumnPaletteData {
28
- /** Array of strings representing the unique identifiers for the primary voxel types in the column. */
29
- id: string[];
30
- /** Optional array of strings for the secondary voxel types, providing additional data for complex structures. */
31
- secondaryId?: string[];
32
- /** Optional Uint16Array representing the state of voxels, indicating specific conditions or variations. */
33
- state?: Uint16Array;
34
- /** Optional Uint16Array representing the mod state of voxels, indicating specific conditions or variations. */
35
- mod?: Uint16Array;
36
- /** Optional Uint16Array representing light levels for each voxel in the column. */
37
- light?: Uint16Array;
38
- /** Optional Uint16Array representing the state of secondary voxels. */
39
- secondaryState?: Uint16Array;
40
- }
41
- /**
42
- * Interface for the keys of an archived column.
43
- */
44
- export interface ArchivedColumnKeysData {
45
- /** Array of strings that are the keys for the chunk state struct. */
46
- chunkState: string[];
47
- }
48
- /**
49
- * Placeholder interface for future buffer data in a column.
50
- */
51
- export interface ArchivedColumnBuffersData {
52
- }
53
- /**
54
- * Interface for an archived chunk.
55
- */
56
- export interface ArchivedChunkData {
57
- /** Array representing the chunk's state, holding dynamic or user-defined data. */
58
- state: any[];
59
- /** Palette data used within the chunk. */
60
- palettes: ArchivedChunkPaletteData;
61
- /** Buffer data for the chunk, holding voxel type identifiers, light data, state, and secondary state. */
62
- buffers: ArchivedChunkBuffers;
63
- }
64
- /**
65
- * Interface representing the palette data for a single chunk in the voxel engine.
66
- */
67
- export interface ArchivedChunkPaletteData {
68
- /** Optional Uint16Array representing the voxel type identifiers within the chunk. */
69
- id?: Uint16Array;
70
- /** Optional Uint16Array for storing light data. */
71
- light?: Uint16Array;
72
- /** Optional Uint16Array for secondary voxel type identifiers. */
73
- secondaryId?: Uint16Array;
74
- /** Optional Uint16Array for storing voxel states within the chunk. */
75
- state?: Uint16Array;
76
- /** Optional Uint16Array for storing mod data. */
77
- mod?: Uint16Array;
78
- /** Optional Uint16Array for storing states of secondary voxels. */
79
- secondaryState?: Uint16Array;
80
- }
81
- /**
82
- * Interface representing the buffer data for a chunk.
83
- */
84
- export interface ArchivedChunkBuffers {
85
- /** The buffer for voxel type identifiers, which could be a Uint16Array, Uint8Array, or a single number if all voxels are the same. */
86
- id: Uint16Array | Uint8Array | number;
87
- /** The buffer for light data, which could be a Uint16Array, Uint8Array, or a single number if all light values are the same. */
88
- light: Uint16Array | Uint8Array | number;
89
- /** The buffer for voxel states, which could be a Uint16Array, Uint8Array, or a single number if all states are the same. */
90
- state: Uint16Array | Uint8Array | number;
91
- /** The buffer for voxel mod states, which could be a Uint16Array, Uint8Array, or a single number if all states are the same. */
92
- mod: Uint16Array | Uint8Array | number;
93
- /** The buffer for secondary voxel data, which could be a Uint16Array, Uint8Array, or a single number if all secondary data is the same. */
94
- secondary: Uint16Array | Uint8Array | number;
95
- }
96
- /**
97
- * Interface for an archived area.
98
- */
99
- export interface ArchivedAreaData {
100
- /** Number representing the version of the archiver used. */
101
- archiverVersion: number;
102
- /** Number representing the version of the area data. */
103
- version: number;
104
- /** String representing the dimension or world type the area belongs to. */
105
- dimension: string;
106
- /** The palette maps for the area, including voxel, light, and state data. */
107
- maps: ArchivedAreaMapData;
108
- /** Keys associated with column and chunk states and other objects. */
109
- keys: ArchivedAreaKeysData;
110
- /** Array of archived column data within the area. */
111
- columns: ArchivedAreaColumnData[];
112
- }
113
- /**
114
- * Interface for an archived area maps.
115
- */
116
- export interface ArchivedAreaMapData {
117
- /** Record mapping voxel IDs to string identifiers. */
118
- id: Record<string, string>;
119
- /** Record mapping string IDs to arrays of voxel identifiers. */
120
- idPalette: Record<string, string[]>;
121
- /** Record mapping string IDs to arrays of secondary voxel identifiers. */
122
- secondaryIdPalette: Record<string, string[]>;
123
- /** Record mapping string IDs to Uint16Arrays of light data. */
124
- lightPalette: Record<string, Uint16Array>;
125
- /** Record mapping string IDs to Uint16Arrays of voxel states. */
126
- statePalette: Record<string, Uint16Array>;
127
- /** Record mapping string IDs to Uint16Arrays of voxel mods. */
128
- modPalette: Record<string, Uint16Array>;
129
- /** Record mapping string IDs to Uint16Arrays of secondary voxel states. */
130
- secondaryStatePalette: Record<string, Uint16Array>;
131
- /** Record mapping chunk identifiers to `ArchivedChunkData`. */
132
- chunk: Record<string, ArchivedChunkData>;
133
- /** Record mapping column state identifiers to arrays of state data. */
134
- columnState: Record<string, any[]>;
135
- }
136
- /**
137
- * Interface representing the keys associated with column and chunk states within an area.
138
- */
139
- export interface ArchivedAreaKeysData {
140
- /** Array of strings that are the keys for the column state struct. */
141
- columnState: string[];
142
- /** Array of strings that are the keys for the chunk state struct. */
143
- chunkState: string[];
144
- }
145
- /**
146
- * Interface representing the palette data for a column within an area.
147
- */
148
- export interface ArchivedAreaColumnPaletteData {
149
- /** Array of strings representing the unique identifiers for the primary voxel types in the column. */
150
- id: string[];
151
- /** Optional array of strings for secondary voxel types. */
152
- secondary?: string[];
153
- /** Optional Uint16Array representing the state of voxels in the column. */
154
- state?: Uint16Array;
155
- /** Optional Uint16Array representing the mod of voxels in the column. */
156
- mod?: Uint16Array;
157
- /** Optional Uint16Array representing light levels for each voxel in the column. */
158
- light?: Uint16Array;
159
- /** Optional Uint16Array representing the state of secondary voxels. */
160
- secondaryState?: Uint16Array;
161
- }
162
- /**
163
- * Interface representing the archived data for a column within an area.
164
- */
165
- export interface ArchivedAreaColumnData {
166
- /** A Vec3Array representing the position of the column within the area. */
167
- position: Vec3Array;
168
- /** The state data for the column, either as an array or a reference string. */
169
- columnState: any[] | string;
170
- /** Buffer data for the column. */
171
- buffers: ArchivedColumnBuffersData;
172
- /** The palette data used within the column. */
173
- palettes: ArchivedAreaColumnPaletteData;
174
- /** Array of archived chunk data or references to chunk data. */
175
- chunks: (ArchivedChunkData | string)[];
176
- }
@@ -1,10 +0,0 @@
1
- import { ArchivedAreaColumnData, ArchivedAreaData, ArchivedColumnData } from "../Archive.types";
2
- type RunData = {
3
- dimension: string;
4
- columns: ArchivedColumnData[];
5
- version?: number;
6
- };
7
- export default function CreateArchiveArea(archiveData: RunData): ArchivedAreaData;
8
- export declare function CreateColumnFromArea(area: ArchivedAreaData, column: ArchivedAreaColumnData): ArchivedColumnData;
9
- export declare function CreateColumnsFromArea(area: ArchivedAreaData): Generator<ArchivedColumnData>;
10
- export {};
@@ -1,315 +0,0 @@
1
- import { BinaryObject } from "@amodx/binary";
2
- import { Column } from "../../Data/World/Classes";
3
- const charset = "0123456789ABCDEF";
4
- function uint16To4CharString(value) {
5
- if (value < 0 || value > 0xffff) {
6
- throw new RangeError("Value must be a 16-bit unsigned integer.");
7
- }
8
- const chars = [];
9
- for (let i = 0; i < 4; i++) {
10
- const charCode = (value >> (i * 4)) & 0x0f;
11
- chars.unshift(charset[charCode]);
12
- }
13
- const result = chars.join("").replace(/^0+(?!$)/, "");
14
- return result;
15
- }
16
- let columnStructInstance;
17
- const processPalettes = (archiveData) => {
18
- const allRegistered = new Set();
19
- archiveData.columns.forEach((_) => {
20
- _.palettes.id.forEach((_) => {
21
- allRegistered.add(_);
22
- });
23
- _.palettes.secondaryId &&
24
- _.palettes.secondaryId.forEach((_) => {
25
- allRegistered.add(_);
26
- });
27
- });
28
- let count = 0;
29
- const idMap = {};
30
- const idRecord = {};
31
- for (const voxelId of allRegistered) {
32
- const newId = uint16To4CharString(count);
33
- idMap[voxelId] = newId;
34
- idRecord[newId] = voxelId;
35
- count++;
36
- }
37
- archiveData.columns.forEach((_) => {
38
- _.palettes.id.forEach((id, index) => {
39
- _.palettes.id[index] = idMap[id];
40
- });
41
- _.palettes.secondaryId &&
42
- _.palettes.secondaryId.forEach((id, index) => {
43
- _.palettes.secondaryId[index] = idMap[id];
44
- });
45
- });
46
- return idRecord;
47
- };
48
- const hashBuffer = (buffer) => {
49
- const data = new Uint8Array(buffer);
50
- let hash = "";
51
- for (let i = 0; i < data.length; i++) {
52
- hash += data[i].toString(16).padStart(2, "0");
53
- }
54
- return hash;
55
- };
56
- const processChunks = (archiveData) => {
57
- const chunMap = {};
58
- const created = new Map();
59
- const maped = new Map();
60
- const binaryObjects = new Map();
61
- let count = 0;
62
- const process = (object) => {
63
- if (typeof object == "string")
64
- return object;
65
- let binaryObject = binaryObjects.get(object);
66
- if (!binaryObject) {
67
- binaryObject = BinaryObject.objectToBuffer(object);
68
- binaryObjects.set(object, binaryObject);
69
- }
70
- let hash = hashBuffer(binaryObject);
71
- if (maped.has(hash))
72
- return maped.get(hash);
73
- if (created.has(hash) && created.get(hash) == 0) {
74
- created.set(hash, 1);
75
- const id = uint16To4CharString(count);
76
- chunMap[id] = object;
77
- maped.set(hash, id);
78
- count++;
79
- return id;
80
- }
81
- if (!created.has(hash)) {
82
- created.set(hash, 0);
83
- }
84
- return object;
85
- };
86
- archiveData.columns.forEach((_) => {
87
- _.chunks = _.chunks.map((_) => process(_));
88
- });
89
- created.clear();
90
- archiveData.columns.forEach((_) => {
91
- _.chunks = _.chunks.map((_) => process(_));
92
- });
93
- return chunMap;
94
- };
95
- const processColumnStates = (archiveData) => {
96
- const columnStateMap = {};
97
- const created = new Map();
98
- const maped = new Map();
99
- const binaryObjects = new Map();
100
- let count = 0;
101
- const columnStateKeys = columnStructInstance.getKeys();
102
- const process = (column) => {
103
- if (typeof column.columnState == "string")
104
- return column.columnState;
105
- if (!Array.isArray(column.columnState)) {
106
- const columnState = [];
107
- for (let i = 0; i < columnStateKeys.length; i++) {
108
- columnState[i] = column.columnState[columnStateKeys[i]];
109
- }
110
- column.columnState = columnState;
111
- }
112
- let binaryObject = binaryObjects.get(column.columnState);
113
- if (!binaryObject) {
114
- binaryObject = BinaryObject.objectToBuffer(column.columnState);
115
- binaryObjects.set(column.columnState, binaryObject);
116
- }
117
- let hash = hashBuffer(binaryObject);
118
- if (maped.has(hash)) {
119
- column.columnState = maped.get(hash);
120
- return;
121
- }
122
- if (created.has(hash) && created.get(hash) == 0) {
123
- created.set(hash, 1);
124
- const id = uint16To4CharString(count);
125
- columnStateMap[id] = column.columnState;
126
- maped.set(hash, id);
127
- count++;
128
- column.columnState = id;
129
- return id;
130
- }
131
- if (!created.has(hash)) {
132
- created.set(hash, 0);
133
- }
134
- return column.columnState;
135
- };
136
- archiveData.columns.forEach((_) => {
137
- process(_);
138
- });
139
- created.clear();
140
- archiveData.columns.forEach((_) => {
141
- process(_);
142
- });
143
- return columnStateMap;
144
- };
145
- const getPaletteMaps = (archiveData) => {
146
- const createPaletteMaps = (paletteType, paletteMap, paletteIdsMap) => {
147
- const created = new Map();
148
- let count = 0;
149
- archiveData.columns.forEach((column) => {
150
- const palette = column.palettes[paletteType];
151
- if (!palette)
152
- return;
153
- if (typeof palette == "string")
154
- return;
155
- const hash = paletteType === "id" || paletteType === "secondaryId"
156
- ? JSON.stringify(palette)
157
- : hashBuffer(palette);
158
- if (paletteIdsMap.has(hash)) {
159
- column.palettes[paletteType] = paletteIdsMap.get(hash);
160
- return;
161
- }
162
- if (created.has(hash) && created.get(hash) === 0) {
163
- created.set(hash, 1);
164
- const id = uint16To4CharString(count);
165
- paletteMap[id] = palette;
166
- paletteIdsMap.set(hash, id);
167
- count++;
168
- column.palettes[paletteType] = id;
169
- return id;
170
- }
171
- if (!created.has(hash)) {
172
- created.set(hash, 0);
173
- }
174
- });
175
- };
176
- const lightPalette = {};
177
- const lightPaletteIdMap = new Map();
178
- createPaletteMaps("light", lightPalette, lightPaletteIdMap);
179
- createPaletteMaps("light", lightPalette, lightPaletteIdMap);
180
- const statePalette = {};
181
- const statePaletteIdsMap = new Map();
182
- createPaletteMaps("state", statePalette, statePaletteIdsMap);
183
- createPaletteMaps("state", statePalette, statePaletteIdsMap);
184
- const modPalette = {};
185
- const modPaletteIdsMap = new Map();
186
- createPaletteMaps("mod", modPalette, modPaletteIdsMap);
187
- createPaletteMaps("mod", modPalette, modPaletteIdsMap);
188
- const secondaryStatePalette = {};
189
- const secondaryStatePaletteIdsMap = new Map();
190
- createPaletteMaps("secondaryState", secondaryStatePalette, secondaryStatePaletteIdsMap);
191
- createPaletteMaps("secondaryState", secondaryStatePalette, secondaryStatePaletteIdsMap);
192
- const idPalette = {};
193
- const idsPaletteIdsMap = new Map();
194
- createPaletteMaps("id", idPalette, idsPaletteIdsMap);
195
- createPaletteMaps("id", idPalette, idsPaletteIdsMap);
196
- const secondaryIdPalette = {};
197
- const secondaryIdsPaletteIdsMap = new Map();
198
- createPaletteMaps("secondaryId", secondaryIdPalette, secondaryIdsPaletteIdsMap);
199
- createPaletteMaps("secondaryId", secondaryIdPalette, secondaryIdsPaletteIdsMap);
200
- return {
201
- idPalette,
202
- secondaryIdPalette,
203
- lightPalette,
204
- statePalette,
205
- secondaryStatePalette,
206
- modPalette,
207
- };
208
- };
209
- export default function CreateArchiveArea(archiveData) {
210
- if (!columnStructInstance)
211
- columnStructInstance = Column.StateStruct.instantiate();
212
- const columnStateKeys = columnStructInstance.getKeys();
213
- return {
214
- dimension: archiveData.dimension,
215
- archiverVersion: 0,
216
- version: archiveData.version || 0,
217
- keys: {
218
- columnState: columnStateKeys,
219
- chunkState: archiveData.columns[0].keys.chunkState,
220
- },
221
- maps: {
222
- columnState: processColumnStates(archiveData),
223
- id: processPalettes(archiveData),
224
- chunk: processChunks(archiveData),
225
- ...getPaletteMaps(archiveData),
226
- },
227
- columns: archiveData.columns.map((column) => {
228
- return {
229
- position: [column.location[1], column.location[2], column.location[3]],
230
- columnState: column.columnState,
231
- buffers: column.buffers,
232
- palettes: {
233
- id: column.palettes.id,
234
- ...(column.palettes.secondaryId
235
- ? {
236
- secondaryIds: column.palettes.secondaryId,
237
- }
238
- : {}),
239
- ...(column.palettes.light
240
- ? {
241
- light: column.palettes.light,
242
- }
243
- : {}),
244
- ...(column.palettes.secondaryState
245
- ? {
246
- secondaryState: column.palettes.secondaryState,
247
- }
248
- : {}),
249
- ...(column.palettes.state
250
- ? {
251
- state: column.palettes.state,
252
- }
253
- : {}),
254
- ...(column.palettes.mod
255
- ? {
256
- mod: column.palettes.mod,
257
- }
258
- : {}),
259
- },
260
- chunks: column.chunks,
261
- };
262
- }),
263
- };
264
- }
265
- export function CreateColumnFromArea(area, column) {
266
- const columnState = {};
267
- const currentState = typeof column.columnState == "string"
268
- ? area.maps.columnState[column.columnState]
269
- : column.columnState;
270
- for (let i = 0; i < area.keys.columnState.length; i++) {
271
- columnState[area.keys.columnState[i]] = currentState[i];
272
- }
273
- return {
274
- archiverVersion: area.archiverVersion,
275
- version: area.version,
276
- location: [area.dimension, ...column.position],
277
- palettes: {
278
- id: (typeof column.palettes.id == "string"
279
- ? area.maps.idPalette[column.palettes.id]
280
- : column.palettes.id).map((_) => area.maps.id[_]),
281
- light: typeof column.palettes.light == "string"
282
- ? area.maps.lightPalette[column.palettes.light]
283
- : column.palettes.light,
284
- secondaryId: column.palettes.secondary
285
- ? (typeof column.palettes.secondary == "string"
286
- ? area.maps.secondaryIdPalette[column.palettes.secondary]
287
- : column.palettes.secondary).map((_) => area.maps.id[_])
288
- : undefined,
289
- secondaryState: typeof column.palettes.secondaryState == "string"
290
- ? area.maps.secondaryStatePalette[column.palettes.secondaryState]
291
- : column.palettes.secondaryState,
292
- state: typeof column.palettes.state == "string"
293
- ? area.maps.statePalette[column.palettes.state]
294
- : column.palettes.state,
295
- mod: typeof column.palettes.mod == "string"
296
- ? area.maps.statePalette[column.palettes.mod]
297
- : column.palettes.mod,
298
- },
299
- buffers: column.buffers,
300
- columnState,
301
- keys: {
302
- chunkState: area.keys.chunkState,
303
- },
304
- chunks: column.chunks.map((_) => {
305
- if (typeof _ == "string")
306
- return area.maps.chunk[_];
307
- return _;
308
- }),
309
- };
310
- }
311
- export function* CreateColumnsFromArea(area) {
312
- for (const column of area.columns) {
313
- yield CreateColumnFromArea(area, column);
314
- }
315
- }