@divinevoxel/vlox 0.0.72 → 0.0.74

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 (307) hide show
  1. package/Contexts/Base/Remote/InitDataSync.js +4 -0
  2. package/Contexts/Base/Remote/InitWorldDataSync.js +1 -1
  3. package/Contexts/Render/DivineVoxelEngineRender.d.ts +2 -1
  4. package/Contexts/World/DivineVoxelEngineWorld.d.ts +2 -1
  5. package/Init/StartConstructor.js +8 -4
  6. package/Init/StartWorld.d.ts +1 -1
  7. package/Math/index.d.ts +5 -1
  8. package/Mesher/Functions/CompactVoxelMesh.d.ts +2 -2
  9. package/Mesher/Functions/CompactVoxelMesh.js +1 -1
  10. package/Mesher/Functions/CompactVoxelSectionMesh.d.ts +4 -0
  11. package/Mesher/Functions/CompactVoxelSectionMesh.js +112 -0
  12. package/Mesher/Functions/MeshSection.d.ts +1 -1
  13. package/Mesher/Functions/MeshSection.js +27 -22
  14. package/Mesher/Functions/MeshTexture.d.ts +1 -1
  15. package/Mesher/Functions/MeshTexture.js +3 -4
  16. package/Mesher/Geomtry/CompactedSectionVoxelMesh.d.ts +23 -0
  17. package/Mesher/Geomtry/CompactedSectionVoxelMesh.js +144 -0
  18. package/Mesher/Geomtry/Primitives/QuadVertexData.d.ts +12 -10
  19. package/Mesher/Geomtry/Primitives/QuadVertexData.js +49 -56
  20. package/Mesher/Geomtry/VoxelGeometryBuilder.d.ts +2 -2
  21. package/Mesher/Geomtry/VoxelGeometryBuilder.js +120 -199
  22. package/Mesher/Geomtry/VoxelMesh.d.ts +1 -1
  23. package/Mesher/Geomtry/VoxelMesh.js +4 -4
  24. package/Mesher/Geomtry/VoxelMeshBVHBuilder.d.ts +16 -0
  25. package/Mesher/Geomtry/VoxelMeshBVHBuilder.js +51 -0
  26. package/Mesher/Geomtry/VoxelMeshBVHStructCursor.d.ts +22 -0
  27. package/Mesher/Geomtry/VoxelMeshBVHStructCursor.js +78 -0
  28. package/Mesher/Geomtry/{Buffers.js → VoxelMeshBuffers.js} +2 -2
  29. package/Mesher/Geomtry/index.d.ts +0 -1
  30. package/Mesher/Geomtry/index.js +0 -1
  31. package/Mesher/InitMesher.js +1 -1
  32. package/Mesher/InitTask.js +9 -23
  33. package/Mesher/Models/Common/BoxGeometryNode.js +7 -7
  34. package/Mesher/Models/Common/Calc/CalcConstants.d.ts +1 -1
  35. package/Mesher/Models/Common/Calc/CalcConstants.js +1 -1
  36. package/Mesher/Models/Common/Calc/FaceDataCalc.d.ts +2 -2
  37. package/Mesher/Models/Common/Calc/FaceDataCalc.js +37 -30
  38. package/Mesher/Models/Common/QuadGeometryNode.js +2 -2
  39. package/Mesher/Models/Nodes/Custom/Liquid/FlowGradient.d.ts +2 -2
  40. package/Mesher/Models/Nodes/Custom/Liquid/FlowGradient.js +1 -1
  41. package/Mesher/Models/Nodes/Custom/Liquid/LiquidGeomtryNode.js +18 -24
  42. package/Mesher/Models/Nodes/GeometryNode.d.ts +2 -2
  43. package/Mesher/Models/Nodes/Ruled/BoxVoxelGeometryNode.d.ts +1 -0
  44. package/Mesher/Models/Nodes/Ruled/BoxVoxelGeometryNode.js +40 -31
  45. package/Mesher/Models/Nodes/Ruled/QuadVoxelGeometryNode.js +2 -2
  46. package/Mesher/Models/Nodes/Ruleless/RulelessBoxVoxelGeometryNode.js +2 -2
  47. package/Mesher/Models/Nodes/Ruleless/RulelessQuadVoxelGeometryNode.js +2 -2
  48. package/Mesher/{Tools → Models/Protocols}/OutlinedVoxelTool.d.ts +1 -1
  49. package/Mesher/{Tools → Models/Protocols}/OutlinedVoxelTool.js +1 -1
  50. package/Mesher/Models/RenderedMaterials.d.ts +6 -0
  51. package/Mesher/{RenderedMaterials.js → Models/RenderedMaterials.js} +2 -2
  52. package/Mesher/Models/VoxelConstructor.d.ts +6 -6
  53. package/Mesher/Models/VoxelConstructor.js +8 -8
  54. package/Mesher/Models/VoxelGeometryBuilderCacheSpace.d.ts +3 -5
  55. package/Mesher/Models/VoxelGeometryBuilderCacheSpace.js +8 -32
  56. package/Mesher/{Tools/VoxelMesherDataTool.d.ts → Models/VoxelModelBuilder.d.ts} +4 -5
  57. package/Mesher/{Tools/VoxelMesherDataTool.js → Models/VoxelModelBuilder.js} +5 -8
  58. package/Mesher/Types/Mesher.types.d.ts +1 -0
  59. package/Models/Defaults/CubeVoxelGeometry.js +4 -0
  60. package/Models/Defaults/CubeVoxelModels.js +360 -383
  61. package/Models/Defaults/LiquidVoxelModel.js +5 -5
  62. package/Models/Defaults/PanelVoxelModels.js +442 -468
  63. package/Models/Defaults/StairVoxelModel.js +582 -597
  64. package/Models/Examples.js +490 -498
  65. package/Models/Rules/Classes/VoxelRulesModel.d.ts +1 -1
  66. package/Models/Rules/Classes/VoxelRulesModel.js +3 -3
  67. package/Models/Rules/Functions/BuildFinalInputs.d.ts +1 -1
  68. package/Models/Rules/Functions/BuildFinalInputs.js +21 -19
  69. package/Models/Rules/Functions/BuildGeomtryInputs.js +8 -5
  70. package/Models/Rules/Functions/BuildRules.js +2 -2
  71. package/Models/Rules/{VoxelModelManager.d.ts → VoxelModelRuleBuilderRegister.d.ts} +1 -1
  72. package/Models/Rules/VoxelModelRuleBuilderRegister.js +178 -0
  73. package/Models/VoxelModel.types.d.ts +17 -8
  74. package/Renderer/Classes/DVESectionMeshes.d.ts +2 -3
  75. package/Renderer/Classes/SectorMesh.d.ts +3 -4
  76. package/Renderer/Classes/SectorMesh.js +6 -11
  77. package/Renderer/InitTasks.js +1 -10
  78. package/Renderer/MeshManager.d.ts +1 -1
  79. package/Renderer/MeshManager.js +26 -25
  80. package/Renderer/MeshRegister.d.ts +5 -5
  81. package/Renderer/MeshRegister.js +4 -3
  82. package/Settings/EngineSettings.d.ts +2 -1
  83. package/Settings/EngineSettings.js +6 -5
  84. package/Settings/EngineSettings.types.d.ts +24 -39
  85. package/Settings/EngineSettings.types.js +22 -29
  86. package/Tasks/Logic/InitTasks.d.ts +1 -0
  87. package/Tasks/Logic/InitTasks.js +10 -0
  88. package/Tasks/Logic/VoxelLogicUpdate.d.ts +3 -0
  89. package/Tasks/Logic/VoxelLogicUpdate.js +71 -0
  90. package/Tasks/Propagation/Explosion/ExplosionManager.d.ts +2 -2
  91. package/Tasks/Propagation/Explosion/ExplosionManager.js +1 -2
  92. package/Tasks/Propagation/Flow/FlowManager.d.ts +4 -4
  93. package/Tasks/Propagation/Flow/FlowRemove.d.ts +2 -2
  94. package/Tasks/Propagation/Flow/FlowUpdate.d.ts +2 -2
  95. package/Tasks/Propagation/Flow/WorldFlow.d.ts +2 -2
  96. package/Tasks/Propagation/Illumanation/RGBUpdate.d.ts +3 -3
  97. package/Tasks/Propagation/Illumanation/SunUpdate.d.ts +3 -3
  98. package/Tasks/Propagation/Illumanation/WorldRGB.d.ts +2 -2
  99. package/Tasks/Propagation/Illumanation/WorldSun.d.ts +2 -2
  100. package/Tasks/Propagation/Illumanation/WorldSun.js +8 -15
  101. package/Tasks/Propagation/InitTasks.js +4 -4
  102. package/Tasks/Propagation/Power/PowerUpdate.d.ts +3 -0
  103. package/Tasks/Propagation/Power/PowerUpdate.js +80 -0
  104. package/Tasks/Tasks.types.d.ts +2 -2
  105. package/Tasks/TasksIds.d.ts +2 -1
  106. package/Tasks/TasksIds.js +1 -0
  107. package/Tasks/Update/Common.d.ts +3 -0
  108. package/Tasks/Update/Common.js +41 -0
  109. package/Tasks/Update/EreaseUpdate.d.ts +3 -0
  110. package/Tasks/Update/EreaseUpdate.js +66 -0
  111. package/Tasks/Update/InitTasks.d.ts +2 -2
  112. package/Tasks/Update/InitTasks.js +3 -1
  113. package/Tasks/Update/PaintUpdate.d.ts +3 -0
  114. package/Tasks/Update/PaintUpdate.js +89 -0
  115. package/Tasks/Update/VoxelUpdate.d.ts +2 -5
  116. package/Tasks/Update/VoxelUpdate.js +7 -143
  117. package/Tasks/{Update/UpdateTask.d.ts → VoxelUpdateTask.d.ts} +16 -6
  118. package/Tasks/{Update/UpdateTask.js → VoxelUpdateTask.js} +44 -5
  119. package/Tasks/WorldGeneration/WorldGenBrush.d.ts +3 -3
  120. package/Tasks/WorldGeneration/WorldGenBrush.js +3 -3
  121. package/Tasks/WorldGeneration/WorldGenRegister.d.ts +1 -1
  122. package/Templates/Cursor/TemplateCursor.d.ts +2 -2
  123. package/Templates/Cursor/TemplateCursor.js +1 -2
  124. package/Templates/Functions/CreateTemplate.d.ts +1 -1
  125. package/Templates/VoxelTemplates.types.d.ts +1 -1
  126. package/Textures/Classes/CompiledTexture.d.ts +18 -0
  127. package/Textures/Classes/CompiledTexture.js +50 -0
  128. package/Textures/Classes/CompiledTextureAnimation.d.ts +12 -0
  129. package/Textures/Classes/CompiledTextureAnimation.js +27 -0
  130. package/Textures/Classes/TextureAnimationTexture.d.ts +10 -0
  131. package/Textures/Classes/TextureAnimationTexture.js +32 -0
  132. package/Textures/Functions/BuildTextureData.d.ts +10 -0
  133. package/Textures/Functions/BuildTextureData.js +205 -0
  134. package/Textures/Texture.types.d.ts +50 -64
  135. package/Textures/TextureManager.d.ts +8 -19
  136. package/Textures/TextureManager.js +28 -166
  137. package/Tools/Brush/AdvancedBrushTool.js +1 -1
  138. package/Tools/Brush/Brush.d.ts +3 -3
  139. package/Tools/Brush/Brush.js +40 -8
  140. package/Tools/Tasks/TasksTool.d.ts +1 -0
  141. package/Tools/Tasks/TasksTool.js +2 -0
  142. package/Util/Binary/BinaryArrays.d.ts +6 -0
  143. package/Util/Binary/BinaryArrays.js +25 -0
  144. package/Util/Binary/BinaryBuffer.d.ts +35 -0
  145. package/Util/Binary/BinaryBuffer.js +136 -0
  146. package/Util/Binary/{BitArray.d.ts → BinaryFunctions.d.ts} +1 -2
  147. package/Util/Binary/BinaryFunctions.js +11 -0
  148. package/{Mesher/Tools/VoxelMeshBVHBuilder.d.ts → Util/Binary/BinaryTree.d.ts} +1 -33
  149. package/Util/Binary/BinaryTree.js +104 -0
  150. package/Voxels/Cursor/DataCursor.interface.d.ts +5 -0
  151. package/Voxels/Cursor/VoxelCursor.interface.d.ts +8 -3
  152. package/Voxels/Cursor/VoxelCursor.interface.js +54 -13
  153. package/Voxels/Cursor/VoxelLightData.js +1 -1
  154. package/Voxels/Data/VoxelPalettesRegister.d.ts +0 -5
  155. package/Voxels/Data/VoxelPalettesRegister.js +0 -9
  156. package/Voxels/Data/VoxelTag.types.d.ts +17 -2
  157. package/Voxels/Data/VoxelTag.types.js +6 -1
  158. package/Voxels/Data/VoxelTagsRegister.js +12 -7
  159. package/Voxels/Functions/BuildStateData.d.ts +6 -6
  160. package/Voxels/Functions/BuildStateData.js +37 -37
  161. package/Voxels/Functions/BuildTagAndPaletteData.js +6 -3
  162. package/Voxels/Indexes/VoxelIndex.d.ts +2 -2
  163. package/Voxels/Indexes/VoxelIndex.js +16 -18
  164. package/Voxels/InitVoxelData.js +24 -21
  165. package/Voxels/Logic/Classes/Default/Types/VoxelPoweredLogicType.d.ts +5 -0
  166. package/Voxels/Logic/Classes/Default/Types/VoxelPoweredLogicType.js +6 -0
  167. package/Voxels/Logic/Classes/VoxelLogic.d.ts +11 -0
  168. package/Voxels/Logic/Classes/VoxelLogic.js +49 -0
  169. package/Voxels/Logic/Classes/VoxelLogicType.d.ts +4 -0
  170. package/Voxels/Logic/Classes/VoxelLogicType.js +2 -0
  171. package/Voxels/Logic/VoxelLogic.types.d.ts +23 -0
  172. package/Voxels/Logic/VoxelLogic.types.js +1 -0
  173. package/Voxels/Logic/VoxelLogicRegister.d.ts +9 -0
  174. package/Voxels/Logic/VoxelLogicRegister.js +15 -0
  175. package/Voxels/State/Schema/StateSchema.d.ts +1 -1
  176. package/Voxels/State/SchemaRegister.js +10 -5
  177. package/Voxels/State/State.types.d.ts +1 -1
  178. package/Voxels/State/StateTreeReader.d.ts +1 -1
  179. package/Voxels/State/StateTreeReader.js +2 -3
  180. package/Voxels/Types/Voxel.types.d.ts +21 -0
  181. package/Voxels/Types/Voxel.types.js +6 -2
  182. package/Voxels/Types/VoxelModelCompiledData.types.d.ts +6 -4
  183. package/World/Archive/Archive.types.d.ts +65 -42
  184. package/World/Archive/Classes/ArchiveClasses.d.ts +66 -0
  185. package/World/Archive/Classes/ArchiveClasses.js +78 -0
  186. package/World/Archive/Classes/ImportedSection.d.ts +40 -0
  187. package/World/Archive/Classes/ImportedSection.js +307 -0
  188. package/World/Archive/Classes/ImportedSector.d.ts +23 -0
  189. package/World/Archive/Classes/ImportedSector.js +97 -0
  190. package/World/Archive/Functions/ArchiveArea.d.ts +1 -1
  191. package/World/Archive/Functions/ArchiveArea.js +49 -54
  192. package/World/Archive/Functions/ArchiveSector.js +373 -282
  193. package/World/Archive/Functions/CreateArchivedSection.d.ts +3 -0
  194. package/World/Archive/Functions/CreateArchivedSection.js +207 -0
  195. package/World/Archive/Functions/ImportSector.d.ts +2 -4
  196. package/World/Archive/Functions/ImportSector.js +50 -220
  197. package/World/Archive/Functions/RemoveDuplicates.d.ts +3 -0
  198. package/World/Archive/Functions/RemoveDuplicates.js +92 -0
  199. package/World/Archive/Functions/Shared.d.ts +6 -0
  200. package/World/Archive/Functions/Shared.js +50 -0
  201. package/World/Archive/InitTasks.js +37 -23
  202. package/World/Cursor/SectionCursor.d.ts +3 -3
  203. package/World/Cursor/SectionCursor.js +2 -3
  204. package/World/Cursor/SectorCursor.d.ts +3 -3
  205. package/World/Cursor/SectorCursor.js +1 -2
  206. package/World/Cursor/WorldCursor.d.ts +6 -5
  207. package/World/Cursor/WorldCursor.js +17 -15
  208. package/World/Cursor/WorldVoxelCursor.d.ts +0 -4
  209. package/World/Cursor/WorldVoxelCursor.js +24 -14
  210. package/World/Dimension/Dimension.d.ts +4 -1
  211. package/World/Dimension/Dimension.js +8 -1
  212. package/World/InitTasks.d.ts +1 -1
  213. package/World/Lock/WorldLock.d.ts +1 -1
  214. package/World/Section/Section.d.ts +27 -18
  215. package/World/Section/Section.js +125 -21
  216. package/World/Section/SectionState.d.ts +12 -0
  217. package/World/Section/SectionState.js +13 -0
  218. package/World/Sector/Sector.d.ts +20 -6
  219. package/World/Sector/Sector.js +100 -17
  220. package/World/Sector/SectorHeightMap.js +2 -2
  221. package/World/Sector/SectorState.d.ts +16 -7
  222. package/World/Sector/SectorState.js +29 -15
  223. package/World/Types/WorldData.types.d.ts +2 -7
  224. package/World/Types/WorldStorage.interface.js +1 -0
  225. package/World/WorldRegister.d.ts +13 -9
  226. package/World/WorldRegister.js +24 -9
  227. package/World/WorldSpaces.d.ts +4 -0
  228. package/World/WorldSpaces.js +25 -12
  229. package/{Tasks/IWG → WorldSimulation}/Internal/Classes/DimensionSegment.d.ts +2 -2
  230. package/{Tasks/IWG → WorldSimulation}/Internal/Classes/Generator.d.ts +10 -3
  231. package/{Tasks/IWG → WorldSimulation}/Internal/Classes/Generator.js +19 -3
  232. package/WorldSimulation/Internal/Classes/Queues/BuildQueue.d.ts +5 -0
  233. package/WorldSimulation/Internal/Classes/Queues/BuildQueue.js +6 -0
  234. package/WorldSimulation/Internal/Classes/Queues/LogiccQueue.d.ts +5 -0
  235. package/WorldSimulation/Internal/Classes/Queues/LogiccQueue.js +6 -0
  236. package/{Tasks/IWG → WorldSimulation}/Internal/Classes/SectorVisistedMap.js +1 -1
  237. package/WorldSimulation/Internal/Classes/TickQueue.d.ts +12 -0
  238. package/WorldSimulation/Internal/Classes/TickQueue.js +58 -0
  239. package/WorldSimulation/Internal/Classes/WorldSimulationTaskBase.d.ts +15 -0
  240. package/{Tasks/IWG/Internal/Classes/IWGTaskBase.js → WorldSimulation/Internal/Classes/WorldSimulationTaskBase.js} +8 -8
  241. package/{Tasks/IWG → WorldSimulation}/Internal/Functions/cullSectors.js +9 -9
  242. package/{Tasks/IWG → WorldSimulation}/Internal/Functions/getSectorState.d.ts +1 -1
  243. package/{Tasks/IWG → WorldSimulation}/Internal/Functions/getSectorState.js +4 -4
  244. package/WorldSimulation/Internal/Functions/runTickUpdate.d.ts +2 -0
  245. package/{Tasks/IWG/Internal/Functions/runBuildUpdate.js → WorldSimulation/Internal/Functions/runTickUpdate.js} +38 -9
  246. package/{Tasks/IWG → WorldSimulation}/Internal/Functions/runWorldUpdate.js +13 -13
  247. package/{Tasks/IWG → WorldSimulation}/Internal/TaskRegister.d.ts +2 -2
  248. package/{Tasks/IWG → WorldSimulation}/Internal/TaskRegister.js +1 -1
  249. package/WorldSimulation/Internal/WorldSimulationDimensions.d.ts +6 -0
  250. package/{Tasks/IWG/Internal/IWGDimensions.js → WorldSimulation/Internal/WorldSimulationDimensions.js} +1 -1
  251. package/WorldSimulation/Internal/WorldSimulationTasks.d.ts +30 -0
  252. package/{Tasks/IWG/Internal/IWGTasks.js → WorldSimulation/Internal/WorldSimulationTasks.js} +14 -24
  253. package/WorldSimulation/Internal/WorldSimulationTools.d.ts +8 -0
  254. package/{Tasks/IWG/Internal/IWGTools.js → WorldSimulation/Internal/WorldSimulationTools.js} +1 -1
  255. package/{Tasks/IWG → WorldSimulation}/Procedures/InitalLoad.d.ts +1 -1
  256. package/{Tasks/IWG → WorldSimulation}/Procedures/InitalLoad.js +11 -11
  257. package/{Tasks/IWG → WorldSimulation}/Procedures/SaveAllSectors.js +7 -5
  258. package/{Tasks/IWG/IWG.d.ts → WorldSimulation/WorldSimulation.d.ts} +6 -5
  259. package/{Tasks/IWG/IWG.js → WorldSimulation/WorldSimulation.js} +29 -23
  260. package/{Tasks/IWG → WorldSimulation}/index.d.ts +1 -1
  261. package/{Tasks/IWG → WorldSimulation}/index.js +1 -1
  262. package/package.json +1 -1
  263. package/Mesher/Functions/CompactMesh.d.ts +0 -2
  264. package/Mesher/Functions/CompactMesh.js +0 -42
  265. package/Mesher/Geomtry/GeometryNormals.d.ts +0 -10
  266. package/Mesher/Geomtry/GeometryNormals.js +0 -52
  267. package/Mesher/Geomtry/MeshData.types.d.ts +0 -13
  268. package/Mesher/Geomtry/MeshData.types.js +0 -6
  269. package/Mesher/Geomtry/Tools/MesherDataTools.d.ts +0 -7
  270. package/Mesher/Geomtry/Tools/MesherDataTools.js +0 -12
  271. package/Mesher/Geomtry/Tools/index.d.ts +0 -1
  272. package/Mesher/Geomtry/Tools/index.js +0 -1
  273. package/Mesher/RenderedMaterials.d.ts +0 -6
  274. package/Mesher/Tools/VoxelMeshBVHBuilder.js +0 -216
  275. package/Models/Rules/VoxelModelManager.js +0 -82
  276. package/Tasks/IWG/Internal/Classes/IWGTaskBase.d.ts +0 -15
  277. package/Tasks/IWG/Internal/Functions/runBuildUpdate.d.ts +0 -2
  278. package/Tasks/IWG/Internal/IWGDimensions.d.ts +0 -6
  279. package/Tasks/IWG/Internal/IWGTasks.d.ts +0 -34
  280. package/Tasks/IWG/Internal/IWGTools.d.ts +0 -8
  281. package/Textures/TextureAnimations.d.ts +0 -4
  282. package/Textures/TextureAnimations.js +0 -35
  283. package/Textures/TextureArray.d.ts +0 -47
  284. package/Textures/TextureArray.js +0 -202
  285. package/Textures/TextureBuilder.d.ts +0 -13
  286. package/Textures/TextureBuilder.js +0 -120
  287. package/Textures/TextureRegister.d.ts +0 -9
  288. package/Textures/TextureRegister.js +0 -28
  289. package/Tools/DataCursor.interface.d.ts +0 -5
  290. package/Tools/DataCursor.interface.js +0 -2
  291. package/Util/Binary/BitArray.js +0 -16
  292. package/World/Structs/WorldDataStructProperties.d.ts +0 -8
  293. package/World/Structs/WorldDataStructProperties.js +0 -9
  294. /package/Mesher/Geomtry/{Buffers.d.ts → VoxelMeshBuffers.d.ts} +0 -0
  295. /package/Mesher/{Tools → Geomtry}/VoxelMeshVertexStructCursor.d.ts +0 -0
  296. /package/Mesher/{Tools → Geomtry}/VoxelMeshVertexStructCursor.js +0 -0
  297. /package/Mesher/{VoxelShaderData.d.ts → Geomtry/VoxelShaderData.d.ts} +0 -0
  298. /package/Mesher/{VoxelShaderData.js → Geomtry/VoxelShaderData.js} +0 -0
  299. /package/{World/Storage/WorldStorage.interface.js → Voxels/Cursor/DataCursor.interface.js} +0 -0
  300. /package/World/{Storage → Types}/WorldStorage.interface.d.ts +0 -0
  301. /package/{Tasks/IWG → WorldSimulation}/Internal/Classes/DimensionSegment.js +0 -0
  302. /package/{Tasks/IWG → WorldSimulation}/Internal/Classes/SectorState.d.ts +0 -0
  303. /package/{Tasks/IWG → WorldSimulation}/Internal/Classes/SectorState.js +0 -0
  304. /package/{Tasks/IWG → WorldSimulation}/Internal/Classes/SectorVisistedMap.d.ts +0 -0
  305. /package/{Tasks/IWG → WorldSimulation}/Internal/Functions/cullSectors.d.ts +0 -0
  306. /package/{Tasks/IWG → WorldSimulation}/Internal/Functions/runWorldUpdate.d.ts +0 -0
  307. /package/{Tasks/IWG → WorldSimulation}/Procedures/SaveAllSectors.d.ts +0 -0
@@ -0,0 +1,97 @@
1
+ import { StringPalette } from "../../../Util/StringPalette";
2
+ import { NumberPalette } from "../../../Util/NumberPalette";
3
+ import { ImportedSection } from "./ImportedSection";
4
+ import { SchemaRegister } from "../../../Voxels/State/SchemaRegister";
5
+ class ImportedSectorPalettes {
6
+ id;
7
+ secondaryId;
8
+ secondaryValue;
9
+ level;
10
+ light;
11
+ state = [];
12
+ secondaryState = [];
13
+ mod = [];
14
+ secondaryMod = [];
15
+ constructor(sector) {
16
+ for (let i = 0; i < sector.palettes.id.length; i++) {
17
+ const voxelId = sector.palettes.id[i];
18
+ if (!SchemaRegister.hasVoxelSchema(voxelId))
19
+ continue;
20
+ const schema = SchemaRegister.getVoxelSchemas(voxelId);
21
+ const stateMap = sector.palettes.stateMap[i];
22
+ if (stateMap) {
23
+ const stateArray = [];
24
+ for (let s = 0; s < stateMap.length; s++) {
25
+ stateArray[s] = schema.state.fromStateObject(stateMap[s]);
26
+ }
27
+ this.state[i] = stateArray;
28
+ }
29
+ const modMap = sector.palettes.modMap[i];
30
+ if (modMap) {
31
+ const modArray = [];
32
+ for (let m = 0; m < modMap.length; m++) {
33
+ modArray[m] = schema.mod.fromStateObject(modMap[m]);
34
+ }
35
+ this.mod[i] = modArray;
36
+ }
37
+ }
38
+ for (let i = 0; i < sector.palettes.secondaryId.length; i++) {
39
+ const voxelId = sector.palettes.secondaryId[i];
40
+ if (!SchemaRegister.hasVoxelSchema(voxelId))
41
+ continue;
42
+ const schema = SchemaRegister.getVoxelSchemas(voxelId);
43
+ const stateMap = sector.palettes.secondaryStateMap[i];
44
+ if (stateMap) {
45
+ const stateArray = [];
46
+ for (let s = 0; s < stateMap.length; s++) {
47
+ stateArray[s] = schema.state.fromStateObject(stateMap[s]);
48
+ }
49
+ this.secondaryState[i] = stateArray;
50
+ }
51
+ const modMap = sector.palettes.secondaryModMap[i];
52
+ if (modMap) {
53
+ const modArray = [];
54
+ for (let m = 0; m < modMap.length; m++) {
55
+ modArray[m] = schema.mod.fromStateObject(modMap[m]);
56
+ }
57
+ this.secondaryMod[i] = modArray;
58
+ }
59
+ }
60
+ this.id = new StringPalette(sector.palettes.id);
61
+ this.secondaryId = new StringPalette(sector.palettes.secondaryId);
62
+ this.secondaryValue = new NumberPalette(sector.palettes.secondaryValue);
63
+ this.level = sector.palettes.level
64
+ ? new NumberPalette(sector.palettes.level)
65
+ : undefined;
66
+ this.light = {
67
+ sun: sector.palettes.light.sun
68
+ ? new NumberPalette(sector.palettes.light.sun)
69
+ : null,
70
+ red: sector.palettes.light.red
71
+ ? new NumberPalette(sector.palettes.light.red)
72
+ : null,
73
+ green: sector.palettes.light.green
74
+ ? new NumberPalette(sector.palettes.light.green)
75
+ : null,
76
+ blue: sector.palettes.light.blue
77
+ ? new NumberPalette(sector.palettes.light.blue)
78
+ : null,
79
+ };
80
+ }
81
+ }
82
+ export class ImportedSector {
83
+ sector;
84
+ sections = [];
85
+ palettes;
86
+ constructor(sector) {
87
+ this.sector = sector;
88
+ this.palettes = new ImportedSectorPalettes(sector);
89
+ for (let sectionIndex = 0; sectionIndex < sector.sections.length; sectionIndex++) {
90
+ const archivedSectionValue = sector.sections[sectionIndex];
91
+ const archivedSection = typeof archivedSectionValue == "string"
92
+ ? sector.duplicates?.sections?.[archivedSectionValue]
93
+ : archivedSectionValue;
94
+ this.sections[sectionIndex] = new ImportedSection(sectionIndex, this, archivedSection);
95
+ }
96
+ }
97
+ }
@@ -1,6 +1,6 @@
1
1
  import { ArchivedAreaSectorData, ArchivedAreaData, ArchivedSectorData } from "../Archive.types";
2
2
  type RunData = {
3
- dimension: string;
3
+ dimension: number;
4
4
  sectors: ArchivedSectorData[];
5
5
  version?: number;
6
6
  };
@@ -1,17 +1,6 @@
1
1
  import { BinaryObject } from "@amodx/binary";
2
- const charset = "0123456789ABCDEF";
3
- function uint16To4CharString(value) {
4
- if (value < 0 || value > 0xffff) {
5
- throw new RangeError("Value must be a 16-bit unsigned integer.");
6
- }
7
- const chars = [];
8
- for (let i = 0; i < 4; i++) {
9
- const charCode = (value >> (i * 4)) & 0x0f;
10
- chars.unshift(charset[charCode]);
11
- }
12
- const result = chars.join("").replace(/^0+(?!$)/, "");
13
- return result;
14
- }
2
+ import { uint16To4CharString } from "./Shared";
3
+ import { WorldRegister } from "World/WorldRegister";
15
4
  const processPalettes = (archiveData) => {
16
5
  const allRegistered = new Set();
17
6
  for (const sector of archiveData.sectors) {
@@ -190,17 +179,18 @@ const getPaletteMaps = (archiveData) => {
190
179
  createPaletteMaps(archiveData, "level", levelPalette, paletteMap);
191
180
  createPaletteMaps(archiveData, "level", levelPalette, paletteMap);
192
181
  paletteMap.clear();
193
- const statePalette = {};
182
+ /* const statePalette: Record<string, Uint16Array> = {};
194
183
  createPaletteMaps(archiveData, "state", statePalette, paletteMap);
195
184
  createPaletteMaps(archiveData, "state", statePalette, paletteMap);
196
185
  paletteMap.clear();
197
- const modPalette = {};
186
+
187
+ const modPalette: Record<string, Uint16Array> = {};
198
188
  createPaletteMaps(archiveData, "mod", modPalette, paletteMap);
199
189
  createPaletteMaps(archiveData, "mod", modPalette, paletteMap);
200
- paletteMap.clear();
201
- const secondaryStatePalette = {};
202
- createPaletteMaps(archiveData, "secondaryState", secondaryStatePalette, paletteMap);
203
- createPaletteMaps(archiveData, "secondaryState", secondaryStatePalette, paletteMap);
190
+ paletteMap.clear(); */
191
+ const secondaryValuePalette = {};
192
+ createPaletteMaps(archiveData, "secondaryValue", secondaryValuePalette, paletteMap);
193
+ createPaletteMaps(archiveData, "secondaryValue", secondaryValuePalette, paletteMap);
204
194
  paletteMap.clear();
205
195
  const idPalette = {};
206
196
  createPaletteMaps(archiveData, "id", idPalette, paletteMap);
@@ -215,9 +205,9 @@ const getPaletteMaps = (archiveData) => {
215
205
  secondaryIdPalette,
216
206
  levelPalette,
217
207
  lightPalette,
218
- statePalette,
219
- secondaryStatePalette,
220
- modPalette,
208
+ statePalette: {},
209
+ secondaryValuePalette,
210
+ modPalette: {},
221
211
  };
222
212
  };
223
213
  function SectorToArchivedAreaSector(sector) {
@@ -225,19 +215,16 @@ function SectorToArchivedAreaSector(sector) {
225
215
  palettes.id = sector.palettes.id;
226
216
  if (sector.palettes.secondaryId)
227
217
  palettes.secondaryId = sector.palettes.secondaryId;
228
- if (sector.palettes.light)
229
- palettes.light = sector.palettes.light;
230
- if (sector.palettes.secondaryState)
231
- palettes.secondaryState = sector.palettes.secondaryState;
232
- if (sector.palettes.state)
233
- palettes.state = sector.palettes.state;
218
+ // if (sector.palettes.light) palettes.light = sector.palettes.light;
219
+ if (sector.palettes.secondaryValue)
220
+ palettes.secondaryValueState = sector.palettes.secondaryValue;
221
+ /* if (sector.palettes.state) palettes.state = sector.palettes.state;
234
222
  sector.palettes.stateMap = sector.palettes.stateMap;
235
- if (sector.palettes.mod)
236
- palettes.state = sector.palettes.mod;
223
+ if (sector.palettes.mod) palettes.state = sector.palettes.mod; */
237
224
  sector.palettes.modMap = sector.palettes.modMap;
238
225
  return {
239
- position: [sector.location[1], sector.location[2], sector.location[3]],
240
- sectorState: sector.sectorState,
226
+ position: sector.location,
227
+ sectorState: sector.flags,
241
228
  buffers: sector.buffers,
242
229
  palettes,
243
230
  sections: sector.sections,
@@ -250,11 +237,12 @@ export default function CreateArchiveArea(archiveData) {
250
237
  sectors.push(SectorToArchivedAreaSector(sector));
251
238
  }
252
239
  return {
253
- dimension: archiveData.dimension,
240
+ dimension: WorldRegister.dimensions.get(archiveData.dimension)?.id || "main",
254
241
  version: "",
255
242
  keys: {
256
243
  sectorState: sectorStateKeys,
257
- sectionState: archiveData.sectors[0].keys.sectionState,
244
+ sectionState: [],
245
+ // sectionState: archiveData.sectors[0].keys.sectionState,
258
246
  },
259
247
  maps: {
260
248
  sectorState: buildSectorState(archiveData),
@@ -285,24 +273,27 @@ export function CreateSectorFromArea(area, sector) {
285
273
  id[i] = area.maps.id[i];
286
274
  }
287
275
  palettes.id = id;
288
- palettes.light =
289
- typeof sector.palettes.light == "string"
290
- ? area.maps.lightPalette[sector.palettes.light]
291
- : sector.palettes.light;
276
+ /* palettes.light =
277
+ typeof sector.palettes.light == "string"
278
+ ? area.maps.lightPalette[sector.palettes.light]
279
+ : sector.palettes.light;
280
+ */
292
281
  palettes.level =
293
282
  typeof sector.palettes.level == "string"
294
283
  ? area.maps.levelPalette[sector.palettes.level]
295
284
  : sector.palettes.level;
296
- palettes.state =
297
- typeof sector.palettes.state == "string"
298
- ? area.maps.statePalette[sector.palettes.state]
299
- : sector.palettes.state;
285
+ /* palettes.state =
286
+ typeof sector.palettes.state == "string"
287
+ ? area.maps.statePalette[sector.palettes.state]
288
+ : sector.palettes.state!;
300
289
  palettes.stateMap = sector.palettes.stateMap;
290
+
301
291
  palettes.mod =
302
- typeof sector.palettes.mod == "string"
303
- ? area.maps.statePalette[sector.palettes.mod]
304
- : sector.palettes.mod;
292
+ typeof sector.palettes.mod == "string"
293
+ ? area.maps.statePalette[sector.palettes.mod]
294
+ : sector.palettes.mod!;
305
295
  palettes.modMap = sector.palettes.modMap;
296
+ */
306
297
  let secondaryId;
307
298
  if (typeof sector.palettes.secondaryId == "string") {
308
299
  secondaryId = area.maps.idPalette[sector.palettes.secondaryId];
@@ -314,10 +305,10 @@ export function CreateSectorFromArea(area, sector) {
314
305
  secondaryId[i] = area.maps.id[i];
315
306
  }
316
307
  palettes.secondaryId = secondaryId;
317
- palettes.secondaryState =
318
- typeof sector.palettes.secondaryState == "string"
319
- ? area.maps.secondaryStatePalette[sector.palettes.secondaryState]
320
- : sector.palettes.secondaryState;
308
+ palettes.secondaryValue =
309
+ typeof sector.palettes.secondaryValueState == "string"
310
+ ? area.maps.secondaryValuePalette[sector.palettes.secondaryValueState]
311
+ : sector.palettes.secondaryValueState;
321
312
  const sections = [];
322
313
  for (let i = 0; i < sector.sections.length; i++) {
323
314
  const section = sector.sections[i];
@@ -329,11 +320,15 @@ export function CreateSectorFromArea(area, sector) {
329
320
  }
330
321
  return {
331
322
  version: area.version,
332
- location: [area.dimension, ...sector.position],
333
- sectorState,
334
- keys: {
335
- sectionState: area.keys.sectionState,
336
- },
323
+ vloxVersion: area.version,
324
+ dimension: "",
325
+ location: [...sector.position],
326
+ flags: sectorState,
327
+ timestamps: {},
328
+ /* keys: {
329
+ sectionState: area.keys.sectionState,
330
+ }, */
331
+ duplicates: {},
337
332
  palettes,
338
333
  buffers: sector.buffers,
339
334
  sections,