@divinevoxel/vlox 0.0.74 → 0.0.76

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 (701) hide show
  1. package/Builder/RayProvider.d.ts +6 -0
  2. package/Builder/Tools/Box/BoxSelection.d.ts +12 -0
  3. package/Builder/Tools/Box/BoxSelection.js +27 -0
  4. package/Builder/Tools/Box/BoxTool.d.ts +31 -0
  5. package/Builder/Tools/Box/BoxTool.js +91 -0
  6. package/Builder/Tools/Box/BoxToolTemplate.d.ts +13 -0
  7. package/Builder/Tools/Box/BoxToolTemplate.js +23 -0
  8. package/Builder/Tools/Brush/BrushTool.d.ts +48 -0
  9. package/Builder/Tools/Brush/BrushTool.js +146 -0
  10. package/Builder/Tools/BuilderToolBase.d.ts +3 -0
  11. package/Builder/Tools/BuilderToolBase.js +3 -0
  12. package/Builder/Tools/Hand/HandTool.d.ts +22 -0
  13. package/Builder/Tools/Hand/HandTool.js +56 -0
  14. package/Builder/Tools/Path/PahtTool.d.ts +29 -0
  15. package/Builder/Tools/Path/PahtTool.js +117 -0
  16. package/Builder/Tools/Wand/WandTool.d.ts +28 -0
  17. package/Builder/Tools/Wand/WandTool.js +67 -0
  18. package/Builder/Tools/Wrench/WrenchTool.d.ts +47 -0
  19. package/Builder/Tools/Wrench/WrenchTool.js +175 -0
  20. package/Builder/VoxelBuildSpace.d.ts +61 -0
  21. package/Builder/VoxelBuildSpace.js +165 -0
  22. package/Builder/VoxelBuilder.types.d.ts +0 -0
  23. package/Builder/VoxelBuilder.types.js +1 -0
  24. package/Builder/World/InitTasks.d.ts +1 -0
  25. package/Builder/World/InitTasks.js +134 -0
  26. package/Builder/World/VoxelBuildSpaceWorld.d.ts +4 -0
  27. package/Builder/World/VoxelBuildSpaceWorld.js +10 -0
  28. package/Cache/Cache.types.d.ts +1 -1
  29. package/Contexts/Base/Remote/InitDataSync.js +3 -3
  30. package/Contexts/Base/Remote/InitWorldDataSync.d.ts +2 -1
  31. package/Contexts/Base/Remote/InitWorldDataSync.js +13 -2
  32. package/Contexts/Generator/DivineVoxelEngineGenerator.d.ts +9 -0
  33. package/Contexts/Generator/DivineVoxelEngineGenerator.js +14 -0
  34. package/Contexts/{Constructor/ConstrcutorTheads.d.ts → Generator/GeneratorThreads.d.ts} +2 -2
  35. package/Contexts/{Constructor/ConstrcutorTheads.js → Generator/GeneratorThreads.js} +2 -2
  36. package/Contexts/Generator/index.d.ts +1 -0
  37. package/Contexts/Generator/index.js +1 -0
  38. package/Contexts/Mesher/DivineVoxelEngineMesher.d.ts +9 -0
  39. package/Contexts/Mesher/DivineVoxelEngineMesher.js +14 -0
  40. package/Contexts/Mesher/MesherTheads.d.ts +7 -0
  41. package/Contexts/Mesher/MesherTheads.js +14 -0
  42. package/Contexts/Mesher/index.d.ts +1 -0
  43. package/Contexts/Mesher/index.js +1 -0
  44. package/Contexts/Nexus/NexusTheads.js +1 -1
  45. package/Contexts/Render/DVERenderThreads.d.ts +2 -1
  46. package/Contexts/Render/DVERenderThreads.js +4 -2
  47. package/Contexts/Render/DivineVoxelEngineRender.d.ts +14 -4
  48. package/Contexts/Render/DivineVoxelEngineRender.js +9 -4
  49. package/Contexts/World/DivineVoxelEngineWorld.d.ts +12 -3
  50. package/Contexts/World/WorldThreads.d.ts +2 -1
  51. package/Contexts/World/WorldThreads.js +4 -2
  52. package/Init/StartGenerator.d.ts +2 -0
  53. package/Init/StartGenerator.js +45 -0
  54. package/Init/StartMesher.d.ts +2 -0
  55. package/Init/StartMesher.js +41 -0
  56. package/Init/StartNexus.js +4 -2
  57. package/Init/StartRenderer.d.ts +4 -1
  58. package/Init/StartRenderer.js +59 -14
  59. package/Init/StartWorld.js +2 -1
  60. package/LICENSE.md +2 -1
  61. package/Math/CardinalNeighbors.d.ts +43 -3
  62. package/Math/CardinalNeighbors.js +54 -8
  63. package/Math/Indexing.d.ts +1 -0
  64. package/Math/Location.d.ts +10 -0
  65. package/Math/UtilFunctions.d.ts +4 -0
  66. package/Math/UtilFunctions.js +52 -0
  67. package/Math/index.d.ts +1 -10
  68. package/Math/index.js +1 -0
  69. package/Mesher/Functions/Base/MeshSectionBase.d.ts +5 -0
  70. package/Mesher/Functions/Base/MeshSectionBase.js +108 -0
  71. package/Mesher/Functions/CompactVoxelSectionMesh.js +4 -10
  72. package/Mesher/Functions/MeshSection.js +3 -107
  73. package/Mesher/Functions/MeshSectionSnapShot.d.ts +3 -0
  74. package/Mesher/Functions/MeshSectionSnapShot.js +14 -0
  75. package/Mesher/Functions/MeshTexture.js +8 -4
  76. package/Mesher/Functions/MeshVoxel.js +12 -4
  77. package/Mesher/Geomtry/CompactedSectionVoxelMesh.d.ts +5 -2
  78. package/Mesher/Geomtry/CompactedSectionVoxelMesh.js +12 -7
  79. package/Mesher/Geomtry/Functions/GetBounds.d.ts +2 -0
  80. package/Mesher/{Models/Common/BoundsFunctions.js → Geomtry/Functions/GetBounds.js} +13 -13
  81. package/Mesher/Geomtry/Geometry.types.d.ts +14 -0
  82. package/Mesher/Geomtry/Geometry.types.js +11 -0
  83. package/Mesher/Geomtry/Primitives/Quad.d.ts +7 -15
  84. package/Mesher/Geomtry/Primitives/Quad.js +36 -91
  85. package/Mesher/Geomtry/Primitives/QuadVertexData.d.ts +4 -14
  86. package/Mesher/Geomtry/Primitives/QuadVertexData.js +17 -57
  87. package/Mesher/Geomtry/Primitives/Triangle.d.ts +65 -0
  88. package/Mesher/Geomtry/Primitives/Triangle.js +148 -0
  89. package/Mesher/Geomtry/Primitives/TriangleVertexData.d.ts +58 -0
  90. package/Mesher/Geomtry/Primitives/TriangleVertexData.js +263 -0
  91. package/Mesher/Geomtry/Primitives/index.d.ts +2 -0
  92. package/Mesher/Geomtry/Primitives/index.js +2 -0
  93. package/Mesher/Geomtry/Shapes/Box.d.ts +20 -0
  94. package/Mesher/Geomtry/Shapes/Box.js +69 -0
  95. package/Mesher/Geomtry/Transform/TransformBox.d.ts +3 -0
  96. package/{Models/Shared/Transform.js → Mesher/Geomtry/Transform/TransformBox.js} +9 -124
  97. package/Mesher/Geomtry/Transform/TransformQuad.d.ts +3 -0
  98. package/Mesher/Geomtry/Transform/TransformQuad.js +113 -0
  99. package/Mesher/Geomtry/Transform/TransformTriangle.d.ts +3 -0
  100. package/Mesher/Geomtry/Transform/TransformTriangle.js +112 -0
  101. package/Mesher/Geomtry/VoxelGeometryBuilder.d.ts +3 -4
  102. package/Mesher/Geomtry/VoxelGeometryBuilder.js +128 -112
  103. package/Mesher/Geomtry/VoxelMeshBVHBuilder.d.ts +3 -3
  104. package/Mesher/Geomtry/VoxelMeshBVHBuilder.js +1 -1
  105. package/Mesher/Geomtry/VoxelMeshVertexStructCursor.d.ts +9 -3
  106. package/Mesher/Geomtry/VoxelMeshVertexStructCursor.js +26 -3
  107. package/Mesher/Geomtry/VoxelShaderData.d.ts +4 -1
  108. package/Mesher/Geomtry/VoxelShaderData.js +25 -10
  109. package/Mesher/InitMesher.d.ts +1 -1
  110. package/Mesher/InitMesher.js +6 -0
  111. package/Mesher/InitTask.js +17 -6
  112. package/Mesher/Models/Common/Calc/CalcConstants.d.ts +2 -6
  113. package/Mesher/Models/Common/Calc/CalcConstants.js +2 -76
  114. package/Mesher/Models/Common/Faces/CullRulledFace.d.ts +2 -0
  115. package/Mesher/Models/Common/Faces/CullRulledFace.js +60 -0
  116. package/Mesher/Models/Common/Faces/ShadeRulelessFace.d.ts +4 -0
  117. package/Mesher/Models/Common/Faces/ShadeRulelessFace.js +12 -0
  118. package/Mesher/Models/Common/Faces/ShadeRulledFace.d.ts +4 -0
  119. package/Mesher/Models/Common/Faces/ShadeRulledFace.js +58 -0
  120. package/Mesher/Models/Common/GetTexture.d.ts +6 -0
  121. package/Mesher/Models/Common/GetTexture.js +12 -0
  122. package/Mesher/Models/Nodes/Custom/Liquid/FlowGradient.js +1 -1
  123. package/Mesher/Models/Nodes/Custom/Liquid/LiquidGeomtryNode.d.ts +2 -3
  124. package/Mesher/Models/Nodes/Custom/Liquid/LiquidGeomtryNode.js +124 -48
  125. package/Mesher/Models/Nodes/Default/QuadVoxelGeometryNode.d.ts +13 -0
  126. package/Mesher/Models/Nodes/Default/QuadVoxelGeometryNode.js +55 -0
  127. package/Mesher/Models/Nodes/Default/TriangleVoxelGeometryNode.d.ts +13 -0
  128. package/Mesher/Models/Nodes/Default/TriangleVoxelGeometryNode.js +52 -0
  129. package/Mesher/Models/Nodes/GeometryNode.d.ts +2 -8
  130. package/Mesher/Models/Nodes/GeometryNode.js +1 -7
  131. package/Mesher/Models/Nodes/Types/GeomtryNode.types.d.ts +7 -0
  132. package/Mesher/Models/Nodes/Types/GeomtryNode.types.js +1 -0
  133. package/Mesher/Models/Nodes/Types/QuadVoxelGometryNodeTypes.d.ts +29 -0
  134. package/{Models/Input/QuadVoxelGometryInputs.js → Mesher/Models/Nodes/Types/QuadVoxelGometryNodeTypes.js} +4 -8
  135. package/Mesher/Models/Nodes/Types/TriangleVoxelGometryNodeTypes.d.ts +28 -0
  136. package/Mesher/Models/Nodes/Types/TriangleVoxelGometryNodeTypes.js +24 -0
  137. package/Mesher/Models/Nodes/VoxelGeometryConstructor.d.ts +4 -8
  138. package/Mesher/Models/Nodes/VoxelGeometryConstructor.js +16 -52
  139. package/Mesher/Models/Procedures/Default/ConsistentRotationTextureProcedure.d.ts +25 -0
  140. package/Mesher/Models/Procedures/Default/ConsistentRotationTextureProcedure.js +44 -0
  141. package/Mesher/Models/Procedures/Default/OutlinedTextureProcedure.d.ts +28 -0
  142. package/Mesher/Models/Procedures/Default/OutlinedTextureProcedure.js +162 -0
  143. package/Mesher/Models/Procedures/TextureProcedure.d.ts +16 -0
  144. package/Mesher/Models/Procedures/TextureProcedure.js +2 -0
  145. package/Mesher/Models/Procedures/TextureProcedureRegister.d.ts +6 -0
  146. package/Mesher/Models/Procedures/TextureProcedureRegister.js +16 -0
  147. package/Mesher/Models/VoxelConstructor.d.ts +1 -5
  148. package/Mesher/Models/VoxelConstructor.js +1 -11
  149. package/Mesher/Models/VoxelGeometryBuilderCacheSpace.js +2 -2
  150. package/Mesher/Models/VoxelModelBuilder.d.ts +0 -1
  151. package/Mesher/Models/VoxelModelBuilder.js +1 -2
  152. package/Mesher/Models/VoxelModelConstructorRegister.d.ts +8 -2
  153. package/Mesher/Models/VoxelModelConstructorRegister.js +6 -8
  154. package/Renderer/Classes/SectionMesh.d.ts +2 -3
  155. package/Renderer/Classes/SectionMesh.js +13 -10
  156. package/Renderer/Classes/SectorMesh.d.ts +5 -5
  157. package/Renderer/Classes/SectorMesh.js +17 -6
  158. package/Renderer/InitTasks.d.ts +1 -2
  159. package/Renderer/InitTasks.js +4 -10
  160. package/Renderer/MeshManager.d.ts +6 -1
  161. package/Renderer/MeshManager.js +11 -14
  162. package/Renderer/MeshRegister.d.ts +6 -4
  163. package/Renderer/MeshRegister.js +34 -43
  164. package/Settings/EngineSettings.js +3 -0
  165. package/Settings/EngineSettings.types.d.ts +7 -1
  166. package/Settings/EngineSettings.types.js +5 -1
  167. package/Stats/EngineStats.d.ts +19 -0
  168. package/Stats/EngineStats.js +27 -0
  169. package/Tasks/Paint/Common.d.ts +7 -0
  170. package/Tasks/Paint/Common.js +200 -0
  171. package/Tasks/Paint/Erase/EraseVoxel.d.ts +3 -0
  172. package/Tasks/Paint/Erase/EraseVoxel.js +31 -0
  173. package/Tasks/Paint/Erase/EraseVoxelPath.d.ts +4 -0
  174. package/Tasks/Paint/Erase/EraseVoxelPath.js +80 -0
  175. package/Tasks/Paint/Erase/EraseVoxelTemplate.d.ts +4 -0
  176. package/Tasks/Paint/Erase/EraseVoxelTemplate.js +34 -0
  177. package/Tasks/Paint/InitTasks.js +16 -0
  178. package/Tasks/Paint/Paint/PaintVoxel.d.ts +4 -0
  179. package/Tasks/Paint/Paint/PaintVoxel.js +29 -0
  180. package/Tasks/Paint/Paint/PaintVoxelPath.d.ts +4 -0
  181. package/Tasks/Paint/Paint/PaintVoxelPath.js +78 -0
  182. package/Tasks/Paint/Paint/PaintVoxelTemplate.d.ts +4 -0
  183. package/Tasks/Paint/Paint/PaintVoxelTemplate.js +36 -0
  184. package/Tasks/Propagation/Flow/FlowUpdate.js +1 -1
  185. package/Tasks/Propagation/Flow/WorldFlow.js +2 -2
  186. package/Tasks/Propagation/Illumanation/CommonFunctions.d.ts +6 -6
  187. package/Tasks/Propagation/Illumanation/CommonFunctions.js +6 -7
  188. package/Tasks/Propagation/Illumanation/RGBUpdate.js +9 -9
  189. package/Tasks/Propagation/Illumanation/SunUpdate.js +8 -7
  190. package/Tasks/Propagation/Illumanation/WorldSun.js +11 -9
  191. package/Tasks/Propagation/InitTasks.js +16 -28
  192. package/Tasks/Propagation/Power/PowerUpdate.js +10 -10
  193. package/Tasks/Tasks.types.d.ts +25 -9
  194. package/Tasks/TasksIds.d.ts +13 -20
  195. package/Tasks/TasksIds.js +13 -20
  196. package/Tasks/VoxelUpdateTask.d.ts +6 -5
  197. package/Tasks/VoxelUpdateTask.js +53 -37
  198. package/Tasks/WorldGeneration/InitTasks.d.ts +4 -1
  199. package/Tasks/WorldGeneration/InitTasks.js +6 -3
  200. package/Tasks/WorldGeneration/WorldGen.types.d.ts +2 -3
  201. package/Tasks/WorldGeneration/WorldGenBrush.js +6 -7
  202. package/Tasks/WorldGeneration/WorldGenRegister.d.ts +3 -1
  203. package/Tasks/WorldGeneration/WorldGenRegister.js +13 -3
  204. package/Tasks/WorldGeneration/WorldGeneration.d.ts +2 -2
  205. package/Tasks/WorldGeneration/WorldGeneration.js +22 -3
  206. package/Templates/Archive/ArchivedVoxelTemplate.d.ts +38 -0
  207. package/Templates/Archive/ArchivedVoxelTemplate.js +128 -0
  208. package/Templates/Archive/ArchivedVoxelTemplate.types.d.ts +45 -0
  209. package/Templates/Archive/ArchivedVoxelTemplate.types.js +1 -0
  210. package/Templates/Archive/Functions/CreateArchivedTemplate.d.ts +11 -0
  211. package/Templates/Archive/Functions/CreateArchivedTemplate.js +186 -0
  212. package/Templates/Archive/Functions/ExportArchiedTemplateJSON.d.ts +2 -0
  213. package/Templates/Archive/Functions/ExportArchiedTemplateJSON.js +44 -0
  214. package/Templates/Archive/Functions/ImportArchivedTemplateJSON.d.ts +2 -0
  215. package/Templates/Archive/Functions/ImportArchivedTemplateJSON.js +37 -0
  216. package/Templates/Cursor/TemplateCursor.d.ts +5 -3
  217. package/Templates/Cursor/TemplateCursor.js +11 -5
  218. package/Templates/Cursor/TemplateProxy.d.ts +11 -0
  219. package/Templates/Cursor/TemplateProxy.js +36 -0
  220. package/Templates/Cursor/TemplateVoxelCursor.d.ts +5 -7
  221. package/Templates/Cursor/TemplateVoxelCursor.js +7 -13
  222. package/Templates/Full/FullVoxelTemplate.d.ts +28 -0
  223. package/Templates/Full/FullVoxelTemplate.js +112 -0
  224. package/Templates/Full/FullVoxelTemplate.types.d.ts +5 -0
  225. package/Templates/Full/FullVoxelTemplate.types.js +1 -0
  226. package/Templates/Full/Functions/CreateFullTemplate.d.ts +3 -0
  227. package/Templates/Full/Functions/CreateFullTemplate.js +27 -0
  228. package/Templates/Functions/FlipTemplate.d.ts +2 -2
  229. package/Templates/Functions/FlipTemplate.js +1 -9
  230. package/Templates/Functions/RotateTemplate.d.ts +2 -2
  231. package/Templates/Functions/RotateTemplate.js +2 -10
  232. package/Templates/Functions/index.d.ts +1 -1
  233. package/Templates/Functions/index.js +1 -1
  234. package/Templates/Path/VoxelPath.d.ts +38 -0
  235. package/Templates/Path/VoxelPath.js +144 -0
  236. package/Templates/Path/VoxelPath.types.d.ts +11 -0
  237. package/Templates/Path/VoxelPath.types.js +1 -0
  238. package/Templates/Selection/VoxelBFSSelection.d.ts +23 -0
  239. package/Templates/Selection/VoxelBFSSelection.js +141 -0
  240. package/Templates/Selection/VoxelBoxSelection.d.ts +17 -0
  241. package/Templates/Selection/VoxelBoxSelection.js +116 -0
  242. package/Templates/Selection/VoxelPointSelection.d.ts +17 -0
  243. package/Templates/Selection/VoxelPointSelection.js +48 -0
  244. package/Templates/Selection/VoxelSelecton.d.ts +9 -0
  245. package/Templates/Selection/VoxelSelecton.js +1 -0
  246. package/Templates/Selection/VoxelSurfaceSelection.d.ts +30 -0
  247. package/Templates/Selection/VoxelSurfaceSelection.js +224 -0
  248. package/Templates/Selection/VoxelTemplateSelection.d.ts +13 -0
  249. package/Templates/Selection/VoxelTemplateSelection.js +36 -0
  250. package/Templates/Shapes/BasicVoxelShapeTemplate.d.ts +36 -0
  251. package/Templates/Shapes/BasicVoxelShapeTemplate.js +126 -0
  252. package/Templates/Shapes/BoxVoxelTemplate.d.ts +23 -0
  253. package/Templates/Shapes/BoxVoxelTemplate.js +83 -0
  254. package/Templates/Shapes/ConeVoxelTemplate.d.ts +23 -0
  255. package/Templates/Shapes/ConeVoxelTemplate.js +73 -0
  256. package/Templates/Shapes/CylinderVoxelTemplate.d.ts +23 -0
  257. package/Templates/Shapes/CylinderVoxelTemplate.js +73 -0
  258. package/Templates/Shapes/EllipsoidVoxelTemplate.d.ts +23 -0
  259. package/Templates/Shapes/EllipsoidVoxelTemplate.js +89 -0
  260. package/Templates/Shapes/OctahedronVoxelTemplate.d.ts +23 -0
  261. package/Templates/Shapes/OctahedronVoxelTemplate.js +73 -0
  262. package/Templates/Shapes/PyramidVoxelTemplate.d.ts +31 -0
  263. package/Templates/Shapes/PyramidVoxelTemplate.js +148 -0
  264. package/Templates/Shapes/SphereVoxelTemplate.d.ts +15 -0
  265. package/Templates/Shapes/SphereVoxelTemplate.js +59 -0
  266. package/Templates/Shapes/TorusVoxelTemplate.d.ts +23 -0
  267. package/Templates/Shapes/TorusVoxelTemplate.js +73 -0
  268. package/Templates/Shapes/VoxelShapeTemplate.types.d.ts +27 -0
  269. package/Templates/Shapes/VoxelShapeTemplate.types.js +6 -0
  270. package/Templates/VoxelTempateRegister.d.ts +6 -0
  271. package/Templates/VoxelTempateRegister.js +30 -0
  272. package/Templates/VoxelTemplates.types.d.ts +24 -26
  273. package/Templates/index.d.ts +1 -1
  274. package/Templates/index.js +1 -1
  275. package/Textures/Classes/CompiledTexture.d.ts +3 -0
  276. package/Textures/Classes/CompiledTexture.js +3 -0
  277. package/Textures/Classes/CompiledTextureAnimation.d.ts +1 -1
  278. package/Textures/Classes/CompiledTextureAnimation.js +8 -2
  279. package/Textures/Classes/TextureAnimationTexture.d.ts +1 -1
  280. package/Textures/Functions/BuildTextureData.d.ts +2 -1
  281. package/Textures/Functions/BuildTextureData.js +86 -17
  282. package/Textures/Texture.types.d.ts +5 -1
  283. package/Textures/TextureManager.d.ts +2 -1
  284. package/Textures/TextureManager.js +5 -2
  285. package/Tools/Brush/AdvancedBrushTool.d.ts +1 -5
  286. package/Tools/Brush/AdvancedBrushTool.js +2 -30
  287. package/Tools/Brush/Brush.d.ts +8 -2
  288. package/Tools/Brush/Brush.js +61 -36
  289. package/Tools/Tasks/TasksTool.d.ts +49 -20
  290. package/Tools/Tasks/TasksTool.js +87 -23
  291. package/Util/Binary/BinaryArrays.d.ts +2 -0
  292. package/Util/Binary/BinaryArrays.js +15 -0
  293. package/Util/Binary/BinaryFunctions.d.ts +3 -0
  294. package/Util/Binary/BinaryFunctions.js +18 -0
  295. package/Util/BinaryBuffer/BinaryBuffer.d.ts +30 -0
  296. package/Util/BinaryBuffer/BinaryBuffer.js +78 -0
  297. package/Util/BinaryBuffer/BinaryBuffer.types.d.ts +37 -0
  298. package/Util/BinaryBuffer/BinaryBuffer.types.js +28 -0
  299. package/Util/BinaryBuffer/Functions/BinaryBufferConvert.d.ts +5 -0
  300. package/Util/BinaryBuffer/Functions/BinaryBufferConvert.js +60 -0
  301. package/Util/BinaryBuffer/Functions/BinaryBufferJSON.d.ts +3 -0
  302. package/Util/BinaryBuffer/Functions/BinaryBufferJSON.js +64 -0
  303. package/Util/BinaryBuffer/Functions/BinaryBufferRead.d.ts +3 -0
  304. package/Util/BinaryBuffer/Functions/BinaryBufferRead.js +26 -0
  305. package/Util/BinaryBuffer/Functions/BinaryBufferToTypedArray.d.ts +2 -0
  306. package/Util/BinaryBuffer/Functions/BinaryBufferToTypedArray.js +43 -0
  307. package/Util/BinaryBuffer/index.d.ts +2 -0
  308. package/Util/BinaryBuffer/index.js +2 -0
  309. package/Util/LocationData.d.ts +3 -0
  310. package/Util/LocationData.js +16 -0
  311. package/Util/PriorityQueue.d.ts +18 -0
  312. package/Util/PriorityQueue.js +62 -0
  313. package/Util/TickInterval.d.ts +16 -0
  314. package/Util/TickInterval.js +49 -0
  315. package/Util/TypedEventTarget.d.ts +1 -0
  316. package/Util/TypedEventTarget.js +3 -0
  317. package/Util/Util.types.d.ts +4 -0
  318. package/Util/WorkItemProgress.d.ts +23 -0
  319. package/Util/WorkItemProgress.js +52 -0
  320. package/Voxels/Archive/VoxelArchive.types.d.ts +43 -0
  321. package/Voxels/Archive/VoxelArchive.types.js +6 -0
  322. package/Voxels/Archive/VoxelPaletteArchiveReader.d.ts +11 -0
  323. package/Voxels/Archive/VoxelPaletteArchiveReader.js +73 -0
  324. package/Voxels/Archive/VoxelPaletteArechive.d.ts +15 -0
  325. package/Voxels/Archive/VoxelPaletteArechive.js +81 -0
  326. package/Voxels/Cursor/DataCursor.interface.d.ts +1 -0
  327. package/Voxels/Cursor/VoxelCursor.d.ts +6 -7
  328. package/Voxels/Cursor/VoxelCursor.interface.d.ts +25 -24
  329. package/Voxels/Cursor/VoxelCursor.interface.js +93 -96
  330. package/Voxels/Cursor/VoxelCursor.js +22 -12
  331. package/Voxels/Cursor/VoxelLightData.d.ts +2 -0
  332. package/Voxels/Cursor/VoxelLightData.js +2 -0
  333. package/Voxels/Data/VoxelPalettesRegister.d.ts +11 -1
  334. package/Voxels/Data/VoxelPalettesRegister.js +17 -1
  335. package/Voxels/Data/VoxelPropertiesRegister.d.ts +4 -0
  336. package/Voxels/Data/VoxelPropertiesRegister.js +3 -0
  337. package/Voxels/Data/VoxelTag.types.d.ts +7 -1
  338. package/Voxels/Data/VoxelTag.types.js +3 -0
  339. package/Voxels/Data/VoxelTagsRegister.js +4 -1
  340. package/Voxels/Functions/BuildPaletteData.d.ts +6 -0
  341. package/Voxels/Functions/BuildPaletteData.js +87 -0
  342. package/Voxels/Functions/BuildStateData.d.ts +4 -6
  343. package/Voxels/Functions/BuildStateData.js +26 -80
  344. package/Voxels/Functions/{BuildTagAndPaletteData.d.ts → BuildTagData.d.ts} +2 -2
  345. package/Voxels/Functions/{BuildTagAndPaletteData.js → BuildTagData.js} +23 -2
  346. package/Voxels/Indexes/VoxelIndex.d.ts +1 -1
  347. package/Voxels/Indexes/VoxelIndex.js +5 -4
  348. package/Voxels/InitVoxelData.d.ts +1 -1
  349. package/Voxels/InitVoxelData.js +39 -41
  350. package/Voxels/Interaction/Functions/PickVoxel.d.ts +9 -0
  351. package/Voxels/Interaction/Functions/PickVoxel.js +95 -0
  352. package/Voxels/Interaction/Functions/PickVoxelWorld.d.ts +8 -0
  353. package/Voxels/Interaction/Functions/PickVoxelWorld.js +38 -0
  354. package/Voxels/Interaction/Placing/VoxelPlacingStrategy.d.ts +9 -0
  355. package/Voxels/Interaction/Placing/VoxelPlacingStrategy.js +58 -0
  356. package/Voxels/Interaction/Placing/VoxelPlacingStrategy.types.d.ts +15 -0
  357. package/Voxels/Interaction/Placing/VoxelPlacingStrategy.types.js +1 -0
  358. package/Voxels/Interaction/Placing/VoxelPlacingStrategyRegister.d.ts +7 -0
  359. package/Voxels/Interaction/Placing/VoxelPlacingStrategyRegister.js +13 -0
  360. package/Voxels/Interaction/VoxelPickResult.d.ts +51 -0
  361. package/Voxels/Interaction/VoxelPickResult.js +58 -0
  362. package/Voxels/Logic/Classes/Types/VoxelLogicPoweredType.d.ts +8 -0
  363. package/Voxels/Logic/Classes/Types/VoxelLogicPoweredType.js +13 -0
  364. package/Voxels/Logic/Classes/Types/VoxelLogicStateType.d.ts +9 -0
  365. package/Voxels/Logic/Classes/Types/VoxelLogicStateType.js +23 -0
  366. package/Voxels/Logic/Classes/VoxelLogic.d.ts +7 -4
  367. package/Voxels/Logic/Classes/VoxelLogic.js +25 -27
  368. package/Voxels/Logic/Classes/VoxelLogicType.d.ts +11 -1
  369. package/Voxels/Logic/Classes/VoxelLogicType.js +6 -0
  370. package/Voxels/Logic/VoxelLogic.types.d.ts +5 -3
  371. package/Voxels/Logic/VoxelLogicRegister.d.ts +4 -3
  372. package/Voxels/Logic/VoxelLogicRegister.js +12 -4
  373. package/Voxels/Models/CompiledVoxelModel.types.d.ts +46 -0
  374. package/Voxels/Models/CompiledVoxelModel.types.js +1 -0
  375. package/{Models → Voxels/Models}/Defaults/CubeVoxelGeometry.js +0 -30
  376. package/{Models → Voxels/Models}/Defaults/CubeVoxelModels.d.ts +2 -0
  377. package/{Models → Voxels/Models}/Defaults/CubeVoxelModels.js +187 -71
  378. package/{Models → Voxels/Models/Defaults}/Examples.d.ts +1 -1
  379. package/{Models → Voxels/Models/Defaults}/Examples.js +50 -147
  380. package/Voxels/Models/Defaults/FarmVoxelModels.d.ts +3 -0
  381. package/Voxels/Models/Defaults/FarmVoxelModels.js +349 -0
  382. package/{Models → Voxels/Models}/Defaults/LiquidVoxelModel.js +3 -1
  383. package/{Models → Voxels/Models}/Defaults/PanelVoxelGeometry.js +2 -92
  384. package/{Models → Voxels/Models}/Defaults/PanelVoxelModels.d.ts +1 -0
  385. package/{Models → Voxels/Models}/Defaults/PanelVoxelModels.js +52 -180
  386. package/{Models → Voxels/Models}/Defaults/StairVoxelModel.js +59 -149
  387. package/Voxels/Models/Indexing/AOOcclusionFaceIndex.d.ts +12 -0
  388. package/Voxels/Models/Indexing/AOOcclusionFaceIndex.js +28 -0
  389. package/Voxels/Models/Indexing/CulledOcclusionFaceIndex.d.ts +12 -0
  390. package/Voxels/Models/Indexing/CulledOcclusionFaceIndex.js +27 -0
  391. package/Voxels/Models/Rules/Classes/GeomtryInput.d.ts +13 -0
  392. package/Voxels/Models/Rules/Classes/GeomtryInput.js +64 -0
  393. package/Voxels/Models/Rules/Classes/OcclusionFace.d.ts +10 -0
  394. package/Voxels/Models/Rules/Classes/OcclusionFace.js +5 -0
  395. package/Voxels/Models/Rules/Classes/OcclusionFaceRegister.d.ts +18 -0
  396. package/Voxels/Models/Rules/Classes/OcclusionFaceRegister.js +33 -0
  397. package/Voxels/Models/Rules/Classes/OcclusionQuadFace.d.ts +14 -0
  398. package/Voxels/Models/Rules/Classes/OcclusionQuadFace.js +118 -0
  399. package/Voxels/Models/Rules/Classes/OcclusionTriangleFace.d.ts +14 -0
  400. package/Voxels/Models/Rules/Classes/OcclusionTriangleFace.js +114 -0
  401. package/Voxels/Models/Rules/Classes/VoxelRulesGeometry.d.ts +22 -0
  402. package/Voxels/Models/Rules/Classes/VoxelRulesGeometry.js +15 -0
  403. package/{Models → Voxels/Models}/Rules/Classes/VoxelRulesModel.d.ts +3 -2
  404. package/{Models → Voxels/Models}/Rules/Functions/BuildFinalInputs.d.ts +0 -2
  405. package/Voxels/Models/Rules/Functions/BuildFinalInputs.js +72 -0
  406. package/Voxels/Models/Rules/Functions/BuildRules.d.ts +7 -0
  407. package/Voxels/Models/Rules/Functions/BuildRules.js +217 -0
  408. package/Voxels/Models/Rules/Functions/Compile/CompileGeomtryNodes.d.ts +4 -0
  409. package/Voxels/Models/Rules/Functions/Compile/CompileGeomtryNodes.js +39 -0
  410. package/Voxels/Models/Rules/Functions/Compile/Nodes/CalcFunctions.d.ts +8 -0
  411. package/Voxels/Models/Rules/Functions/Compile/Nodes/CalcFunctions.js +106 -0
  412. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileBoxGeometryNode.d.ts +5 -0
  413. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileBoxGeometryNode.js +14 -0
  414. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileQuadGeometryNode.d.ts +6 -0
  415. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileQuadGeometryNode.js +92 -0
  416. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileTriangleGeometryNode.d.ts +6 -0
  417. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileTriangleGeometryNode.js +115 -0
  418. package/{Models → Voxels/Models}/Rules/VoxelModelRuleBuilderRegister.d.ts +1 -1
  419. package/{Models → Voxels/Models}/Rules/VoxelModelRuleBuilderRegister.js +27 -3
  420. package/{Models → Voxels/Models}/VoxelModel.types.d.ts +56 -45
  421. package/Voxels/Models/VoxelModel.types.js +1 -0
  422. package/Voxels/State/Schema/BinarySchema.d.ts +5 -3
  423. package/Voxels/State/Schema/BinarySchema.js +23 -8
  424. package/Voxels/State/Schema/BinarySchemaNode.d.ts +4 -3
  425. package/Voxels/State/Schema/BinarySchemaNode.js +9 -6
  426. package/Voxels/State/Schema/Conditions/SameVoxelConditions.js +2 -0
  427. package/Voxels/State/Schema/ShapeStateRelationsNode.d.ts +3 -3
  428. package/Voxels/State/Schema/ShapeStateRelationsNode.js +2 -2
  429. package/Voxels/State/Schema/StateSchema.d.ts +2 -2
  430. package/Voxels/State/Schema/StateSchema.js +5 -7
  431. package/Voxels/State/SchemaRegister.d.ts +8 -6
  432. package/Voxels/State/SchemaRegister.js +33 -21
  433. package/Voxels/State/State.types.d.ts +19 -23
  434. package/Voxels/Types/PaintVoxelData.d.ts +27 -0
  435. package/Voxels/Types/PaintVoxelData.js +159 -0
  436. package/Voxels/Types/Voxel.types.d.ts +12 -25
  437. package/Voxels/Types/Voxel.types.js +1 -23
  438. package/Voxels/Types/VoxelModelCompiledData.types.d.ts +6 -74
  439. package/Voxels/index.d.ts +1 -0
  440. package/Voxels/index.js +1 -0
  441. package/World/Archive/Classes/ArchiveClasses.d.ts +7 -30
  442. package/World/Archive/Classes/ArchiveClasses.js +8 -33
  443. package/World/Archive/Classes/ImportedSection.d.ts +4 -13
  444. package/World/Archive/Classes/ImportedSection.js +78 -216
  445. package/World/Archive/Classes/ImportedSector.d.ts +7 -9
  446. package/World/Archive/Classes/ImportedSector.js +18 -65
  447. package/World/Archive/Functions/Area/ArchiveArea.d.ts +8 -0
  448. package/World/Archive/Functions/Area/ArchiveArea.js +65 -0
  449. package/World/Archive/Functions/{ArchiveArea.d.ts → Area/ImportArea.d.ts} +1 -8
  450. package/World/Archive/Functions/Area/ImportArea.js +59 -0
  451. package/World/Archive/Functions/JSON/ExportArchivedAreaJSON.d.ts +2 -0
  452. package/World/Archive/Functions/JSON/ExportArchivedAreaJSON.js +100 -0
  453. package/World/Archive/Functions/JSON/ImportArchivedAreaJSON.d.ts +2 -0
  454. package/World/Archive/Functions/JSON/ImportArchivedAreaJSON.js +100 -0
  455. package/World/Archive/Functions/Sector/ArchiveSector.d.ts +7 -0
  456. package/World/Archive/Functions/Sector/ArchiveSector.js +209 -0
  457. package/World/Archive/Functions/Sector/CreateArchivedSection.d.ts +3 -0
  458. package/World/Archive/Functions/Sector/CreateArchivedSection.js +147 -0
  459. package/World/Archive/Functions/{ImportSector.d.ts → Sector/ImportSector.d.ts} +2 -2
  460. package/World/Archive/Functions/Sector/ImportSector.js +32 -0
  461. package/World/Archive/Functions/Sector/RemoveDuplicateSections.d.ts +2 -0
  462. package/World/Archive/Functions/Sector/RemoveDuplicateSections.js +137 -0
  463. package/World/Archive/Functions/Shared/BaseData.d.ts +2 -0
  464. package/World/Archive/Functions/Shared/BaseData.js +14 -0
  465. package/World/Archive/Functions/Shared/IntToString.d.ts +1 -0
  466. package/World/Archive/Functions/Shared/IntToString.js +13 -0
  467. package/World/Archive/Functions/{Shared.d.ts → Shared/LightSegments.d.ts} +2 -3
  468. package/World/Archive/Functions/{Shared.js → Shared/LightSegments.js} +2 -15
  469. package/World/Archive/Functions/Shared/index.d.ts +3 -0
  470. package/World/Archive/Functions/Shared/index.js +3 -0
  471. package/World/Archive/Functions/index.d.ts +3 -3
  472. package/World/Archive/Functions/index.js +3 -3
  473. package/World/Archive/InitTasks.js +21 -30
  474. package/World/Archive/Types/Archive.types.d.ts +45 -0
  475. package/World/Archive/Types/Archive.types.js +1 -0
  476. package/World/Archive/Types/ArchiveArea.types.d.ts +38 -0
  477. package/World/Archive/Types/ArchiveArea.types.js +1 -0
  478. package/World/Archive/Types/ArchiveJSON.types.d.ts +52 -0
  479. package/World/Archive/Types/ArchiveJSON.types.js +1 -0
  480. package/World/Archive/Types/ArchivedSector.types.d.ts +43 -0
  481. package/World/Archive/Types/ArchivedSector.types.js +1 -0
  482. package/World/Archive/Types/index.d.ts +4 -0
  483. package/World/Archive/Types/index.js +4 -0
  484. package/World/Archive/index.d.ts +1 -1
  485. package/World/Archive/index.js +1 -1
  486. package/World/Cursor/SectionCursor.d.ts +4 -3
  487. package/World/Cursor/SectionCursor.js +13 -11
  488. package/World/Cursor/SectorCursor.d.ts +4 -2
  489. package/World/Cursor/SectorCursor.js +11 -1
  490. package/World/Cursor/WorldCursor.d.ts +1 -0
  491. package/World/Cursor/WorldCursor.js +8 -5
  492. package/World/Cursor/WorldVoxelCursor.d.ts +1 -3
  493. package/World/Cursor/WorldVoxelCursor.js +6 -26
  494. package/World/InitTasks.js +52 -40
  495. package/World/Lock/Function/LockSectors.d.ts +2 -0
  496. package/World/Lock/Function/LockSectors.js +28 -0
  497. package/World/Lock/Function/UnLockSectors.d.ts +2 -0
  498. package/World/Lock/Function/UnLockSectors.js +28 -0
  499. package/World/Lock/WorldLock.d.ts +1 -2
  500. package/World/Lock/WorldLock.js +3 -1
  501. package/World/Section/Section.d.ts +16 -21
  502. package/World/Section/Section.js +67 -143
  503. package/World/Section/SectionState.d.ts +6 -2
  504. package/World/Section/SectionState.js +9 -4
  505. package/World/Sector/Sector.d.ts +22 -8
  506. package/World/Sector/Sector.js +86 -67
  507. package/World/Sector/SectorHeightMap.d.ts +1 -1
  508. package/World/Sector/SectorHeightMap.js +6 -6
  509. package/World/Sector/SectorState.d.ts +2 -1
  510. package/World/Sector/SectorState.js +1 -0
  511. package/World/SnapShot/SectionSnapShot.d.ts +19 -0
  512. package/World/SnapShot/SectionSnapShot.js +72 -0
  513. package/World/SnapShot/SectionSnapShotCursor.d.ts +23 -0
  514. package/World/SnapShot/SectionSnapShotCursor.js +107 -0
  515. package/World/SnapShot/SnapShots.d.ts +11 -0
  516. package/World/SnapShot/SnapShots.js +24 -0
  517. package/World/Types/WorldDataSyncIds.d.ts +2 -0
  518. package/World/Types/WorldDataSyncIds.js +2 -0
  519. package/World/WorldRegister.d.ts +19 -7
  520. package/World/WorldRegister.js +47 -23
  521. package/World/WorldSpaces.d.ts +20 -0
  522. package/World/WorldSpaces.js +33 -0
  523. package/WorldSimulation/Dimensions/DimensionSegment.d.ts +38 -0
  524. package/WorldSimulation/Dimensions/DimensionSegment.js +120 -0
  525. package/WorldSimulation/Dimensions/DimensionSimulation.d.ts +26 -0
  526. package/WorldSimulation/Dimensions/DimensionSimulation.js +95 -0
  527. package/WorldSimulation/{Internal/Classes → Dimensions}/Generator.d.ts +5 -9
  528. package/WorldSimulation/{Internal/Classes → Dimensions}/Generator.js +10 -21
  529. package/WorldSimulation/{Internal/Classes → Dimensions}/SectorState.d.ts +4 -0
  530. package/WorldSimulation/Dimensions/SectorState.js +56 -0
  531. package/WorldSimulation/Dimensions/SimulationSector.d.ts +30 -0
  532. package/WorldSimulation/Dimensions/SimulationSector.js +214 -0
  533. package/WorldSimulation/Internal/WorldSimulationDimensions.d.ts +1 -1
  534. package/WorldSimulation/Internal/WorldSimulationDimensions.js +4 -3
  535. package/WorldSimulation/Internal/WorldSimulationTasks.d.ts +14 -9
  536. package/WorldSimulation/Internal/WorldSimulationTasks.js +132 -61
  537. package/WorldSimulation/Internal/runActiveSectorUpdate.d.ts +1 -0
  538. package/WorldSimulation/Internal/runActiveSectorUpdate.js +106 -0
  539. package/WorldSimulation/Procedures/InitalLoad.d.ts +1 -1
  540. package/WorldSimulation/Procedures/InitalLoad.js +6 -4
  541. package/WorldSimulation/Tasks/SimulationTaskBase.d.ts +19 -0
  542. package/WorldSimulation/Tasks/SimulationTaskBase.js +50 -0
  543. package/WorldSimulation/Tasks/TaskRegister.d.ts +7 -0
  544. package/WorldSimulation/{Internal → Tasks}/TaskRegister.js +3 -3
  545. package/WorldSimulation/Tasks/TaskSegment.d.ts +20 -0
  546. package/WorldSimulation/Tasks/TaskSegment.js +83 -0
  547. package/WorldSimulation/Tick/TickQueue.d.ts +9 -0
  548. package/WorldSimulation/Tick/TickQueue.js +31 -0
  549. package/WorldSimulation/Tools/SimulationBrush.d.ts +25 -0
  550. package/WorldSimulation/Tools/SimulationBrush.js +203 -0
  551. package/WorldSimulation/Voxels/Behaviors/Types/CropVoxelBehavior.d.ts +1 -0
  552. package/WorldSimulation/Voxels/Behaviors/Types/CropVoxelBehavior.js +23 -0
  553. package/WorldSimulation/Voxels/Behaviors/Types/DefaultVoxelBehavior.d.ts +1 -0
  554. package/WorldSimulation/Voxels/Behaviors/Types/DefaultVoxelBehavior.js +10 -0
  555. package/WorldSimulation/Voxels/Behaviors/Types/FarmlandVoxelBehavior.d.ts +1 -0
  556. package/WorldSimulation/Voxels/Behaviors/Types/FarmlandVoxelBehavior.js +73 -0
  557. package/WorldSimulation/Voxels/Behaviors/Types/LiquidVoxelBehavior.d.ts +1 -0
  558. package/WorldSimulation/Voxels/Behaviors/Types/LiquidVoxelBehavior.js +21 -0
  559. package/WorldSimulation/Voxels/Behaviors/Types/index.d.ts +4 -0
  560. package/WorldSimulation/Voxels/Behaviors/Types/index.js +4 -0
  561. package/WorldSimulation/Voxels/Behaviors/VoxelBehaviors.d.ts +18 -0
  562. package/WorldSimulation/Voxels/Behaviors/VoxelBehaviors.js +30 -0
  563. package/WorldSimulation/Voxels/Behaviors/VoxelBehaviorsRegister.d.ts +6 -0
  564. package/WorldSimulation/Voxels/Behaviors/VoxelBehaviorsRegister.js +25 -0
  565. package/WorldSimulation/Voxels/Behaviors/VoxelUpdate.d.ts +10 -0
  566. package/WorldSimulation/Voxels/Behaviors/VoxelUpdate.js +1 -0
  567. package/WorldSimulation/Voxels/Behaviors/index.d.ts +4 -0
  568. package/WorldSimulation/Voxels/Behaviors/index.js +4 -0
  569. package/WorldSimulation/Voxels/Ticks/Types/LiquidVoxelUpdate.d.ts +1 -0
  570. package/WorldSimulation/Voxels/Ticks/Types/LiquidVoxelUpdate.js +163 -0
  571. package/WorldSimulation/Voxels/Ticks/Types/index.d.ts +1 -0
  572. package/WorldSimulation/Voxels/Ticks/Types/index.js +1 -0
  573. package/WorldSimulation/Voxels/Ticks/VoxelTickUpdate.d.ts +8 -0
  574. package/WorldSimulation/Voxels/Ticks/VoxelTickUpdate.js +14 -0
  575. package/WorldSimulation/Voxels/Ticks/VoxelTickUpdateRegister.d.ts +6 -0
  576. package/WorldSimulation/Voxels/Ticks/VoxelTickUpdateRegister.js +13 -0
  577. package/WorldSimulation/Voxels/Ticks/VoxelTickUpdateType.d.ts +12 -0
  578. package/WorldSimulation/Voxels/Ticks/VoxelTickUpdateType.js +10 -0
  579. package/WorldSimulation/Voxels/Ticks/index.d.ts +4 -0
  580. package/WorldSimulation/Voxels/Ticks/index.js +4 -0
  581. package/WorldSimulation/WorldSimulation.d.ts +5 -4
  582. package/WorldSimulation/WorldSimulation.js +31 -35
  583. package/package.json +2 -2
  584. package/Contexts/Constructor/DivineVoxelEngineConstructor.d.ts +0 -10
  585. package/Contexts/Constructor/DivineVoxelEngineConstructor.js +0 -14
  586. package/Contexts/Constructor/index.d.ts +0 -1
  587. package/Contexts/Constructor/index.js +0 -1
  588. package/Init/StartConstructor.d.ts +0 -2
  589. package/Init/StartConstructor.js +0 -59
  590. package/Mesher/Models/Common/BoundsFunctions.d.ts +0 -2
  591. package/Mesher/Models/Common/BoxGeometryNode.d.ts +0 -10
  592. package/Mesher/Models/Common/BoxGeometryNode.js +0 -80
  593. package/Mesher/Models/Common/QuadGeometryNode.d.ts +0 -11
  594. package/Mesher/Models/Common/QuadGeometryNode.js +0 -51
  595. package/Mesher/Models/Nodes/Ruled/BoxVoxelGeometryNode.d.ts +0 -24
  596. package/Mesher/Models/Nodes/Ruled/BoxVoxelGeometryNode.js +0 -173
  597. package/Mesher/Models/Nodes/Ruled/QuadVoxelGeometryNode.d.ts +0 -19
  598. package/Mesher/Models/Nodes/Ruled/QuadVoxelGeometryNode.js +0 -157
  599. package/Mesher/Models/Nodes/Ruleless/RulelessBoxVoxelGeometryNode.d.ts +0 -22
  600. package/Mesher/Models/Nodes/Ruleless/RulelessBoxVoxelGeometryNode.js +0 -75
  601. package/Mesher/Models/Nodes/Ruleless/RulelessQuadVoxelGeometryNode.d.ts +0 -18
  602. package/Mesher/Models/Nodes/Ruleless/RulelessQuadVoxelGeometryNode.js +0 -77
  603. package/Mesher/Models/Protocols/OutlinedVoxelTool.d.ts +0 -6
  604. package/Mesher/Models/Protocols/OutlinedVoxelTool.js +0 -233
  605. package/Models/Indexing/VoxelAOResultsIndex.d.ts +0 -12
  606. package/Models/Indexing/VoxelAOResultsIndex.js +0 -26
  607. package/Models/Indexing/VoxelFaceCullResultsIndex.d.ts +0 -12
  608. package/Models/Indexing/VoxelFaceCullResultsIndex.js +0 -26
  609. package/Models/Indexing/VoxelFaceTransparentResultsIndex.d.ts +0 -11
  610. package/Models/Indexing/VoxelFaceTransparentResultsIndex.js +0 -15
  611. package/Models/Input/BoxVoxelGometryInputs.d.ts +0 -25
  612. package/Models/Input/BoxVoxelGometryInputs.js +0 -36
  613. package/Models/Input/QuadVoxelGometryInputs.d.ts +0 -24
  614. package/Models/Rules/Classes/OcclusionFace.d.ts +0 -65
  615. package/Models/Rules/Classes/OcclusionFace.js +0 -492
  616. package/Models/Rules/Classes/VoxelRulesGeometry.d.ts +0 -15
  617. package/Models/Rules/Classes/VoxelRulesGeometry.js +0 -29
  618. package/Models/Rules/Functions/BuildFinalInputs.js +0 -93
  619. package/Models/Rules/Functions/BuildGeomtryInputs.d.ts +0 -6
  620. package/Models/Rules/Functions/BuildGeomtryInputs.js +0 -251
  621. package/Models/Rules/Functions/BuildRules.d.ts +0 -8
  622. package/Models/Rules/Functions/BuildRules.js +0 -187
  623. package/Models/Rules/Functions/GetOcclusionFaces.d.ts +0 -4
  624. package/Models/Rules/Functions/GetOcclusionFaces.js +0 -112
  625. package/Models/Shared/Transform.d.ts +0 -4
  626. package/Tasks/Logic/InitTasks.js +0 -10
  627. package/Tasks/Logic/VoxelLogicUpdate.d.ts +0 -3
  628. package/Tasks/Logic/VoxelLogicUpdate.js +0 -71
  629. package/Tasks/Propagation/Explosion/ExplosionManager.d.ts +0 -4
  630. package/Tasks/Propagation/Explosion/ExplosionManager.js +0 -116
  631. package/Tasks/Update/Common.d.ts +0 -3
  632. package/Tasks/Update/Common.js +0 -41
  633. package/Tasks/Update/EreaseUpdate.d.ts +0 -3
  634. package/Tasks/Update/EreaseUpdate.js +0 -66
  635. package/Tasks/Update/InitTasks.d.ts +0 -5
  636. package/Tasks/Update/InitTasks.js +0 -25
  637. package/Tasks/Update/PaintUpdate.d.ts +0 -3
  638. package/Tasks/Update/PaintUpdate.js +0 -89
  639. package/Tasks/Update/VoxelUpdate.d.ts +0 -3
  640. package/Tasks/Update/VoxelUpdate.js +0 -35
  641. package/Templates/FullVoxelTemplate.d.ts +0 -14
  642. package/Templates/FullVoxelTemplate.js +0 -61
  643. package/Templates/Functions/CreateTemplate.d.ts +0 -3
  644. package/Templates/Functions/CreateTemplate.js +0 -134
  645. package/Templates/VoxelTemplate.d.ts +0 -34
  646. package/Templates/VoxelTemplate.js +0 -135
  647. package/Util/Binary/BinaryBuffer.d.ts +0 -35
  648. package/Util/Binary/BinaryBuffer.js +0 -136
  649. package/Util/Binary/Palettes.d.ts +0 -5
  650. package/Util/Binary/Palettes.js +0 -46
  651. package/Util/LocationVisitedMap.d.ts +0 -9
  652. package/Util/LocationVisitedMap.js +0 -18
  653. package/Util/VisistedMap.d.ts +0 -10
  654. package/Util/VisistedMap.js +0 -29
  655. package/Voxels/Data/VoxelTagStates.d.ts +0 -22
  656. package/Voxels/Data/VoxelTagStates.js +0 -47
  657. package/Voxels/Logic/Classes/Default/Types/VoxelPoweredLogicType.d.ts +0 -5
  658. package/Voxels/Logic/Classes/Default/Types/VoxelPoweredLogicType.js +0 -6
  659. package/World/Archive/Archive.types.d.ts +0 -182
  660. package/World/Archive/Functions/ArchiveArea.js +0 -341
  661. package/World/Archive/Functions/ArchiveSector.d.ts +0 -7
  662. package/World/Archive/Functions/ArchiveSector.js +0 -431
  663. package/World/Archive/Functions/CreateArchivedSection.d.ts +0 -3
  664. package/World/Archive/Functions/CreateArchivedSection.js +0 -207
  665. package/World/Archive/Functions/ImportSector.js +0 -57
  666. package/World/Archive/Functions/RemoveDuplicates.d.ts +0 -3
  667. package/World/Archive/Functions/RemoveDuplicates.js +0 -92
  668. package/WorldSimulation/Internal/Classes/DimensionSegment.d.ts +0 -37
  669. package/WorldSimulation/Internal/Classes/DimensionSegment.js +0 -67
  670. package/WorldSimulation/Internal/Classes/Queues/BuildQueue.d.ts +0 -5
  671. package/WorldSimulation/Internal/Classes/Queues/BuildQueue.js +0 -6
  672. package/WorldSimulation/Internal/Classes/Queues/LogiccQueue.d.ts +0 -5
  673. package/WorldSimulation/Internal/Classes/Queues/LogiccQueue.js +0 -6
  674. package/WorldSimulation/Internal/Classes/SectorState.js +0 -20
  675. package/WorldSimulation/Internal/Classes/SectorVisistedMap.d.ts +0 -9
  676. package/WorldSimulation/Internal/Classes/SectorVisistedMap.js +0 -24
  677. package/WorldSimulation/Internal/Classes/TickQueue.d.ts +0 -12
  678. package/WorldSimulation/Internal/Classes/TickQueue.js +0 -58
  679. package/WorldSimulation/Internal/Classes/WorldSimulationTaskBase.d.ts +0 -15
  680. package/WorldSimulation/Internal/Classes/WorldSimulationTaskBase.js +0 -62
  681. package/WorldSimulation/Internal/Functions/cullSectors.d.ts +0 -2
  682. package/WorldSimulation/Internal/Functions/cullSectors.js +0 -111
  683. package/WorldSimulation/Internal/Functions/getSectorState.d.ts +0 -4
  684. package/WorldSimulation/Internal/Functions/getSectorState.js +0 -39
  685. package/WorldSimulation/Internal/Functions/runTickUpdate.d.ts +0 -2
  686. package/WorldSimulation/Internal/Functions/runTickUpdate.js +0 -80
  687. package/WorldSimulation/Internal/Functions/runWorldUpdate.d.ts +0 -2
  688. package/WorldSimulation/Internal/Functions/runWorldUpdate.js +0 -69
  689. package/WorldSimulation/Internal/TaskRegister.d.ts +0 -7
  690. /package/{Models/VoxelModel.types.js → Builder/RayProvider.js} +0 -0
  691. /package/{World/Archive/Archive.types.js → Math/Location.js} +0 -0
  692. /package/Tasks/{Logic → Paint}/InitTasks.d.ts +0 -0
  693. /package/Util/{Binary/BinaryTree.d.ts → FlatBinaryTreeIndex.d.ts} +0 -0
  694. /package/Util/{Binary/BinaryTree.js → FlatBinaryTreeIndex.js} +0 -0
  695. /package/{Models → Voxels/Models}/Defaults/CubeVoxelGeometry.d.ts +0 -0
  696. /package/{Models → Voxels/Models}/Defaults/LiquidVoxelModel.d.ts +0 -0
  697. /package/{Models → Voxels/Models}/Defaults/PanelVoxelGeometry.d.ts +0 -0
  698. /package/{Models → Voxels/Models}/Defaults/StairVoxelModel.d.ts +0 -0
  699. /package/{Models → Voxels/Models}/Indexing/VoxelRelativeCubeIndex.d.ts +0 -0
  700. /package/{Models → Voxels/Models}/Indexing/VoxelRelativeCubeIndex.js +0 -0
  701. /package/{Models → Voxels/Models}/Rules/Classes/VoxelRulesModel.js +0 -0
@@ -1,5 +1,6 @@
1
- import { Thread } from "@amodx/threads/";
1
+ import { Thread, Threads } from "@amodx/threads/";
2
2
  import { TasksIds } from "../../Tasks/TasksIds.js";
3
+ import { setLocationData } from "../../Util/LocationData";
3
4
  class TaskQueue {
4
5
  _task;
5
6
  _queue = [];
@@ -28,6 +29,36 @@ class TaskQueue {
28
29
  });
29
30
  }
30
31
  }
32
+ export class LocationTaskToolTask {
33
+ id;
34
+ _count = 0;
35
+ _threads;
36
+ constructor(id, threads) {
37
+ this.id = id;
38
+ if (threads instanceof Thread) {
39
+ this._threads = [threads];
40
+ }
41
+ else {
42
+ this._threads = [...threads.getThreads()];
43
+ }
44
+ }
45
+ run(location, transfer, onDone, thread = this._threads[this._count]) {
46
+ const view = Threads.createBinaryTask(16);
47
+ setLocationData(view, location);
48
+ thread.runBinaryTask(this.id, view, onDone);
49
+ this._count++;
50
+ if (this._count >= this._threads.length)
51
+ this._count = 0;
52
+ }
53
+ runAsync(location) {
54
+ return new Promise((resolve) => {
55
+ this.run(location, null, resolve);
56
+ });
57
+ }
58
+ createQueue() {
59
+ return new TaskQueue(this);
60
+ }
61
+ }
31
62
  export class TaskToolTask {
32
63
  id;
33
64
  _count = 0;
@@ -59,46 +90,79 @@ export class TaskToolTask {
59
90
  }
60
91
  class VoxelTasks {
61
92
  tool;
62
- update;
63
93
  paint;
64
- erease;
65
- logic;
94
+ paintTemplate;
95
+ paintPath;
96
+ erase;
97
+ eraseTemplate;
98
+ erasePath;
66
99
  constructor(tool) {
67
100
  this.tool = tool;
68
- this.update = new TaskToolTask(TasksIds.VoxelUpdate, tool.threads);
69
- this.paint = new TaskToolTask(TasksIds.VoxelPaint, tool.threads);
70
- this.erease = new TaskToolTask(TasksIds.VoxelErease, tool.threads);
71
- this.logic = new TaskToolTask(TasksIds.LogicUpdate, tool.threads);
101
+ this.paint = new TaskToolTask(TasksIds.PaintVoxel, tool.generators);
102
+ this.paintTemplate = new TaskToolTask(TasksIds.PaintVoxelTemplate, tool.generators);
103
+ this.paintPath = new TaskToolTask(TasksIds.PaintVoxelPath, tool.generators);
104
+ this.erase = new TaskToolTask(TasksIds.EraseVoxel, tool.generators);
105
+ this.eraseTemplate = new TaskToolTask(TasksIds.EraseVoxelTemplate, tool.generators);
106
+ this.erasePath = new TaskToolTask(TasksIds.EraseVoxelPath, tool.generators);
72
107
  }
73
108
  }
74
109
  class BuildTask {
75
110
  tool;
111
+ sectionSnapShot;
76
112
  section;
77
113
  sector;
78
114
  constructor(tool) {
79
115
  this.tool = tool;
80
- this.section = new TaskToolTask(TasksIds.BuildSection, tool.threads);
81
- this.sector = new TaskToolTask(TasksIds.BuildSector, tool.threads);
116
+ this.section = new LocationTaskToolTask(TasksIds.BuildSection, tool.meshers);
117
+ this.sectionSnapShot = new TaskToolTask(TasksIds.BuildSectionSnapShot, tool.meshers);
118
+ this.sector = new LocationTaskToolTask(TasksIds.BuildSector, tool.meshers);
82
119
  }
83
120
  }
84
- export class TaskTool {
85
- threads;
86
- voxel;
87
- build;
88
- explosion;
89
- anaylzer;
121
+ class SimulationTasks {
122
+ tool;
123
+ logic;
124
+ propagation;
125
+ constructor(tool) {
126
+ this.tool = tool;
127
+ }
128
+ }
129
+ class GenerationTasks {
130
+ tool;
90
131
  propagation;
91
132
  generate;
92
133
  decorate;
93
134
  worldSun;
94
- constructor(threads) {
95
- this.threads = threads;
135
+ constructor(tool) {
136
+ this.tool = tool;
137
+ this.propagation = new LocationTaskToolTask(TasksIds.WorldPropagation, tool.generators);
138
+ this.generate = new LocationTaskToolTask(TasksIds.Generate, tool.generators);
139
+ this.decorate = new LocationTaskToolTask(TasksIds.Decorate, tool.generators);
140
+ this.worldSun = new LocationTaskToolTask(TasksIds.WorldSun, tool.generators);
141
+ }
142
+ }
143
+ export class TaskTool {
144
+ meshers;
145
+ generators;
146
+ voxel;
147
+ build;
148
+ generation;
149
+ simulation;
150
+ constructor(meshers, generators) {
151
+ this.meshers = meshers;
152
+ this.generators = generators;
96
153
  this.voxel = new VoxelTasks(this);
97
154
  this.build = new BuildTask(this);
98
- this.explosion = new TaskToolTask(TasksIds.Explosion, threads);
99
- this.propagation = new TaskToolTask(TasksIds.Propagation, threads);
100
- this.generate = new TaskToolTask(TasksIds.Generate, threads);
101
- this.decorate = new TaskToolTask(TasksIds.Decorate, threads);
102
- this.worldSun = new TaskToolTask(TasksIds.WorldSun, threads);
155
+ this.generation = new GenerationTasks(this);
156
+ this.simulation = new SimulationTasks(this);
157
+ }
158
+ getMesher() {
159
+ if (this.meshers instanceof Thread)
160
+ return this.meshers;
161
+ return this.meshers.nextThread();
162
+ }
163
+ getGenerator() {
164
+ if (this.generators instanceof Thread)
165
+ return this.generators;
166
+ return this.generators.nextThread();
103
167
  }
104
168
  }
@@ -1,5 +1,7 @@
1
1
  export declare function getBitArrayIndex(data: Uint8Array, arrayIndex: number): number;
2
2
  export declare function setBitArrayIndex(data: Uint8Array, arrayIndex: number, value: number): void;
3
+ export declare function getBitAtomicArrayIndex(data: Uint8Array, arrayIndex: number): number;
4
+ export declare function setBitAtomicArrayIndex(data: Uint8Array, arrayIndex: number, value: number): void;
3
5
  export declare function getNibbleArrayIndex(data: Uint8Array, arrayIndex: number): number;
4
6
  export declare function setNibbleArrayIndex(data: Uint8Array, arrayIndex: number, value: number): void;
5
7
  export declare function getHalfNibbleArrayIndex(data: Uint8Array, arrayIndex: number): number;
@@ -9,6 +9,21 @@ export function setBitArrayIndex(data, arrayIndex, value) {
9
9
  const bitPosition = arrayIndex % 8;
10
10
  data[arrayByteIndex] = setBitValue(data[arrayByteIndex], bitPosition, value & 1, 1);
11
11
  }
12
+ export function getBitAtomicArrayIndex(data, arrayIndex) {
13
+ const arrayByteIndex = Math.floor(arrayIndex / 8);
14
+ const bitPosition = arrayIndex % 8;
15
+ return getBitValue(Atomics.load(data, arrayByteIndex), bitPosition, 1);
16
+ }
17
+ export function setBitAtomicArrayIndex(data, arrayIndex, value) {
18
+ const arrayByteIndex = Math.floor(arrayIndex / 8);
19
+ const bitPosition = arrayIndex % 8;
20
+ // Load current byte atomically
21
+ let byte = Atomics.load(data, arrayByteIndex);
22
+ // Modify the bit
23
+ byte = setBitValue(byte, bitPosition, value & 1, 1);
24
+ // Store it back atomically
25
+ Atomics.store(data, arrayByteIndex, byte);
26
+ }
12
27
  export function getNibbleArrayIndex(data, arrayIndex) {
13
28
  return getBitValue(data[(arrayIndex / 2) >> 0], arrayIndex % 2 === 0 ? 4 : 0, 4);
14
29
  }
@@ -1,3 +1,6 @@
1
1
  export declare function getBitValue(data: number, bitIndex: number, bitSize: number): number;
2
2
  export declare function setBitValue(data: number, bitIndex: number, value: number, bitSize: number): number;
3
3
  export declare function forceMultipleOf2(n: number): number;
4
+ export declare function forceMultipleOf4(n: number): number;
5
+ export declare function bitsNeeded(n: number): number;
6
+ export declare function nextPowerOf2(n: number): number;
@@ -9,3 +9,21 @@ export function setBitValue(data, bitIndex, value, bitSize) {
9
9
  export function forceMultipleOf2(n) {
10
10
  return n % 2 === 0 ? n : n + 1;
11
11
  }
12
+ export function forceMultipleOf4(n) {
13
+ return n % 4 === 0 ? n : n + (4 - (n % 4));
14
+ }
15
+ export function bitsNeeded(n) {
16
+ if (n < 0)
17
+ throw new Error("Input must be a non-negative integer.");
18
+ let bits = 0;
19
+ while (n > 0) {
20
+ bits++;
21
+ n >>= 1;
22
+ }
23
+ return bits;
24
+ }
25
+ export function nextPowerOf2(n) {
26
+ if (n <= 1)
27
+ return 1;
28
+ return 2 ** Math.ceil(Math.log2(n));
29
+ }
@@ -0,0 +1,30 @@
1
+ import { BinaryBufferConstants, BinaryBufferData, BinaryBufferFormat } from "./BinaryBuffer.types";
2
+ import { ConvertBinaryBuffer, DetermineSubByteArrayForBinaryBuffer, GetBinaryBufferIndexLength, GetConvertedBinaryBufferSize } from "./Functions/BinaryBufferConvert";
3
+ import { BinaryBufferFromJSON, BinaryBufferToJSON } from "./Functions/BinaryBufferJSON";
4
+ import { ReadBufferAtIndex, SetBufferAtIndex } from "./Functions/BinaryBufferRead";
5
+ import BinaryBufferToTypedArray from "./Functions/BinaryBufferToTypedArray";
6
+ export interface BinaryBuffer extends BinaryBufferData {
7
+ }
8
+ export declare class BinaryBuffer {
9
+ static Constants: typeof BinaryBufferConstants;
10
+ static Compare(buffer1: BinaryBufferData, buffer2: BinaryBufferData): boolean;
11
+ static ToJSON: typeof BinaryBufferToJSON;
12
+ static FromJSON: typeof BinaryBufferFromJSON;
13
+ static ToTypedArray: typeof BinaryBufferToTypedArray;
14
+ static ReadBufferAtIndex: typeof ReadBufferAtIndex;
15
+ static SetBufferAtIndex: typeof SetBufferAtIndex;
16
+ static DetermineSubByteArray: typeof DetermineSubByteArrayForBinaryBuffer;
17
+ static GetConvertedBufferSize: typeof GetConvertedBinaryBufferSize;
18
+ static GetIndexLength: typeof GetBinaryBufferIndexLength;
19
+ static Convert: typeof ConvertBinaryBuffer;
20
+ static Create(data: Partial<BinaryBufferData>): BinaryBufferData;
21
+ bufferView: Uint8Array | Uint16Array;
22
+ constructor(data: BinaryBufferData);
23
+ isValue: boolean;
24
+ getValue(index: number): number;
25
+ toJSON(): {
26
+ buffer: number | ArrayBuffer | SharedArrayBuffer;
27
+ length: number;
28
+ type: BinaryBufferFormat;
29
+ };
30
+ }
@@ -0,0 +1,78 @@
1
+ import { BinaryBufferConstants, BinaryBufferFormat, } from "./BinaryBuffer.types";
2
+ import { ConvertBinaryBuffer, DetermineSubByteArrayForBinaryBuffer, GetBinaryBufferIndexLength, GetConvertedBinaryBufferSize, } from "./Functions/BinaryBufferConvert";
3
+ import { BinaryBufferFromJSON, BinaryBufferToJSON, } from "./Functions/BinaryBufferJSON";
4
+ import { ReadBufferAtIndex, SetBufferAtIndex, } from "./Functions/BinaryBufferRead";
5
+ import BinaryBufferToTypedArray from "./Functions/BinaryBufferToTypedArray";
6
+ export class BinaryBuffer {
7
+ static Constants = BinaryBufferConstants;
8
+ static Compare(buffer1, buffer2) {
9
+ if (buffer1.format != buffer2.format)
10
+ return false;
11
+ if (buffer1.byteLength != buffer2.byteLength)
12
+ return false;
13
+ if (typeof buffer1.buffer == "number" && buffer1.buffer == buffer2.buffer)
14
+ return true;
15
+ if (typeof buffer1.buffer == "number" || typeof buffer2.buffer == "number")
16
+ return false;
17
+ if (buffer1.buffer.byteLength != buffer2.buffer.byteLength)
18
+ return false;
19
+ const view1 = new Uint8Array(buffer1.buffer);
20
+ const view2 = new Uint8Array(buffer2.buffer);
21
+ let i = view1.length;
22
+ while (i--) {
23
+ if (view1[i] != view2[i])
24
+ return false;
25
+ }
26
+ return true;
27
+ }
28
+ static ToJSON = BinaryBufferToJSON;
29
+ static FromJSON = BinaryBufferFromJSON;
30
+ static ToTypedArray = BinaryBufferToTypedArray;
31
+ static ReadBufferAtIndex = ReadBufferAtIndex;
32
+ static SetBufferAtIndex = SetBufferAtIndex;
33
+ static DetermineSubByteArray = DetermineSubByteArrayForBinaryBuffer;
34
+ static GetConvertedBufferSize = GetConvertedBinaryBufferSize;
35
+ static GetIndexLength = GetBinaryBufferIndexLength;
36
+ static Convert = ConvertBinaryBuffer;
37
+ static Create(data) {
38
+ const bufferData = {
39
+ buffer: 0,
40
+ byteLength: 0,
41
+ format: BinaryBufferFormat.Uint8,
42
+ ...data,
43
+ };
44
+ if (!bufferData.byteLength && typeof bufferData.buffer !== "number") {
45
+ bufferData.byteLength = bufferData.buffer.byteLength;
46
+ }
47
+ return bufferData;
48
+ }
49
+ bufferView;
50
+ constructor(data) {
51
+ this.buffer = data.buffer;
52
+ this.format = data.format;
53
+ if (typeof this.buffer !== "number") {
54
+ if (this.format == BinaryBufferFormat.Uint16) {
55
+ this.bufferView = new Uint16Array(this.buffer);
56
+ }
57
+ else {
58
+ this.bufferView = new Uint8Array(this.buffer);
59
+ }
60
+ }
61
+ else {
62
+ this.isValue = true;
63
+ }
64
+ }
65
+ isValue = false;
66
+ getValue(index) {
67
+ if (this.isValue)
68
+ return this.buffer;
69
+ return ReadBufferAtIndex(this.bufferView, this.format, index);
70
+ }
71
+ toJSON() {
72
+ return {
73
+ buffer: this.buffer,
74
+ length: this.byteLength,
75
+ type: this.format,
76
+ };
77
+ }
78
+ }
@@ -0,0 +1,37 @@
1
+ export declare enum BinaryBufferFormat {
2
+ BitArray = "bit",
3
+ HalfNibbleArray = "half-nibble",
4
+ NibbleArray = "nibble",
5
+ Buffer = "buffer",
6
+ Uint8 = "uint8",
7
+ Uint16 = "uint16",
8
+ Uint32 = "uint32",
9
+ Int8 = "int8",
10
+ Int16 = "int16",
11
+ Int32 = "int32",
12
+ Float32 = "float32",
13
+ Float64 = "float64"
14
+ }
15
+ export declare enum BinaryBufferCompresedTypes {
16
+ Gzip = "gzip",
17
+ Deflate = "deflate",
18
+ DeflateRaw = "deflate-raw"
19
+ }
20
+ export declare enum BinaryBufferConstants {
21
+ ByteArrayMax = 256,
22
+ NibbleArrayMax = 16,
23
+ HalfNibbleArrayMax = 4,
24
+ BitArrayMax = 2
25
+ }
26
+ export interface BinaryBufferData {
27
+ format: BinaryBufferFormat;
28
+ byteLength: number;
29
+ buffer: number | ArrayBuffer | SharedArrayBuffer;
30
+ }
31
+ export interface JSONBinaryBufferData {
32
+ format: BinaryBufferFormat;
33
+ base64?: string;
34
+ value?: number | null;
35
+ byteLength: number;
36
+ compression?: BinaryBufferCompresedTypes;
37
+ }
@@ -0,0 +1,28 @@
1
+ export var BinaryBufferFormat;
2
+ (function (BinaryBufferFormat) {
3
+ BinaryBufferFormat["BitArray"] = "bit";
4
+ BinaryBufferFormat["HalfNibbleArray"] = "half-nibble";
5
+ BinaryBufferFormat["NibbleArray"] = "nibble";
6
+ BinaryBufferFormat["Buffer"] = "buffer";
7
+ BinaryBufferFormat["Uint8"] = "uint8";
8
+ BinaryBufferFormat["Uint16"] = "uint16";
9
+ BinaryBufferFormat["Uint32"] = "uint32";
10
+ BinaryBufferFormat["Int8"] = "int8";
11
+ BinaryBufferFormat["Int16"] = "int16";
12
+ BinaryBufferFormat["Int32"] = "int32";
13
+ BinaryBufferFormat["Float32"] = "float32";
14
+ BinaryBufferFormat["Float64"] = "float64";
15
+ })(BinaryBufferFormat || (BinaryBufferFormat = {}));
16
+ export var BinaryBufferCompresedTypes;
17
+ (function (BinaryBufferCompresedTypes) {
18
+ BinaryBufferCompresedTypes["Gzip"] = "gzip";
19
+ BinaryBufferCompresedTypes["Deflate"] = "deflate";
20
+ BinaryBufferCompresedTypes["DeflateRaw"] = "deflate-raw";
21
+ })(BinaryBufferCompresedTypes || (BinaryBufferCompresedTypes = {}));
22
+ export var BinaryBufferConstants;
23
+ (function (BinaryBufferConstants) {
24
+ BinaryBufferConstants[BinaryBufferConstants["ByteArrayMax"] = 256] = "ByteArrayMax";
25
+ BinaryBufferConstants[BinaryBufferConstants["NibbleArrayMax"] = 16] = "NibbleArrayMax";
26
+ BinaryBufferConstants[BinaryBufferConstants["HalfNibbleArrayMax"] = 4] = "HalfNibbleArrayMax";
27
+ BinaryBufferConstants[BinaryBufferConstants["BitArrayMax"] = 2] = "BitArrayMax";
28
+ })(BinaryBufferConstants || (BinaryBufferConstants = {}));
@@ -0,0 +1,5 @@
1
+ import { BinaryBufferFormat } from "../BinaryBuffer.types";
2
+ export declare function DetermineSubByteArrayForBinaryBuffer(paletteSize: number): BinaryBufferFormat | null;
3
+ export declare function GetConvertedBinaryBufferSize(source: Uint8Array | Uint16Array, format: BinaryBufferFormat): number;
4
+ export declare function GetBinaryBufferIndexLength(source: Uint8Array | Uint16Array, format: BinaryBufferFormat): number;
5
+ export declare function ConvertBinaryBuffer(source: Uint8Array | Uint16Array, sourceType: BinaryBufferFormat, destinationType: BinaryBufferFormat): Uint8Array<ArrayBuffer> | Uint16Array<ArrayBuffer>;
@@ -0,0 +1,60 @@
1
+ import { BinaryBufferConstants, BinaryBufferFormat, } from "../BinaryBuffer.types";
2
+ import { ReadBufferAtIndex, SetBufferAtIndex } from "./BinaryBufferRead";
3
+ export function DetermineSubByteArrayForBinaryBuffer(paletteSize) {
4
+ if (paletteSize == BinaryBufferConstants.BitArrayMax)
5
+ return BinaryBufferFormat.BitArray;
6
+ if (paletteSize > BinaryBufferConstants.BitArrayMax &&
7
+ paletteSize <= BinaryBufferConstants.HalfNibbleArrayMax)
8
+ return BinaryBufferFormat.HalfNibbleArray;
9
+ if (paletteSize > BinaryBufferConstants.HalfNibbleArrayMax &&
10
+ paletteSize <= BinaryBufferConstants.NibbleArrayMax)
11
+ return BinaryBufferFormat.NibbleArray;
12
+ if (paletteSize > BinaryBufferConstants.NibbleArrayMax &&
13
+ paletteSize <= BinaryBufferConstants.ByteArrayMax)
14
+ return BinaryBufferFormat.Uint8;
15
+ return null;
16
+ }
17
+ function CreateBufferForType(type, length) {
18
+ if (type == BinaryBufferFormat.Uint16)
19
+ return new Uint16Array(length);
20
+ return new Uint8Array(length);
21
+ }
22
+ export function GetConvertedBinaryBufferSize(source, format) {
23
+ if (format == BinaryBufferFormat.Uint16 || format == BinaryBufferFormat.Uint8)
24
+ return source.length;
25
+ if (format == BinaryBufferFormat.BitArray)
26
+ return source.length / 8;
27
+ if (format == BinaryBufferFormat.HalfNibbleArray)
28
+ return source.length / 4;
29
+ if (format == BinaryBufferFormat.NibbleArray)
30
+ return source.length / 2;
31
+ return source.length;
32
+ }
33
+ export function GetBinaryBufferIndexLength(source, format) {
34
+ if (format == BinaryBufferFormat.Uint16 || format == BinaryBufferFormat.Uint8)
35
+ return source.length;
36
+ if (format == BinaryBufferFormat.BitArray)
37
+ return source.length * 8;
38
+ if (format == BinaryBufferFormat.HalfNibbleArray)
39
+ return source.length * 4;
40
+ if (format == BinaryBufferFormat.NibbleArray)
41
+ return source.length * 2;
42
+ return source.length;
43
+ }
44
+ export function ConvertBinaryBuffer(source, sourceType, destinationType) {
45
+ if (sourceType == destinationType ||
46
+ (sourceType == BinaryBufferFormat.Uint16 &&
47
+ destinationType == BinaryBufferFormat.Uint8) ||
48
+ (sourceType == BinaryBufferFormat.Uint8 &&
49
+ destinationType == BinaryBufferFormat.Uint16)) {
50
+ const destination = CreateBufferForType(destinationType, GetConvertedBinaryBufferSize(source, destinationType));
51
+ destination.set(source);
52
+ return destination;
53
+ }
54
+ const length = GetBinaryBufferIndexLength(source, sourceType);
55
+ const destination = CreateBufferForType(destinationType, GetConvertedBinaryBufferSize(source, destinationType));
56
+ for (let i = 0; i < length; i++) {
57
+ SetBufferAtIndex(destination, destinationType, i, ReadBufferAtIndex(source, sourceType, i));
58
+ }
59
+ return destination;
60
+ }
@@ -0,0 +1,3 @@
1
+ import { BinaryBufferCompresedTypes, BinaryBufferData, JSONBinaryBufferData } from "../BinaryBuffer.types";
2
+ export declare function BinaryBufferFromJSON(data: JSONBinaryBufferData): Promise<BinaryBufferData>;
3
+ export declare function BinaryBufferToJSON(data: BinaryBufferData, compression?: boolean | BinaryBufferCompresedTypes): Promise<JSONBinaryBufferData>;
@@ -0,0 +1,64 @@
1
+ import { BinaryBufferCompresedTypes, } from "../BinaryBuffer.types";
2
+ export async function BinaryBufferFromJSON(data) {
3
+ let raw;
4
+ if (data.base64) {
5
+ let binary = atob(data.base64);
6
+ raw = new Uint8Array(binary.length);
7
+ for (let i = 0; i < binary.length; i++) {
8
+ raw[i] = binary.charCodeAt(i);
9
+ }
10
+ if (data.compression) {
11
+ const ds = new DecompressionStream(data.compression);
12
+ const writer = ds.writable.getWriter();
13
+ writer.write(raw);
14
+ writer.close();
15
+ const decompressed = await new Response(ds.readable).arrayBuffer();
16
+ raw = new Uint8Array(decompressed);
17
+ }
18
+ }
19
+ else if (typeof data.value == "number") {
20
+ raw = data.value;
21
+ }
22
+ else {
23
+ throw new Error(`Error converting binary buffer json. `);
24
+ }
25
+ return {
26
+ format: data.format,
27
+ byteLength: data.byteLength,
28
+ buffer: typeof raw === "number" ? raw : raw.buffer,
29
+ };
30
+ }
31
+ export async function BinaryBufferToJSON(data, compression) {
32
+ if (typeof data.buffer === "number") {
33
+ return {
34
+ format: data.format,
35
+ byteLength: data.byteLength,
36
+ value: data.buffer,
37
+ };
38
+ }
39
+ const input = new Uint8Array(data.buffer);
40
+ let bufferToEncode = input;
41
+ if (compression) {
42
+ compression =
43
+ typeof compression == "boolean"
44
+ ? BinaryBufferCompresedTypes.Gzip
45
+ : compression;
46
+ const cs = new CompressionStream(compression);
47
+ const writer = cs.writable.getWriter();
48
+ writer.write(input);
49
+ writer.close();
50
+ const compressedBuffer = await new Response(cs.readable).arrayBuffer();
51
+ bufferToEncode = new Uint8Array(compressedBuffer);
52
+ }
53
+ let binary = "";
54
+ for (let i = 0; i < bufferToEncode.length; i++) {
55
+ binary += String.fromCharCode(bufferToEncode[i]);
56
+ }
57
+ const base64 = btoa(binary);
58
+ return {
59
+ format: data.format,
60
+ byteLength: data.byteLength,
61
+ base64: base64,
62
+ ...(compression ? { compression } : {}),
63
+ };
64
+ }
@@ -0,0 +1,3 @@
1
+ import { BinaryBufferFormat } from "../BinaryBuffer.types";
2
+ export declare function ReadBufferAtIndex(source: Uint8Array | Uint16Array, format: BinaryBufferFormat, index: number): number;
3
+ export declare function SetBufferAtIndex(source: Uint8Array | Uint16Array, format: BinaryBufferFormat, index: number, value: number): number | void;
@@ -0,0 +1,26 @@
1
+ import { BinaryBufferFormat } from "../BinaryBuffer.types";
2
+ import { getBitArrayIndex, getHalfNibbleArrayIndex, getNibbleArrayIndex, setBitArrayIndex, setHalfNibbleArrayIndex, setNibbleArrayIndex, } from "../../Binary/BinaryArrays";
3
+ export function ReadBufferAtIndex(source, format, index) {
4
+ if (format == BinaryBufferFormat.Uint16 || format == BinaryBufferFormat.Uint8)
5
+ return source[index];
6
+ if (format == BinaryBufferFormat.BitArray)
7
+ return getBitArrayIndex(source, index);
8
+ if (format == BinaryBufferFormat.NibbleArray)
9
+ return getNibbleArrayIndex(source, index);
10
+ if (format == BinaryBufferFormat.HalfNibbleArray)
11
+ return getHalfNibbleArrayIndex(source, index);
12
+ return source[index];
13
+ }
14
+ export function SetBufferAtIndex(source, format, index, value) {
15
+ if (format == BinaryBufferFormat.Uint16 ||
16
+ format == BinaryBufferFormat.Uint8) {
17
+ return (source[index] = value);
18
+ }
19
+ if (format == BinaryBufferFormat.BitArray)
20
+ return setBitArrayIndex(source, index, value);
21
+ if (format == BinaryBufferFormat.NibbleArray)
22
+ return setNibbleArrayIndex(source, index, value);
23
+ if (format == BinaryBufferFormat.HalfNibbleArray)
24
+ return setHalfNibbleArrayIndex(source, index, value);
25
+ return source[index];
26
+ }
@@ -0,0 +1,2 @@
1
+ import { BinaryBufferData } from "../BinaryBuffer.types";
2
+ export default function BinaryBufferToTypedArray(buffer: BinaryBufferData): Uint16Array<ArrayBuffer | SharedArrayBuffer> | Uint8Array<ArrayBuffer | SharedArrayBuffer> | undefined;
@@ -0,0 +1,43 @@
1
+ import { BinaryBufferFormat } from "../BinaryBuffer.types";
2
+ export default function BinaryBufferToTypedArray(buffer) {
3
+ if (buffer.format == BinaryBufferFormat.Uint16) {
4
+ if (typeof buffer.buffer == "number") {
5
+ const array = new Uint16Array(buffer.byteLength);
6
+ array.fill(buffer.buffer);
7
+ return array;
8
+ }
9
+ return new Uint16Array(buffer.buffer);
10
+ }
11
+ if (buffer.format == BinaryBufferFormat.Uint8) {
12
+ if (typeof buffer.buffer == "number") {
13
+ const array = new Uint8Array(buffer.byteLength);
14
+ array.fill(buffer.buffer);
15
+ return array;
16
+ }
17
+ return new Uint8Array(buffer.buffer);
18
+ }
19
+ if (buffer.format == BinaryBufferFormat.NibbleArray) {
20
+ if (typeof buffer.buffer == "number") {
21
+ const array = new Uint8Array(buffer.byteLength / 2);
22
+ array.fill(buffer.buffer);
23
+ return array;
24
+ }
25
+ return new Uint8Array(buffer.buffer);
26
+ }
27
+ if (buffer.format == BinaryBufferFormat.HalfNibbleArray) {
28
+ if (typeof buffer.buffer == "number") {
29
+ const array = new Uint8Array(buffer.byteLength / 4);
30
+ array.fill(buffer.buffer);
31
+ return array;
32
+ }
33
+ return new Uint8Array(buffer.buffer);
34
+ }
35
+ if (buffer.format == BinaryBufferFormat.BitArray) {
36
+ if (typeof buffer.buffer == "number") {
37
+ const array = new Uint8Array(buffer.byteLength / 8);
38
+ array.fill(buffer.buffer);
39
+ return array;
40
+ }
41
+ return new Uint8Array(buffer.buffer);
42
+ }
43
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./BinaryBuffer";
2
+ export * from "./BinaryBuffer.types";
@@ -0,0 +1,2 @@
1
+ export * from "./BinaryBuffer";
2
+ export * from "./BinaryBuffer.types";
@@ -0,0 +1,3 @@
1
+ import { LocationData } from "Math";
2
+ export declare function getLocationData(view: DataView, location?: LocationData): LocationData;
3
+ export declare function setLocationData(view: DataView, location: LocationData): DataView<ArrayBufferLike>;
@@ -0,0 +1,16 @@
1
+ import { BinaryTaskType } from "@amodx/threads";
2
+ const tempLocation = [0, 0, 0, 0];
3
+ export function getLocationData(view, location = tempLocation) {
4
+ location[0] = view.getUint32(BinaryTaskType.HeaderSize);
5
+ location[1] = view.getInt32(BinaryTaskType.HeaderSize + 4);
6
+ location[2] = view.getInt32(BinaryTaskType.HeaderSize + 8);
7
+ location[3] = view.getInt32(BinaryTaskType.HeaderSize + 12);
8
+ return location;
9
+ }
10
+ export function setLocationData(view, location) {
11
+ view.setUint32(BinaryTaskType.HeaderSize, location[0]);
12
+ view.setInt32(BinaryTaskType.HeaderSize + 4, location[1]);
13
+ view.setInt32(BinaryTaskType.HeaderSize + 8, location[2]);
14
+ view.setInt32(BinaryTaskType.HeaderSize + 12, location[3]);
15
+ return view;
16
+ }
@@ -0,0 +1,18 @@
1
+ interface Node {
2
+ priority: number;
3
+ }
4
+ export declare class PriorityQueue<T extends Node> {
5
+ private heap;
6
+ private parentIndex;
7
+ private leftChildIndex;
8
+ private rightChildIndex;
9
+ private swap;
10
+ enqueue(item: T): void;
11
+ dequeue(): T | undefined;
12
+ peek(): T | undefined;
13
+ private heapifyUp;
14
+ private heapifyDown;
15
+ isEmpty(): boolean;
16
+ size(): number;
17
+ }
18
+ export {};