@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,11 +1,9 @@
1
- import { WorldSpaces } from "../../Data/World/WorldSpaces.js";
1
+ import { WorldSpaces } from "../../World/WorldSpaces.js";
2
2
  import { BrushTool } from "../../Tools/Brush/Brush";
3
- import { ChunkDataTool } from "../../Tools/Data/WorldData/ChunkDataTool";
4
- import { WorldBounds } from "../../Data/World/WorldBounds";
5
3
  import { DivineVoxelEngineConstructor } from "../../Contexts/Constructor";
4
+ import { WorldRegister } from "../../World/WorldRegister";
6
5
  const brush = new BrushTool();
7
6
  const dataTool = brush.voxelCursor;
8
- const chunkTool = new ChunkDataTool();
9
7
  export class WorldGenRegister {
10
8
  static MAX_ATTEMPTS = 100;
11
9
  static _requests = new Map();
@@ -13,30 +11,30 @@ export class WorldGenRegister {
13
11
  const id = location.toString();
14
12
  this._requests.set(id, {
15
13
  attempts: 0,
16
- chunks: new Map(),
14
+ sections: new Map(),
17
15
  dimension: location[0],
18
16
  voxels: [],
19
17
  });
20
18
  return id;
21
19
  }
22
20
  static addToRequest(registerId, location, rawData) {
23
- if (location[2] < WorldBounds.bounds.MinY ||
24
- location[2] >= WorldBounds.bounds.MaxY)
21
+ if (location[2] < WorldSpaces.world.bounds.MinY ||
22
+ location[2] >= WorldSpaces.world.bounds.MaxY)
25
23
  return false;
26
24
  const requests = this._requests.get(registerId);
27
25
  if (!requests)
28
26
  return;
29
- const chunkPOS = WorldSpaces.chunk.getPositionXYZ(location[1], location[2], location[3]);
30
- const chunkKey = WorldSpaces.chunk.getKeyXYZ(location[1], location[2], location[3]);
31
- if (!chunkTool.loadInAtLocation(location)) {
32
- if (!requests.chunks.has(chunkKey)) {
33
- DivineVoxelEngineConstructor.instance.threads.world.runTasks("add-chunk", [
34
- requests.dimension,
35
- chunkPOS.x,
36
- chunkPOS.y,
37
- chunkPOS.z,
27
+ const sector = WorldRegister.sectors.get(location[0], location[1], location[2], location[3]);
28
+ if (!sector) {
29
+ const sectorPos = WorldSpaces.sector.getPosition(location[1], location[2], location[3]);
30
+ const sectorKey = WorldSpaces.hash.hashVec3(sectorPos);
31
+ if (!requests.sections.has(sectorKey)) {
32
+ DivineVoxelEngineConstructor.instance.threads.world.runTask("add-sector", [requests.dimension, sectorPos.x, sectorPos.y, sectorPos.z]);
33
+ requests.sections.set(sectorKey, [
34
+ sectorPos.x,
35
+ sectorPos.y,
36
+ sectorPos.z,
38
37
  ]);
39
- requests.chunks.set(chunkKey, [chunkPOS.x, chunkPOS.y, chunkPOS.z]);
40
38
  }
41
39
  }
42
40
  const [dim, x, y, z] = location;
@@ -46,25 +44,14 @@ export class WorldGenRegister {
46
44
  const requests = this._requests.get(registerId);
47
45
  if (!requests || !requests.voxels.length)
48
46
  return true;
49
- chunkTool.setDimension(requests.dimension);
50
47
  let done = true;
51
- for (const [key, pos] of requests.chunks) {
52
- if (pos[0] < WorldBounds.bounds.MinX ||
53
- pos[0] > WorldBounds.bounds.MaxX ||
54
- pos[1] < WorldBounds.bounds.MinY ||
55
- pos[1] > WorldBounds.bounds.MaxY ||
56
- pos[2] < WorldBounds.bounds.MinZ ||
57
- pos[2] > WorldBounds.bounds.MaxZ) {
48
+ for (const [key, pos] of requests.sections) {
49
+ if (!WorldSpaces.world.inBounds(pos[0], pos[1], pos[2]))
58
50
  continue;
59
- }
60
- if (!chunkTool.loadInAt(pos[0], pos[1], pos[2])) {
51
+ const sector = WorldRegister.sectors.get(requests.dimension, pos[0], pos[1], pos[2]);
52
+ if (!sector) {
61
53
  done = false;
62
- DivineVoxelEngineConstructor.instance.threads.world.runTasks("add-chunk", [
63
- requests.dimension,
64
- pos[0],
65
- pos[1],
66
- pos[2],
67
- ]);
54
+ DivineVoxelEngineConstructor.instance.threads.world.runTask("add-sector", [requests.dimension, pos[0], pos[1], pos[2]]);
68
55
  }
69
56
  }
70
57
  if (!done) {
@@ -77,15 +64,15 @@ export class WorldGenRegister {
77
64
  return false;
78
65
  }
79
66
  /* brush.setDimension(requests.dimension);
80
- dataTool.setDimension(requests.dimension);
81
- const voxels = requests.voxels;
82
- brush.start();
83
- while (voxels.length) {
84
- const data = voxels.shift();
85
- if (!data) break;
86
- dataTool.loadInAt(data[0], data[1], data[2]);
87
- brush.setXYZ(data[0], data[1], data[2]).setRaw(data[3]).paint();
88
- } */
67
+ dataTool.setDimension(requests.dimension);
68
+ const voxels = requests.voxels;
69
+ brush.start();
70
+ while (voxels.length) {
71
+ const data = voxels.shift();
72
+ if (!data) break;
73
+ dataTool.loadInAt(data[0], data[1], data[2]);
74
+ brush.setXYZ(data[0], data[1], data[2]).setRaw(data[3]).paint();
75
+ } */
89
76
  brush.stop();
90
77
  this._requests.delete(registerId);
91
78
  return true;
@@ -1,4 +1,3 @@
1
- import { WorldBounds } from "../../Data/World/WorldBounds.js";
2
1
  import { WorldGenRegister } from "./WorldGenRegister.js";
3
2
  import { WorldGenBrush } from "./WorldGenBrush.js";
4
3
  import { WorldGenInterface } from "./WorldGen.types.js";
@@ -6,7 +5,6 @@ import { GenerateTasks } from "../Tasks.types.js";
6
5
  export declare class WorldGeneration {
7
6
  static worldGen: WorldGenInterface | null;
8
7
  static register: typeof WorldGenRegister;
9
- static worldBounds: typeof WorldBounds;
10
8
  static _brushes: any[];
11
9
  static setWorldGen(worldGen: WorldGenInterface): void;
12
10
  static generate(data: GenerateTasks, mode: "generate" | "decorate", onDone: Function): Promise<void>;
@@ -1,14 +1,11 @@
1
1
  //types
2
2
  //objects
3
- import { WorldBounds } from "../../Data/World/WorldBounds.js";
4
3
  import { WorldGenRegister } from "./WorldGenRegister.js";
5
4
  //tools
6
5
  import { WorldGenBrush } from "./WorldGenBrush.js";
7
- import { SafeInterval } from "@amodx/core/Intervals/SafeInterval.js";
8
6
  export class WorldGeneration {
9
7
  static worldGen = null;
10
8
  static register = WorldGenRegister;
11
- static worldBounds = WorldBounds;
12
9
  static _brushes = [];
13
10
  static setWorldGen(worldGen) {
14
11
  this.worldGen = worldGen;
@@ -27,16 +24,21 @@ export class WorldGeneration {
27
24
  if (mode == "decorate") {
28
25
  await this.worldGen.decorate(data);
29
26
  }
30
- const inte = new SafeInterval().setInterval(100).setOnRun(() => {
31
- if (WorldGenRegister.attemptRequestFullFill(requestsId)) {
32
- onDone();
33
- inte.stop();
34
- }
35
- });
36
- inte.start();
27
+ if (!WorldGenRegister.attemptRequestFullFill(requestsId)) {
28
+ const readyCheck = () => {
29
+ if (WorldGenRegister.attemptRequestFullFill(requestsId)) {
30
+ onDone();
31
+ return;
32
+ }
33
+ setTimeout(readyCheck, 10);
34
+ };
35
+ readyCheck();
36
+ }
37
+ else {
38
+ onDone();
39
+ }
37
40
  }
38
41
  static getBrush() {
39
- const brush = new WorldGenBrush();
40
- return brush;
42
+ return new WorldGenBrush();
41
43
  }
42
44
  }
@@ -1,5 +1,5 @@
1
1
  import { TemplateVoxelCursor } from "./TemplateVoxelCursor";
2
- import { DataCursorInterface } from "../Interfaces/DataCursor.interface";
2
+ import { DataCursorInterface } from "../../Data/Cursor/DataCursor.interface";
3
3
  import { FullVoxelTemplate } from "Templates/FullVoxelTemplate";
4
4
  export declare class TemplateCursor extends DataCursorInterface {
5
5
  _voxelIndex: number;
@@ -1,5 +1,5 @@
1
1
  import { TemplateVoxelCursor } from "./TemplateVoxelCursor";
2
- import { DataCursorInterface } from "../Interfaces/DataCursor.interface";
2
+ import { DataCursorInterface } from "../../Data/Cursor/DataCursor.interface";
3
3
  export class TemplateCursor extends DataCursorInterface {
4
4
  _voxelIndex = 0;
5
5
  _template = null;
@@ -1,9 +1,10 @@
1
- import { VoxelCursorInterface } from "../Interfaces/VoxelCursor.interface";
1
+ import { VoxelCursorInterface } from "../../Voxels/Cursor/VoxelCursor.interface";
2
2
  import { TemplateCursor } from "./TemplateCursor";
3
3
  export declare class TemplateVoxelCursor extends VoxelCursorInterface {
4
4
  dataCursor: TemplateCursor;
5
5
  private _template;
6
6
  get ids(): Uint16Array;
7
+ get level(): Uint8Array;
7
8
  get light(): Uint16Array;
8
9
  get state(): Uint16Array;
9
10
  get secondary(): Uint16Array;
@@ -1,10 +1,13 @@
1
- import { VoxelCursorInterface } from "../Interfaces/VoxelCursor.interface";
1
+ import { VoxelCursorInterface } from "../../Voxels/Cursor/VoxelCursor.interface";
2
2
  export class TemplateVoxelCursor extends VoxelCursorInterface {
3
3
  dataCursor;
4
4
  _template;
5
5
  get ids() {
6
6
  return this._template.ids;
7
7
  }
8
+ get level() {
9
+ return this._template.level;
10
+ }
8
11
  get light() {
9
12
  return this._template.light;
10
13
  }
@@ -5,6 +5,7 @@ export declare class FullVoxelTemplate {
5
5
  index: Flat3DIndex;
6
6
  size: Vec3Array;
7
7
  ids: Uint16Array;
8
+ level: Uint8Array;
8
9
  state: Uint16Array;
9
10
  light: Uint16Array;
10
11
  mod: Uint16Array;
@@ -2,7 +2,7 @@ import { Flat3DIndex } from "@amodx/math";
2
2
  export class FullVoxelTemplate {
3
3
  static CreateNew(size, baseLightValue = 0) {
4
4
  const voxelSize = size[0] * size[1] * size[2];
5
- const chunkBuffer = new SharedArrayBuffer(
5
+ const sectionBuffer = new SharedArrayBuffer(
6
6
  //ids
7
7
  voxelSize * 2 +
8
8
  //light
@@ -12,24 +12,29 @@ export class FullVoxelTemplate {
12
12
  //mod
13
13
  voxelSize * 2 +
14
14
  //secondary
15
- voxelSize * 2);
15
+ voxelSize * 2 +
16
+ //level
17
+ voxelSize);
16
18
  let bufferStart = 0;
17
- const ids = new Uint16Array(chunkBuffer, bufferStart, voxelSize);
19
+ const ids = new Uint16Array(sectionBuffer, bufferStart, voxelSize);
18
20
  bufferStart += voxelSize * 2;
19
- const light = new Uint16Array(chunkBuffer, bufferStart, voxelSize);
21
+ const light = new Uint16Array(sectionBuffer, bufferStart, voxelSize);
20
22
  bufferStart += voxelSize * 2;
21
23
  if (baseLightValue)
22
24
  light.fill(baseLightValue);
23
- const state = new Uint16Array(chunkBuffer, bufferStart, voxelSize);
25
+ const state = new Uint16Array(sectionBuffer, bufferStart, voxelSize);
24
26
  bufferStart += voxelSize * 2;
25
- const mod = new Uint16Array(chunkBuffer, bufferStart, voxelSize);
27
+ const mod = new Uint16Array(sectionBuffer, bufferStart, voxelSize);
26
28
  bufferStart += voxelSize * 2;
27
- const secondary = new Uint16Array(chunkBuffer, bufferStart, voxelSize);
29
+ const secondary = new Uint16Array(sectionBuffer, bufferStart, voxelSize);
28
30
  bufferStart += voxelSize * 2;
31
+ const level = new Uint8Array(sectionBuffer, bufferStart, voxelSize);
32
+ bufferStart += voxelSize;
29
33
  return {
30
34
  size,
31
35
  ids,
32
36
  light,
37
+ level,
33
38
  state,
34
39
  secondary,
35
40
  mod,
@@ -38,6 +43,7 @@ export class FullVoxelTemplate {
38
43
  index = Flat3DIndex.GetXZYOrder();
39
44
  size;
40
45
  ids;
46
+ level;
41
47
  state;
42
48
  light;
43
49
  mod;
@@ -46,6 +52,7 @@ export class FullVoxelTemplate {
46
52
  this.size = [...data.size];
47
53
  this.index.setBounds(...data.size);
48
54
  this.ids = data.ids;
55
+ this.level = data.level;
49
56
  this.state = data.state;
50
57
  this.light = data.light;
51
58
  this.mod = data.mod;
@@ -2,10 +2,11 @@ import { Flat3DIndex, Traverse } from "@amodx/math";
2
2
  import { StringPalette } from "../../Util/StringPalette";
3
3
  import { VoxelTemplate } from "../VoxelTemplate";
4
4
  import { NumberPalette } from "../../Util/NumberPalette";
5
- import { DataTool } from "../../Tools/Data/DataTool";
6
- import { convertToPaletteBuffer } from "../../Archive/Functions/Palettes";
5
+ import { convertToPaletteBuffer } from "../../Data/Functions/Palettes";
6
+ import { WorldCursor } from "../../World";
7
7
  export default function CreateTemplate(dimension, start, end) {
8
- const dataTool = new DataTool();
8
+ const dataTool = new WorldCursor();
9
+ dataTool.setFocalPoint(dimension, start[0], start[1], start[2]);
9
10
  const index = Flat3DIndex.GetXZYOrder();
10
11
  const [sx, sy, sz] = [
11
12
  end[0] - start[0],
@@ -14,56 +15,69 @@ export default function CreateTemplate(dimension, start, end) {
14
15
  ];
15
16
  index.setBounds(sx, sy, sz);
16
17
  const idPalette = new StringPalette();
17
- const secondaryIdPalette = new StringPalette();
18
+ const levelPalette = new NumberPalette();
18
19
  const statePalette = new NumberPalette();
19
20
  const modPalette = new NumberPalette();
21
+ const secondaryIdPalette = new StringPalette();
20
22
  const secondaryStatePalette = new NumberPalette();
21
- const ids = new Array(index.size);
22
- const state = new Array(index.size);
23
- const mod = new Array(index.size);
24
- const secondary = new Array(index.size);
25
- dataTool.setDimension(dimension);
23
+ const ids = new Uint16Array(index.size);
24
+ const levels = new Uint8Array(index.size);
25
+ const states = new Uint16Array(index.size);
26
+ const mods = new Uint16Array(index.size);
27
+ const secondarys = new Uint16Array(index.size);
26
28
  let idsAllTheSame = true;
29
+ let levelAllTheSame = true;
27
30
  let stateAllTheSame = true;
28
31
  let modAllTheSame = true;
29
32
  let secondaryAllTheSame = true;
30
33
  let firstId = -1;
34
+ let firstLevel = -1;
31
35
  let firstState = -1;
32
36
  let firstMod = -1;
33
37
  let firstSecondary = -1;
34
38
  for (const { x, y, z } of Traverse.FromToVec3(start, [end[0] - 1, end[1] - 1, end[2] - 1], 1)) {
35
- if (!dataTool.loadInAt(x, y, z))
39
+ const voxel = dataTool.getVoxel(x, y, x);
40
+ if (!voxel)
36
41
  continue;
37
42
  const vindex = index.getIndexXYZ(x - start[0], y - start[1], z - start[2]);
38
- const raw = dataTool.getRaw();
39
- const stringId = dataTool.getStringId();
40
- const stateId = !statePalette.isRegistered(raw[2])
41
- ? statePalette.register(raw[2])
42
- : statePalette.getId(raw[2]);
43
- const modId = !modPalette.isRegistered(raw[4])
44
- ? modPalette.register(raw[4])
45
- : modPalette.getId(raw[4]);
43
+ const rawData = voxel.getRaw();
44
+ const level = rawData[2];
45
+ const state = rawData[3];
46
+ const mod = rawData[4];
47
+ const seoncdary = rawData[5];
48
+ const stringId = voxel.getStringId();
46
49
  const voxelId = !idPalette.isRegistered(stringId)
47
50
  ? idPalette.register(stringId)
48
51
  : idPalette.getNumberId(stringId);
52
+ const levelId = !levelPalette.isRegistered(level)
53
+ ? levelPalette.register(level)
54
+ : levelPalette.getId(level);
55
+ const stateId = !statePalette.isRegistered(state)
56
+ ? statePalette.register(state)
57
+ : statePalette.getId(state);
58
+ const modId = !modPalette.isRegistered(mod)
59
+ ? modPalette.register(mod)
60
+ : modPalette.getId(mod);
49
61
  let secondaryData = 0;
50
- if (dataTool.canHaveSecondaryVoxel()) {
51
- dataTool.setSecondary(true);
52
- let secondaryId = dataTool.hasSecondaryVoxel()
53
- ? dataTool.getStringId()
62
+ if (voxel.canHaveSecondaryVoxel()) {
63
+ voxel.setSecondary(true);
64
+ let secondaryId = voxel.hasSecondaryVoxel()
65
+ ? voxel.getStringId()
54
66
  : "dve_air";
55
- dataTool.setSecondary(false);
67
+ voxel.setSecondary(false);
56
68
  secondaryData = !secondaryIdPalette.isRegistered(secondaryId)
57
69
  ? secondaryIdPalette.register(secondaryId)
58
70
  : secondaryIdPalette.getNumberId(secondaryId);
59
71
  }
60
72
  else {
61
- secondaryData = !secondaryStatePalette.isRegistered(raw[3])
62
- ? secondaryStatePalette.register(raw[3])
63
- : secondaryStatePalette.getId(raw[3]);
73
+ secondaryData = !secondaryStatePalette.isRegistered(seoncdary)
74
+ ? secondaryStatePalette.register(seoncdary)
75
+ : secondaryStatePalette.getId(seoncdary);
64
76
  }
65
77
  if (firstId == -1)
66
78
  firstId = voxelId;
79
+ if (firstLevel == -1)
80
+ firstLevel = stateId;
67
81
  if (firstState == -1)
68
82
  firstState = stateId;
69
83
  if (firstMod == -1)
@@ -71,11 +85,14 @@ export default function CreateTemplate(dimension, start, end) {
71
85
  if (firstSecondary == -1)
72
86
  firstSecondary = secondaryData;
73
87
  ids[vindex] = voxelId;
74
- mod[vindex] = modId;
75
- state[vindex] = stateId;
76
- secondary[vindex] = secondaryData;
88
+ levels[vindex] = voxelId;
89
+ mods[vindex] = modId;
90
+ states[vindex] = stateId;
91
+ secondarys[vindex] = secondaryData;
77
92
  if (firstId != voxelId)
78
93
  idsAllTheSame = false;
94
+ if (firstLevel != levelId)
95
+ levelAllTheSame = false;
79
96
  if (firstState != stateId)
80
97
  stateAllTheSame = false;
81
98
  if (firstMod != modId)
@@ -83,31 +100,35 @@ export default function CreateTemplate(dimension, start, end) {
83
100
  if (firstSecondary != secondaryData)
84
101
  secondaryAllTheSame = false;
85
102
  }
86
- console.log("CREATE VOXEL TEMPLATE", { modPalette, mod });
103
+ console.log("CREATE VOXEL TEMPLATE", { modPalette, mod: mods });
87
104
  return new VoxelTemplate({
88
105
  templatorVersion: 0,
89
106
  version: 0,
90
107
  size: [sx, sy, sz],
91
108
  palettes: {
92
109
  id: idPalette._palette,
93
- secondaryId: secondaryIdPalette._palette,
110
+ level: Uint8Array.from(levelPalette._palette),
94
111
  state: Uint16Array.from(statePalette._palette),
95
112
  mod: Uint16Array.from(modPalette._palette),
113
+ secondaryId: secondaryIdPalette._palette,
96
114
  secondaryState: Uint16Array.from(secondaryStatePalette._palette),
97
115
  },
98
116
  buffers: {
99
117
  ids: !idsAllTheSame
100
118
  ? convertToPaletteBuffer(idPalette.size, Uint16Array.from(ids), true)
101
119
  : ids[0],
120
+ level: !levelAllTheSame
121
+ ? convertToPaletteBuffer(modPalette.size, levels, true)
122
+ : levels[0],
102
123
  mod: !modAllTheSame
103
- ? convertToPaletteBuffer(modPalette.size, Uint16Array.from(mod), true)
104
- : mod[0],
124
+ ? convertToPaletteBuffer(modPalette.size, Uint16Array.from(mods), true)
125
+ : mods[0],
105
126
  state: !stateAllTheSame
106
- ? convertToPaletteBuffer(statePalette.size, Uint16Array.from(state), true)
107
- : state[0],
127
+ ? convertToPaletteBuffer(statePalette.size, Uint16Array.from(states), true)
128
+ : states[0],
108
129
  secondary: !secondaryAllTheSame
109
- ? convertToPaletteBuffer(Math.max(secondaryIdPalette.size, secondaryStatePalette.size), Uint16Array.from(secondary), true)
110
- : secondary[0],
130
+ ? convertToPaletteBuffer(Math.max(secondaryIdPalette.size, secondaryStatePalette.size), Uint16Array.from(secondarys), true)
131
+ : secondarys[0],
111
132
  },
112
133
  });
113
134
  }
@@ -32,6 +32,10 @@ export default function FlipTemplate(template, direction) {
32
32
  const ids = template.ids;
33
33
  flipArray([sizeX, sizeY, sizeZ], ids, direction, index);
34
34
  }
35
+ if (typeof template.level === "object") {
36
+ const level = template.level;
37
+ flipArray([sizeX, sizeY, sizeZ], level, direction, index);
38
+ }
35
39
  if (typeof template.state === "object") {
36
40
  const state = template.state;
37
41
  flipArray([sizeX, sizeY, sizeZ], state, direction, index);
@@ -93,6 +93,10 @@ export default function RotateTemplate(template, angle, axes = "y") {
93
93
  const ids = template.ids;
94
94
  rotateArray([sizeX, sizeY, sizeZ], ids, angle, axes, index, newIndex);
95
95
  }
96
+ if (typeof template.level === "object") {
97
+ const level = template.level;
98
+ rotateArray([sizeX, sizeY, sizeZ], level, angle, axes, index, newIndex);
99
+ }
96
100
  if (typeof template.state === "object") {
97
101
  const state = template.state;
98
102
  rotateArray([sizeX, sizeY, sizeZ], state, angle, axes, index, newIndex);
@@ -1,6 +1,6 @@
1
1
  import { Flat3DIndex, Vec3Array } from "@amodx/math";
2
2
  import { VoxelTemplateData } from "./VoxelTemplates.types";
3
- import type { RawVoxelData } from "../Voxels/Voxel.types";
3
+ import type { RawVoxelData } from "../Voxels/Types/Voxel.types";
4
4
  import { StringPalette } from "../Util/StringPalette";
5
5
  import { NumberPalette } from "../Util/NumberPalette";
6
6
  type TemplateCursor = {
@@ -11,18 +11,21 @@ export declare class VoxelTemplate {
11
11
  index: Flat3DIndex;
12
12
  size: Vec3Array;
13
13
  ids: Uint8Array | Uint16Array | number;
14
+ level: Uint8Array | number;
14
15
  state: Uint8Array | Uint16Array | number;
15
16
  mod: Uint8Array | Uint16Array | number;
16
17
  secondary: Uint8Array | Uint16Array | number;
17
18
  idPalette: StringPalette;
18
- secondaryIdPalette: StringPalette;
19
+ levelPalette: NumberPalette;
19
20
  statePalette: NumberPalette;
20
21
  modPalette: NumberPalette;
22
+ secondaryIdPalette: StringPalette;
21
23
  secondaryStatePalette: NumberPalette;
22
24
  constructor(data: VoxelTemplateData);
23
25
  getIndex(x: number, y: number, z: number): number;
24
26
  getId(index: number): number;
25
27
  getState(index: number): number;
28
+ getLevel(index: number): number;
26
29
  getMod(index: number): number;
27
30
  getSecondary(id: number, index: number): number;
28
31
  traverse(): Generator<TemplateCursor>;
@@ -1,33 +1,39 @@
1
1
  import { Flat3DIndex, Traverse } from "@amodx/math";
2
2
  import { StringPalette } from "../Util/StringPalette";
3
3
  import { NumberPalette } from "../Util/NumberPalette";
4
- import { VoxelPalette } from "../Data/Palettes/VoxelPalette";
5
- import { VoxelStruct } from "../Data/Structs/VoxelStruct";
6
- import { VoxelStructIds } from "../Voxels/Voxel.types";
7
- import { getPaletteArray } from "../Archive/Functions/Palettes";
4
+ import { VoxelPalette } from "../Voxels/Palettes/VoxelPalette";
5
+ import { VoxelStruct } from "../Voxels/Structs/VoxelStruct";
6
+ import { VoxelStructIds } from "../Voxels/Types/Voxel.types";
7
+ import { getPaletteArray } from "../Data/Functions/Palettes";
8
8
  export class VoxelTemplate {
9
9
  index = Flat3DIndex.GetXZYOrder();
10
10
  size;
11
11
  ids;
12
+ level;
12
13
  state;
13
14
  mod;
14
15
  secondary;
15
- idPalette = new StringPalette();
16
- secondaryIdPalette = new StringPalette();
17
- statePalette = new NumberPalette();
18
- modPalette = new NumberPalette();
19
- secondaryStatePalette = new NumberPalette();
16
+ idPalette;
17
+ levelPalette;
18
+ statePalette;
19
+ modPalette;
20
+ secondaryIdPalette;
21
+ secondaryStatePalette;
20
22
  constructor(data) {
21
23
  this.size = [...data.size];
22
24
  this.index.setBounds(...data.size);
23
- data.palettes.id.forEach((_) => this.idPalette.register(_));
24
- data.palettes.state.forEach((_) => this.statePalette.register(_));
25
- data.palettes.mod.forEach((_) => this.modPalette.register(_));
26
- data.palettes.secondaryId.forEach((_) => this.secondaryIdPalette.register(_));
27
- data.palettes.secondaryState.forEach((_) => this.secondaryStatePalette.register(_));
25
+ this.idPalette = new StringPalette(data.palettes.id);
26
+ this.levelPalette = new NumberPalette(data.palettes.level);
27
+ this.statePalette = new NumberPalette(data.palettes.state);
28
+ this.modPalette = new NumberPalette(data.palettes.mod);
29
+ this.secondaryIdPalette = new StringPalette(data.palettes.secondaryId);
30
+ this.secondaryStatePalette = new NumberPalette(data.palettes.secondaryState);
28
31
  typeof data.buffers.ids == "object"
29
32
  ? (this.ids = getPaletteArray(data.palettes.id.length, data.buffers.ids))
30
33
  : (this.ids = data.buffers.ids);
34
+ typeof data.buffers.level == "object"
35
+ ? (this.level = getPaletteArray(data.palettes.level.length, data.buffers.level))
36
+ : (this.level = data.buffers.level);
31
37
  typeof data.buffers.state == "object"
32
38
  ? (this.state = getPaletteArray(data.palettes.state.length, data.buffers.state))
33
39
  : (this.state = data.buffers.state);
@@ -49,6 +55,10 @@ export class VoxelTemplate {
49
55
  const state = this.state;
50
56
  return this.statePalette.getValue(typeof state == "number" ? state : state[index]);
51
57
  }
58
+ getLevel(index) {
59
+ const mod = this.mod;
60
+ return this.modPalette.getValue(typeof mod == "number" ? mod : mod[index]);
61
+ }
52
62
  getMod(index) {
53
63
  const mod = this.mod;
54
64
  return this.modPalette.getValue(typeof mod == "number" ? mod : mod[index]);
@@ -63,7 +73,7 @@ export class VoxelTemplate {
63
73
  }
64
74
  *traverse() {
65
75
  const end = this.size;
66
- const raw = [0, 0, 0, 0, 0];
76
+ const raw = [0, 0, 0, 0, 0, 0];
67
77
  const curosr = {
68
78
  position: [0, 0, 0],
69
79
  raw,
@@ -75,9 +85,10 @@ export class VoxelTemplate {
75
85
  curosr.position[2] = z;
76
86
  raw[0] = this.getId(vindex);
77
87
  raw[1] = 0;
78
- raw[2] = this.getState(vindex);
79
- raw[3] = this.getSecondary(raw[0], vindex);
88
+ raw[2] = this.getLevel(vindex);
89
+ raw[3] = this.getState(vindex);
80
90
  raw[4] = this.getMod(vindex);
91
+ raw[5] = this.getSecondary(raw[0], vindex);
81
92
  if (raw[0] < 1 && raw[3] < 1)
82
93
  continue;
83
94
  yield curosr;
@@ -90,9 +101,10 @@ export class VoxelTemplate {
90
101
  size: this.size,
91
102
  palettes: {
92
103
  id: this.idPalette._palette,
93
- secondaryId: this.secondaryIdPalette._palette,
104
+ level: Uint8Array.from(this.statePalette._palette),
94
105
  state: Uint16Array.from(this.statePalette._palette),
95
106
  mod: Uint16Array.from(this.modPalette._palette),
107
+ secondaryId: this.secondaryIdPalette._palette,
96
108
  secondaryState: Uint16Array.from(this.secondaryStatePalette._palette),
97
109
  },
98
110
  buffers: {
@@ -101,6 +113,9 @@ export class VoxelTemplate {
101
113
  typeof this.ids == "number"
102
114
  ? this.ids
103
115
  : new Uint8Array(this.ids.buffer),
116
+ level: this.level instanceof Uint8Array || typeof this.level == "number"
117
+ ? this.level
118
+ : new Uint8Array(this.level.buffer),
104
119
  mod: this.mod instanceof Uint16Array ||
105
120
  this.mod instanceof Uint8Array ||
106
121
  typeof this.mod == "number"
@@ -1,23 +1,21 @@
1
1
  import { Vec3Array } from "@amodx/math";
2
+ import { VoxelDataArrays } from "../World";
2
3
  export interface VoxelTemplateBuffers {
3
4
  ids: Uint16Array | Uint8Array | number;
4
5
  state: Uint16Array | Uint8Array | number;
6
+ level: Uint8Array | number;
5
7
  mod: Uint16Array | Uint8Array | number;
6
8
  secondary: Uint16Array | Uint8Array | number;
7
9
  }
8
- export interface FullVoxelTemplateData {
10
+ export interface FullVoxelTemplateData extends VoxelDataArrays {
9
11
  size: Vec3Array;
10
- ids: Uint16Array;
11
- state: Uint16Array;
12
- light: Uint16Array;
13
- mod: Uint16Array;
14
- secondary: Uint16Array;
15
12
  }
16
13
  export interface VoxelTemplatePaletteData {
17
14
  id: string[];
18
- secondaryId: string[];
15
+ level: Uint8Array;
19
16
  state: Uint16Array;
20
17
  mod: Uint16Array;
18
+ secondaryId: string[];
21
19
  secondaryState: Uint16Array;
22
20
  }
23
21
  export interface VoxelTemplateData {