@divinevoxel/vlox 0.0.78 → 0.0.79

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 (315) hide show
  1. package/Builder/Tools/Wrench/WrenchTool.js +26 -21
  2. package/Builder/VoxelBuildSpace.d.ts +2 -2
  3. package/Builder/VoxelBuildSpace.js +4 -4
  4. package/Builder/World/InitTasks.js +1 -1
  5. package/Cache/Cache.types.d.ts +0 -4
  6. package/Cache/CacheManager.d.ts +1 -2
  7. package/Cache/CacheManager.js +0 -2
  8. package/Contexts/Base/Main/InitDataGenerator.js +10 -2
  9. package/Contexts/Base/Remote/DataSync.types.d.ts +10 -4
  10. package/Contexts/Base/Remote/InitDataSync.js +10 -20
  11. package/Init/StartMesher.js +2 -1
  12. package/Init/StartRenderer.js +2 -1
  13. package/Mesher/{Geomtry → Geometry}/Geometry.types.d.ts +1 -0
  14. package/Mesher/InitMesher.d.ts +1 -2
  15. package/Mesher/InitMesher.js +7 -14
  16. package/Mesher/Items/{Geomtry → Geometry}/ItemGeometryBuilder.d.ts +2 -2
  17. package/Mesher/Items/{Geomtry → Geometry}/ItemGeometryBuilder.js +1 -1
  18. package/Mesher/Items/MeshTexture.d.ts +2 -1
  19. package/Mesher/Items/MeshTexture.js +7 -6
  20. package/Mesher/Items/MeshTextureO.js +1 -1
  21. package/Mesher/Items/Models/ItemModelBuilder.d.ts +1 -1
  22. package/Mesher/Items/Models/ItemModelBuilder.js +2 -2
  23. package/Mesher/Voxels/Base/CompactTemplateMesh.js +1 -1
  24. package/Mesher/Voxels/Base/CompactVoxelSectionMesh.js +2 -2
  25. package/Mesher/Voxels/Base/MeshSectionBase.js +1 -3
  26. package/Mesher/Voxels/{Geomtry → Geometry}/CompactedSectionVoxelMesh.js +3 -3
  27. package/Mesher/Voxels/{Geomtry → Geometry}/VoxelGeometryBuilder.d.ts +2 -2
  28. package/Mesher/Voxels/{Geomtry → Geometry}/VoxelGeometryBuilder.js +1 -1
  29. package/Mesher/Voxels/{Geomtry → Geometry}/VoxelMeshBVHBuilder.js +1 -1
  30. package/Mesher/Voxels/{Geomtry → Geometry}/VoxelMeshBVHStructCursor.d.ts +1 -1
  31. package/Mesher/Voxels/{Geomtry → Geometry}/VoxelMeshBVHStructCursor.js +1 -1
  32. package/Mesher/Voxels/MeshTemplate.js +0 -3
  33. package/Mesher/Voxels/MeshVoxel.js +0 -2
  34. package/Mesher/Voxels/Models/Common/Calc/CalcConstants.d.ts +1 -1
  35. package/Mesher/Voxels/Models/Common/Calc/CalcConstants.js +2 -2
  36. package/Mesher/Voxels/Models/Common/Calc/FaceDataCalc.js +4 -1
  37. package/Mesher/Voxels/Models/Common/Faces/CullRulledFace.js +29 -18
  38. package/Mesher/Voxels/Models/Common/Faces/ShadeRulelessFace.d.ts +1 -1
  39. package/Mesher/Voxels/Models/Common/Faces/ShadeRulledFace.d.ts +1 -1
  40. package/Mesher/Voxels/Models/Common/Faces/ShadeRulledFace.js +31 -21
  41. package/Mesher/Voxels/Models/Common/GetTexture.d.ts +4 -4
  42. package/Mesher/Voxels/Models/Nodes/Custom/Liquid/FlowGradient.d.ts +1 -1
  43. package/Mesher/Voxels/Models/Nodes/Custom/Liquid/FlowGradient.js +1 -1
  44. package/Mesher/Voxels/Models/Nodes/Custom/Liquid/{LiquidGeomtryNode.d.ts → LiquidGeometryNode.d.ts} +2 -2
  45. package/Mesher/Voxels/Models/Nodes/Custom/Liquid/{LiquidGeomtryNode.js → LiquidGeometryNode.js} +5 -5
  46. package/Mesher/Voxels/Models/Nodes/Default/QuadVoxelGeometryNode.d.ts +3 -3
  47. package/Mesher/Voxels/Models/Nodes/Default/QuadVoxelGeometryNode.js +2 -2
  48. package/Mesher/Voxels/Models/Nodes/Default/TriangleVoxelGeometryNode.d.ts +3 -3
  49. package/Mesher/Voxels/Models/Nodes/Default/TriangleVoxelGeometryNode.js +2 -2
  50. package/Mesher/Voxels/Models/Nodes/GeometryNode.d.ts +3 -3
  51. package/Mesher/Voxels/Models/Nodes/GeometryNode.js +3 -3
  52. package/Mesher/Voxels/Models/Nodes/Types/GeometryNode.types.d.ts +7 -0
  53. package/Mesher/Voxels/Models/Nodes/Types/QuadVoxelGometryNodeTypes.d.ts +3 -3
  54. package/Mesher/Voxels/Models/Nodes/Types/TriangleVoxelGometryNodeTypes.d.ts +2 -2
  55. package/Mesher/Voxels/Models/Nodes/VoxelGeometryConstructor.d.ts +2 -3
  56. package/Mesher/Voxels/Models/Nodes/VoxelGeometryConstructor.js +6 -5
  57. package/Mesher/Voxels/Models/Procedures/Default/ConsistentRotationTextureProcedure.d.ts +4 -4
  58. package/Mesher/Voxels/Models/Procedures/Default/OutlinedTextureProcedure.d.ts +4 -4
  59. package/Mesher/Voxels/Models/Procedures/Default/PillarTextureProcedure.d.ts +4 -4
  60. package/Mesher/Voxels/Models/Procedures/Default/PillarTextureProcedure.js +20 -6
  61. package/Mesher/Voxels/Models/Procedures/TextureProcedure.d.ts +2 -2
  62. package/Mesher/Voxels/Models/VoxelConstructor.d.ts +1 -16
  63. package/Mesher/Voxels/Models/VoxelConstructor.js +50 -56
  64. package/Mesher/Voxels/Models/VoxelGeometryBuilderCacheSpace.d.ts +3 -6
  65. package/Mesher/Voxels/Models/VoxelGeometryBuilderCacheSpace.js +40 -44
  66. package/Mesher/Voxels/Models/VoxelModelBuilder.d.ts +4 -4
  67. package/Mesher/Voxels/Models/VoxelModelBuilder.js +4 -4
  68. package/Mesher/Voxels/Models/VoxelModelConstructorRegister.d.ts +1 -14
  69. package/Mesher/Voxels/Models/VoxelModelConstructorRegister.js +7 -21
  70. package/Mesher/Voxels/Models/VoxelModelEffect.d.ts +1 -7
  71. package/Mesher/Voxels/Models/VoxelModelEffect.js +23 -26
  72. package/Renderer/Classes/DVESectionMeshes.d.ts +1 -1
  73. package/Renderer/MeshManager.js +1 -1
  74. package/Settings/EngineSettings.types.d.ts +2 -1
  75. package/Settings/EngineSettings.types.js +1 -0
  76. package/Stats/EngineStats.d.ts +5 -3
  77. package/Stats/EngineStats.js +8 -6
  78. package/Templates/Archive/ArchivedVoxelTemplate.d.ts +1 -1
  79. package/Templates/Archive/ArchivedVoxelTemplate.js +5 -5
  80. package/Templates/Archive/Functions/CreateArchivedTemplate.d.ts +1 -1
  81. package/Templates/Archive/Functions/CreateArchivedTemplate.js +2 -2
  82. package/Templates/Cursor/TemplateCursor.d.ts +1 -1
  83. package/Templates/Cursor/TemplateCursor.js +1 -1
  84. package/Templates/Full/FullVoxelTemplate.d.ts +1 -1
  85. package/Templates/Full/FullVoxelTemplate.js +1 -1
  86. package/Templates/Full/Functions/CreateFullTemplate.d.ts +1 -1
  87. package/Templates/Selection/VoxelBFSSelection.d.ts +1 -1
  88. package/Templates/Selection/VoxelBFSSelection.js +1 -1
  89. package/Templates/Selection/VoxelBoundsSelection.d.ts +1 -1
  90. package/Templates/Selection/VoxelBoundsSelection.js +1 -1
  91. package/Templates/Selection/VoxelPointSelection.d.ts +1 -1
  92. package/Templates/Selection/VoxelPointSelection.js +1 -1
  93. package/Templates/Selection/VoxelSelection.d.ts +1 -1
  94. package/Templates/Selection/VoxelSurfaceSelection.d.ts +1 -1
  95. package/Templates/Selection/VoxelSurfaceSelection.js +1 -1
  96. package/Templates/Selection/VoxelTemplateSelection.d.ts +1 -1
  97. package/Templates/Selection/VoxelTemplateSelection.js +1 -1
  98. package/Templates/Shapes/Selections/BoxVoxelShapeSelection.d.ts +1 -1
  99. package/Templates/Shapes/Selections/BoxVoxelShapeSelection.js +1 -1
  100. package/Templates/Shapes/Selections/ConeVoxelShapeSelection.d.ts +1 -1
  101. package/Templates/Shapes/Selections/ConeVoxelShapeSelection.js +1 -1
  102. package/Templates/Shapes/Selections/CylinderVoxelShapeSelection.d.ts +1 -1
  103. package/Templates/Shapes/Selections/CylinderVoxelShapeSelection.js +1 -1
  104. package/Templates/Shapes/Selections/EllipsoidVoxelShapeSelection.d.ts +1 -1
  105. package/Templates/Shapes/Selections/EllipsoidVoxelShapeSelection.js +1 -1
  106. package/Templates/Shapes/Selections/OctahedronVoxelShapeSelection.d.ts +1 -1
  107. package/Templates/Shapes/Selections/OctahedronVoxelShapeSelection.js +1 -1
  108. package/Templates/Shapes/Selections/PyramidVoxelShapeSelection.d.ts +1 -1
  109. package/Templates/Shapes/Selections/PyramidVoxelShapeSelection.js +1 -1
  110. package/Templates/Shapes/Selections/SphereVoxelShapeSelection.d.ts +1 -1
  111. package/Templates/Shapes/Selections/SphereVoxelShapeSelection.js +1 -1
  112. package/Templates/Shapes/Selections/TorusVoxelShapeSelection.d.ts +1 -1
  113. package/Templates/Shapes/Selections/TorusVoxelShapeSelection.js +1 -1
  114. package/Templates/Shapes/VoxelShapeTemplate.d.ts +1 -1
  115. package/Templates/Shapes/VoxelShapeTemplate.js +1 -1
  116. package/Templates/VoxelTemplates.types.d.ts +1 -1
  117. package/Textures/Functions/BuildTextureData.js +4 -52
  118. package/Tools/Brush/Brush.js +5 -5
  119. package/Util/StringPalette.js +2 -0
  120. package/Voxels/Archive/VoxelPaletteArchiveReader.js +7 -6
  121. package/Voxels/Archive/VoxelPaletteArechive.js +8 -8
  122. package/Voxels/Cursor/DataCursor.interface.d.ts +1 -1
  123. package/Voxels/Cursor/VoxelCursor.interface.d.ts +0 -2
  124. package/Voxels/Cursor/VoxelCursor.interface.js +14 -16
  125. package/Voxels/Cursor/VoxelCursor.js +5 -5
  126. package/Voxels/Data/GeometryLUT.d.ts +32 -0
  127. package/Voxels/Data/GeometryLUT.js +50 -0
  128. package/Voxels/Data/VoxelLUT.d.ts +83 -0
  129. package/Voxels/Data/VoxelLUT.js +119 -0
  130. package/Voxels/Data/VoxelTagsRegister.d.ts +2 -2
  131. package/Voxels/Data/VoxelTagsRegister.js +2 -2
  132. package/Voxels/Functions/BuildLUTs.d.ts +6 -0
  133. package/Voxels/Functions/BuildLUTs.js +361 -0
  134. package/Voxels/Functions/BuildTagData.d.ts +4 -2
  135. package/Voxels/Functions/BuildTagData.js +15 -32
  136. package/Voxels/Functions/Geometry/BuildGeometryLUT.d.ts +11 -0
  137. package/Voxels/Functions/Geometry/BuildGeometryLUT.js +395 -0
  138. package/Voxels/{Models/Rules/Functions/Compile/Nodes → Functions/Geometry}/CalcFunctions.d.ts +3 -3
  139. package/Voxels/{Models/Rules/Functions/Compile/Nodes → Functions/Geometry}/CalcFunctions.js +2 -2
  140. package/Voxels/Functions/Geometry/Compile/BuildCompiled.d.ts +4 -0
  141. package/Voxels/Functions/Geometry/Compile/BuildCompiled.js +25 -0
  142. package/Voxels/Functions/Geometry/Compile/BuildCompiledBox.d.ts +4 -0
  143. package/Voxels/Functions/Geometry/Compile/BuildCompiledBox.js +13 -0
  144. package/Voxels/Functions/Geometry/Compile/BuildCompiledQuad.d.ts +4 -0
  145. package/Voxels/Functions/Geometry/Compile/BuildCompiledQuad.js +41 -0
  146. package/Voxels/Functions/Geometry/Compile/BuildCompiledTri.d.ts +4 -0
  147. package/Voxels/Functions/Geometry/Compile/BuildCompiledTri.js +44 -0
  148. package/Voxels/Functions/Geometry/GeometryLUT.types.d.ts +7 -0
  149. package/Voxels/Functions/Geometry/Inputs/BaseFunctions.d.ts +4 -0
  150. package/Voxels/Functions/Geometry/Inputs/BaseFunctions.js +28 -0
  151. package/Voxels/Functions/Geometry/Inputs/BuildBoxInputs.d.ts +5 -0
  152. package/Voxels/Functions/Geometry/Inputs/BuildBoxInputs.js +8 -0
  153. package/Voxels/Functions/Geometry/Inputs/BuildCustomInputs.d.ts +5 -0
  154. package/Voxels/Functions/Geometry/Inputs/BuildCustomInputs.js +41 -0
  155. package/Voxels/Functions/Geometry/Inputs/BuildQuadInputs.d.ts +5 -0
  156. package/Voxels/Functions/Geometry/Inputs/BuildQuadInputs.js +103 -0
  157. package/Voxels/Functions/Geometry/Inputs/BuildTriangleInputs.d.ts +5 -0
  158. package/Voxels/Functions/Geometry/Inputs/BuildTriangleInputs.js +101 -0
  159. package/Voxels/Functions/Geometry/Inputs/BuldInputs.d.ts +4 -0
  160. package/Voxels/Functions/Geometry/Inputs/BuldInputs.js +22 -0
  161. package/Voxels/Functions/Geometry/Rules/BuildRules.d.ts +1 -0
  162. package/Voxels/{Models/Rules/Functions → Functions/Geometry/Rules}/BuildRules.js +23 -23
  163. package/Voxels/{Models/Rules/Classes → Functions/Geometry/Rules}/OcclusionFaceRegister.d.ts +2 -2
  164. package/Voxels/{Models/Rules/Classes → Functions/Geometry/Rules}/OcclusionQuadFace.js +1 -1
  165. package/Voxels/{Models/Rules/Classes → Functions/Geometry/Rules}/OcclusionTriangleFace.js +1 -1
  166. package/Voxels/{Models/Indexing → Geometry}/AOOcclusionFaceIndex.d.ts +2 -2
  167. package/Voxels/Geometry/AOOcclusionFaceIndex.js +28 -0
  168. package/Voxels/{Models/Indexing → Geometry}/CulledOcclusionFaceIndex.d.ts +2 -2
  169. package/Voxels/Geometry/CulledOcclusionFaceIndex.js +27 -0
  170. package/Voxels/Geometry/VoxelGeometry.types.d.ts +105 -0
  171. package/Voxels/Geometry/VoxelGeometry.types.js +1 -0
  172. package/Voxels/Indexes/VoxelIndex.js +15 -21
  173. package/Voxels/InitVoxelData.d.ts +4 -3
  174. package/Voxels/InitVoxelData.js +53 -110
  175. package/Voxels/Interaction/Functions/PickVoxel.js +1 -1
  176. package/Voxels/Logic/Classes/Types/VoxelLogicStateType.js +2 -2
  177. package/Voxels/Logic/Classes/VoxelLogic.d.ts +2 -2
  178. package/Voxels/Logic/Classes/VoxelLogic.js +2 -2
  179. package/Voxels/Logic/VoxelLogicRegister.js +2 -2
  180. package/Voxels/Models/Defaults/CubeVoxelGeometry.d.ts +1 -1
  181. package/Voxels/Models/Defaults/CubeVoxelModels.d.ts +1 -0
  182. package/Voxels/Models/Defaults/CubeVoxelModels.js +45 -0
  183. package/Voxels/Models/Defaults/Examples.d.ts +2 -1
  184. package/Voxels/Models/Defaults/Examples.js +28 -28
  185. package/Voxels/Models/Defaults/FarmVoxelModels.d.ts +3 -2
  186. package/Voxels/Models/Defaults/FarmVoxelModels.js +3 -3
  187. package/Voxels/Models/Defaults/LiquidVoxelModel.d.ts +2 -1
  188. package/Voxels/Models/Defaults/PanelVoxelGeometry.d.ts +1 -1
  189. package/Voxels/Models/VoxelModel.types.d.ts +2 -109
  190. package/Voxels/State/{Schema → Reltional}/Conditions/SameVoxelConditions.d.ts +2 -2
  191. package/Voxels/State/Reltional/Conditions/SameVoxelConditions.js +19 -0
  192. package/Voxels/State/Reltional/Conditions/ShapeStateSchemaRelationsCondition.d.ts +6 -0
  193. package/Voxels/State/Reltional/Conditions/ShapeStateSchemaRelationsCondition.js +6 -0
  194. package/Voxels/State/Reltional/ReltionalStateBuilder.d.ts +18 -0
  195. package/Voxels/State/Reltional/ReltionalStateBuilder.js +42 -0
  196. package/Voxels/State/Schema/BinarySchema.d.ts +1 -0
  197. package/Voxels/State/Schema/BinarySchema.js +3 -0
  198. package/Voxels/State/State.types.d.ts +0 -25
  199. package/Voxels/State/State.types.js +1 -22
  200. package/Voxels/State/VoxelSchemas.d.ts +22 -0
  201. package/Voxels/State/VoxelSchemas.js +60 -0
  202. package/Voxels/Types/PaintVoxelData.js +55 -45
  203. package/Voxels/Types/VoxelModelCompiledData.types.d.ts +4 -22
  204. package/World/Archive/Classes/ImportedSection.js +8 -8
  205. package/World/Archive/Functions/Sector/ArchiveSector.js +3 -3
  206. package/World/Cursor/SectionCursor.d.ts +1 -1
  207. package/World/Cursor/SectionCursor.js +1 -1
  208. package/World/Cursor/SectorCursor.d.ts +1 -1
  209. package/World/Cursor/SectorCursor.js +1 -1
  210. package/World/Cursor/WorldCursor.d.ts +1 -1
  211. package/World/Cursor/WorldCursor.js +1 -1
  212. package/World/Lock/Function/LockSectors.d.ts +1 -1
  213. package/World/Lock/Function/UnLockSectors.d.ts +1 -1
  214. package/World/SnapShot/SectionSnapShotCursor.d.ts +1 -1
  215. package/World/SnapShot/SectionSnapShotCursor.js +1 -1
  216. package/World/SnapShot/SnapShots.d.ts +1 -1
  217. package/World/SnapShot/SnapShots.js +1 -1
  218. package/WorldSimulation/Dimensions/SimulationSector.d.ts +1 -1
  219. package/WorldSimulation/Dimensions/SimulationSector.js +2 -2
  220. package/WorldSimulation/Tools/SimulationBrush.js +9 -9
  221. package/WorldSimulation/Voxels/Behaviors/Types/CropVoxelBehavior.js +4 -2
  222. package/WorldSimulation/Voxels/Behaviors/Types/FarmlandVoxelBehavior.js +5 -2
  223. package/WorldSimulation/WorldSimulation.d.ts +1 -0
  224. package/WorldSimulation/WorldSimulation.js +2 -1
  225. package/package.json +1 -1
  226. package/Mesher/Voxels/Models/Nodes/Types/GeomtryNode.types.d.ts +0 -7
  227. package/Voxels/Data/VoxelPalettesRegister.d.ts +0 -18
  228. package/Voxels/Data/VoxelPalettesRegister.js +0 -24
  229. package/Voxels/Functions/BuildPaletteData.d.ts +0 -6
  230. package/Voxels/Functions/BuildPaletteData.js +0 -87
  231. package/Voxels/Functions/BuildStateData.d.ts +0 -23
  232. package/Voxels/Functions/BuildStateData.js +0 -327
  233. package/Voxels/Models/CompiledVoxelModel.types.d.ts +0 -46
  234. package/Voxels/Models/Indexing/AOOcclusionFaceIndex.js +0 -28
  235. package/Voxels/Models/Indexing/CulledOcclusionFaceIndex.js +0 -27
  236. package/Voxels/Models/Rules/Classes/GeomtryInput.d.ts +0 -16
  237. package/Voxels/Models/Rules/Classes/GeomtryInput.js +0 -85
  238. package/Voxels/Models/Rules/Classes/VoxelRulesGeometry.d.ts +0 -22
  239. package/Voxels/Models/Rules/Classes/VoxelRulesGeometry.js +0 -15
  240. package/Voxels/Models/Rules/Classes/VoxelRulesModel.d.ts +0 -19
  241. package/Voxels/Models/Rules/Classes/VoxelRulesModel.js +0 -29
  242. package/Voxels/Models/Rules/Functions/BuildFinalInputs.d.ts +0 -5
  243. package/Voxels/Models/Rules/Functions/BuildFinalInputs.js +0 -87
  244. package/Voxels/Models/Rules/Functions/BuildRules.d.ts +0 -7
  245. package/Voxels/Models/Rules/Functions/Compile/CompileGeomtryNodes.d.ts +0 -4
  246. package/Voxels/Models/Rules/Functions/Compile/CompileGeomtryNodes.js +0 -39
  247. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileBoxGeometryNode.d.ts +0 -5
  248. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileBoxGeometryNode.js +0 -14
  249. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileQuadGeometryNode.d.ts +0 -6
  250. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileQuadGeometryNode.js +0 -92
  251. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileTriangleGeometryNode.d.ts +0 -6
  252. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileTriangleGeometryNode.js +0 -115
  253. package/Voxels/Models/Rules/VoxelModelRuleBuilderRegister.d.ts +0 -18
  254. package/Voxels/Models/Rules/VoxelModelRuleBuilderRegister.js +0 -202
  255. package/Voxels/State/CondiotnalTreeReader.d.ts +0 -10
  256. package/Voxels/State/CondiotnalTreeReader.js +0 -23
  257. package/Voxels/State/LogicStatementReader.d.ts +0 -9
  258. package/Voxels/State/LogicStatementReader.js +0 -50
  259. package/Voxels/State/Schema/Conditions/SameVoxelConditions.js +0 -19
  260. package/Voxels/State/Schema/Conditions/ShapeStateSchemaRelationsCondition.d.ts +0 -6
  261. package/Voxels/State/Schema/Conditions/ShapeStateSchemaRelationsCondition.js +0 -6
  262. package/Voxels/State/Schema/ShapeStateRelationsNode.d.ts +0 -10
  263. package/Voxels/State/Schema/ShapeStateRelationsNode.js +0 -26
  264. package/Voxels/State/Schema/StateSchema.d.ts +0 -13
  265. package/Voxels/State/Schema/StateSchema.js +0 -17
  266. package/Voxels/State/Schema/VoxelSchema.d.ts +0 -7
  267. package/Voxels/State/Schema/VoxelSchema.js +0 -10
  268. package/Voxels/State/SchemaRegister.d.ts +0 -18
  269. package/Voxels/State/SchemaRegister.js +0 -76
  270. package/Voxels/State/StateTreeReader.d.ts +0 -9
  271. package/Voxels/State/StateTreeReader.js +0 -37
  272. /package/Mesher/{Geomtry → Geometry}/Functions/GetBounds.d.ts +0 -0
  273. /package/Mesher/{Geomtry → Geometry}/Functions/GetBounds.js +0 -0
  274. /package/Mesher/{Geomtry → Geometry}/Geometry.types.js +0 -0
  275. /package/Mesher/{Geomtry → Geometry}/Primitives/Quad.d.ts +0 -0
  276. /package/Mesher/{Geomtry → Geometry}/Primitives/Quad.js +0 -0
  277. /package/Mesher/{Geomtry → Geometry}/Primitives/QuadVertexData.d.ts +0 -0
  278. /package/Mesher/{Geomtry → Geometry}/Primitives/QuadVertexData.js +0 -0
  279. /package/Mesher/{Geomtry → Geometry}/Primitives/Triangle.d.ts +0 -0
  280. /package/Mesher/{Geomtry → Geometry}/Primitives/Triangle.js +0 -0
  281. /package/Mesher/{Geomtry → Geometry}/Primitives/TriangleVertexData.d.ts +0 -0
  282. /package/Mesher/{Geomtry → Geometry}/Primitives/TriangleVertexData.js +0 -0
  283. /package/Mesher/{Geomtry → Geometry}/Primitives/index.d.ts +0 -0
  284. /package/Mesher/{Geomtry → Geometry}/Primitives/index.js +0 -0
  285. /package/Mesher/{Geomtry → Geometry}/Proto/ProtoMesh.d.ts +0 -0
  286. /package/Mesher/{Geomtry → Geometry}/Proto/ProtoMesh.js +0 -0
  287. /package/Mesher/{Geomtry → Geometry}/Proto/ProtoMeshBuffer.d.ts +0 -0
  288. /package/Mesher/{Geomtry → Geometry}/Proto/ProtoMeshBuffer.js +0 -0
  289. /package/Mesher/{Geomtry → Geometry}/Shapes/Box.d.ts +0 -0
  290. /package/Mesher/{Geomtry → Geometry}/Shapes/Box.js +0 -0
  291. /package/Mesher/{Geomtry → Geometry}/Transform/TransformBox.d.ts +0 -0
  292. /package/Mesher/{Geomtry → Geometry}/Transform/TransformBox.js +0 -0
  293. /package/Mesher/{Geomtry → Geometry}/Transform/TransformQuad.d.ts +0 -0
  294. /package/Mesher/{Geomtry → Geometry}/Transform/TransformQuad.js +0 -0
  295. /package/Mesher/{Geomtry → Geometry}/Transform/TransformTriangle.d.ts +0 -0
  296. /package/Mesher/{Geomtry → Geometry}/Transform/TransformTriangle.js +0 -0
  297. /package/Mesher/{Geomtry → Geometry}/index.d.ts +0 -0
  298. /package/Mesher/{Geomtry → Geometry}/index.js +0 -0
  299. /package/Mesher/Items/{Geomtry → Geometry}/ItemMeshVertexStructCursor.d.ts +0 -0
  300. /package/Mesher/Items/{Geomtry → Geometry}/ItemMeshVertexStructCursor.js +0 -0
  301. /package/Mesher/Voxels/{Geomtry → Geometry}/CompactedSectionVoxelMesh.d.ts +0 -0
  302. /package/Mesher/Voxels/{Geomtry → Geometry}/VoxelMeshBVHBuilder.d.ts +0 -0
  303. /package/Mesher/Voxels/{Geomtry → Geometry}/VoxelMeshVertexStructCursor.d.ts +0 -0
  304. /package/Mesher/Voxels/{Geomtry → Geometry}/VoxelMeshVertexStructCursor.js +0 -0
  305. /package/Mesher/Voxels/{Geomtry → Geometry}/VoxelShaderData.d.ts +0 -0
  306. /package/Mesher/Voxels/{Geomtry → Geometry}/VoxelShaderData.js +0 -0
  307. /package/Mesher/Voxels/Models/Nodes/Types/{GeomtryNode.types.js → GeometryNode.types.js} +0 -0
  308. /package/Voxels/{Models/CompiledVoxelModel.types.js → Functions/Geometry/GeometryLUT.types.js} +0 -0
  309. /package/Voxels/{Models/Rules/Classes → Functions/Geometry/Rules}/OcclusionFace.d.ts +0 -0
  310. /package/Voxels/{Models/Rules/Classes → Functions/Geometry/Rules}/OcclusionFace.js +0 -0
  311. /package/Voxels/{Models/Rules/Classes → Functions/Geometry/Rules}/OcclusionFaceRegister.js +0 -0
  312. /package/Voxels/{Models/Rules/Classes → Functions/Geometry/Rules}/OcclusionQuadFace.d.ts +0 -0
  313. /package/Voxels/{Models/Rules/Classes → Functions/Geometry/Rules}/OcclusionTriangleFace.d.ts +0 -0
  314. /package/Voxels/{Models/Indexing → Geometry}/VoxelRelativeCubeIndex.d.ts +0 -0
  315. /package/Voxels/{Models/Indexing → Geometry}/VoxelRelativeCubeIndex.js +0 -0
@@ -1,74 +1,64 @@
1
1
  import { VoxelModelConstructorRegister } from "./VoxelModelConstructorRegister";
2
- import { StateSchema } from "../../../Voxels/State/Schema/StateSchema";
3
- import { StateTreeReader } from "../../../Voxels/State/StateTreeReader";
4
- import { VoxelModelEffect } from "./VoxelModelEffect";
5
- import { CondtionalTreeReader } from "../../../Voxels/State/CondiotnalTreeReader";
2
+ import { VoxelLUT } from "../../../Voxels/Data/VoxelLUT";
3
+ import { GeometryLUT } from "../../../Voxels/Data/GeometryLUT";
6
4
  export class VoxelConstructor {
7
5
  id;
8
6
  builder;
9
- data;
10
7
  isModel = true;
11
- geometries = [];
12
- modSchema;
13
- modTree;
14
- baseInputMap;
15
- conditonalInputMap;
16
- schema;
17
- effects;
18
- stateTree;
19
- condtioanlShapeStateTree;
20
- constructor(id, builder, data, voxleData) {
8
+ // effects: VoxelModelEffect;
9
+ constructor(id, builder) {
21
10
  this.id = id;
22
11
  this.builder = builder;
23
- this.data = data;
24
- this.baseInputMap = voxleData.baseGeometryInputMap;
25
- this.conditonalInputMap = voxleData.condiotnalGeometryInputMap;
26
- this.schema = new StateSchema(data.schema);
27
- this.stateTree = new StateTreeReader(this.schema, 0, data.stateTree);
28
- this.condtioanlShapeStateTree = new CondtionalTreeReader(this.schema, data.condiotnalStatements, data.condiotnalStateTree);
29
- this.modSchema = new StateSchema(voxleData.modSchema);
30
- this.modTree = new StateTreeReader(this.modSchema, 0, voxleData.modStateTree);
31
- this.effects = new VoxelModelEffect(this);
12
+ // this.effects = new VoxelModelEffect(this);
32
13
  }
33
14
  process() {
34
15
  let added = false;
35
16
  const builder = this.builder;
36
17
  const hashed = builder.space.getHash(builder.nVoxel, builder.position.x, builder.position.y, builder.position.z);
37
- const treeState = builder.space.stateCache[hashed];
38
- const modState = builder.space.modCache[hashed];
39
- if (treeState > -1) {
40
- const geoLinks = this.data.stateMap[treeState];
41
- const geometries = this.data.stateGeometryMap[treeState];
42
- const geometriesLength = geoLinks.length;
43
- const inputs = this.baseInputMap[modState][treeState];
44
- for (let i = 0; i < geometriesLength; i++) {
45
- const nodeId = geoLinks[i];
46
- const geoInputs = inputs[nodeId];
47
- const geomtry = VoxelModelConstructorRegister.geometry[geometries[i]];
48
- const nodesLength = geomtry.nodes.length;
49
- for (let k = 0; k < nodesLength; k++) {
50
- const geo = geomtry.nodes[k];
51
- geo.builder = this.builder;
52
- const addedGeo = geo.add(geoInputs[k]);
53
- if (addedGeo)
54
- added = true;
55
- }
18
+ const trueVoxelId = builder.voxel.getVoxelId();
19
+ const voxelId = builder.space.voxelCache[hashed];
20
+ const reltionalVoxelId = builder.space.reltionalVoxelCache[hashed];
21
+ const geomtriesIndex = VoxelLUT.getGeometryIndex(voxelId, reltionalVoxelId);
22
+ const geomtries = GeometryLUT.geometryIndex[geomtriesIndex];
23
+ const inputsIndex = VoxelLUT.getGeometryInputIndex(voxelId, reltionalVoxelId);
24
+ const inputs = GeometryLUT.geometryInputsIndex[inputsIndex];
25
+ const geometriesLength = geomtries.length;
26
+ for (let i = 0; i < geometriesLength; i++) {
27
+ const nodeId = geomtries[i];
28
+ const inputsIndex = inputs[i];
29
+ const geoInputs = GeometryLUT.geometryInputs[inputsIndex];
30
+ const geometry = VoxelModelConstructorRegister.geometry[nodeId];
31
+ const nodesLength = geometry.nodes.length;
32
+ for (let k = 0; k < nodesLength; k++) {
33
+ const geo = geometry.nodes[k];
34
+ geo.builder = this.builder;
35
+ const addedGeo = geo.add(geoInputs[k]);
36
+ if (addedGeo)
37
+ added = true;
56
38
  }
57
39
  }
58
- const conditonalTreeState = builder.space.conditonalStateCache[hashed];
59
- if (conditonalTreeState > -1) {
60
- const condiotnalNodes = this.data.condiotnalShapeStateMap[conditonalTreeState];
61
- const condiotnalNodesLength = condiotnalNodes.length;
62
- for (let c = 0; c < condiotnalNodesLength; c++) {
63
- const geometries = condiotnalNodes[c];
64
- const geometriesLength = geometries.length;
65
- const inputs = this.conditonalInputMap[modState][c];
40
+ const conditioanlNodes = VoxelLUT.getConditionalGeometryNodes(trueVoxelId);
41
+ if (conditioanlNodes) {
42
+ const modelState = VoxelLUT.voxelIdToModelState[voxelId];
43
+ const reltionalState = builder.space.reltionalStateCache[hashed];
44
+ const nodesLength = conditioanlNodes.length;
45
+ for (let i = 0; i < nodesLength; i++) {
46
+ const [geoId, requiredModelState, requiredModelReltionalState] = conditioanlNodes[i];
47
+ if (requiredModelState !== modelState ||
48
+ !requiredModelReltionalState[reltionalState])
49
+ continue;
50
+ const geomtries = GeometryLUT.geometryIndex[geoId];
51
+ const inputsIndex = VoxelLUT.getConditionalGeometryInputIndex(geoId, voxelId, reltionalVoxelId);
52
+ const inputs = GeometryLUT.geometryInputsIndex[inputsIndex];
53
+ const geometriesLength = geomtries.length;
66
54
  for (let i = 0; i < geometriesLength; i++) {
67
- const geoInputs = inputs[i];
68
- const geomtry = VoxelModelConstructorRegister.geometry[geometries[i]];
69
- const nodesLength = geomtry.nodes.length;
55
+ const nodeId = geomtries[i];
56
+ const inputsIndex = inputs[i];
57
+ const geoInputs = GeometryLUT.geometryInputs[inputsIndex];
58
+ const geometry = VoxelModelConstructorRegister.geometry[nodeId];
59
+ const nodesLength = geometry.nodes.length;
70
60
  for (let k = 0; k < nodesLength; k++) {
71
- const geo = geomtry.nodes[k];
61
+ const geo = geometry.nodes[k];
72
62
  geo.builder = this.builder;
73
63
  const addedGeo = geo.add(geoInputs[k]);
74
64
  if (addedGeo)
@@ -77,7 +67,11 @@ export class VoxelConstructor {
77
67
  }
78
68
  }
79
69
  }
80
- this.effects.addEffects(builder.voxel.getState(), builder.origin, builder.effects);
70
+ /* this.effects.addEffects(
71
+ builder.voxel.getState(),
72
+ builder.origin,
73
+ builder.effects
74
+ ); */
81
75
  builder.clearCalculatedData();
82
76
  return added;
83
77
  }
@@ -5,18 +5,15 @@ export declare class VoxelGeometryBuilderCacheSpace {
5
5
  bounds: Vector3Like;
6
6
  foundHash: Uint8Array;
7
7
  voxelCache: Uint16Array;
8
- modCache: Int32Array;
9
- stateCache: Int32Array;
10
- conditonalStateCache: Int32Array;
8
+ trueVoxelCache: Uint16Array;
9
+ reltionalVoxelCache: Uint16Array;
10
+ reltionalStateCache: Uint16Array;
11
11
  noCastAO: Uint8Array;
12
12
  offset: Vec3Array;
13
13
  voxelCursor: VoxelCursor;
14
14
  constructor(bounds: Vector3Like);
15
15
  start(x: number, y: number, z: number): void;
16
16
  getIndex(x: number, y: number, z: number): number;
17
- getConstructor(index: number): import("./VoxelConstructor").VoxelConstructor | null;
18
- getGeomtry(index: number): number[] | null;
19
- getConditionalGeomtry(index: number): number[][] | null;
20
17
  getHash(dataCursor: DataCursorInterface, x: number, y: number, z: number): number;
21
18
  private hashState;
22
19
  }
@@ -1,13 +1,18 @@
1
- import { VoxelModelConstructorRegister } from "./VoxelModelConstructorRegister";
2
1
  import { VoxelCursor } from "../../../Voxels/Cursor/VoxelCursor";
3
2
  import { GetYXZOrderArrayIndex } from "../../../Math/Indexing";
3
+ import { VoxelSchemas } from "../../../Voxels/State/VoxelSchemas";
4
+ import { VoxelLUT } from "../../../Voxels/Data/VoxelLUT";
4
5
  export class VoxelGeometryBuilderCacheSpace {
5
6
  bounds;
6
7
  foundHash;
8
+ //cache of the voxel ids
7
9
  voxelCache;
8
- modCache;
9
- stateCache;
10
- conditonalStateCache;
10
+ //cache of the true voxel ids
11
+ trueVoxelCache;
12
+ //cache of the reltional voxel ids
13
+ reltionalVoxelCache;
14
+ //cache of the reltional state
15
+ reltionalStateCache;
11
16
  noCastAO;
12
17
  offset = [0, 0, 0];
13
18
  voxelCursor = new VoxelCursor();
@@ -16,9 +21,9 @@ export class VoxelGeometryBuilderCacheSpace {
16
21
  const volume = bounds.x * bounds.y * bounds.z;
17
22
  this.foundHash = new Uint8Array(volume);
18
23
  this.voxelCache = new Uint16Array(volume);
19
- this.modCache = new Int32Array(volume);
20
- this.stateCache = new Int32Array(volume);
21
- this.conditonalStateCache = new Int32Array(volume);
24
+ this.trueVoxelCache = new Uint16Array(volume);
25
+ this.reltionalVoxelCache = new Uint16Array(volume);
26
+ this.reltionalStateCache = new Uint16Array(volume);
22
27
  this.noCastAO = new Uint8Array(volume);
23
28
  }
24
29
  start(x, y, z) {
@@ -27,29 +32,14 @@ export class VoxelGeometryBuilderCacheSpace {
27
32
  this.offset[2] = z;
28
33
  this.foundHash.fill(0);
29
34
  this.voxelCache.fill(0);
30
- this.modCache.fill(-1);
31
- this.stateCache.fill(-1);
32
- this.conditonalStateCache.fill(-1);
35
+ this.trueVoxelCache.fill(0);
36
+ this.reltionalVoxelCache.fill(0);
37
+ this.reltionalStateCache.fill(0);
33
38
  this.noCastAO.fill(0);
34
39
  }
35
40
  getIndex(x, y, z) {
36
41
  return GetYXZOrderArrayIndex(x - this.offset[0], y - this.offset[1], z - this.offset[2], this.bounds.x, this.bounds.y, this.bounds.z);
37
42
  }
38
- getConstructor(index) {
39
- if (this.foundHash[index] < 2)
40
- return null;
41
- return VoxelModelConstructorRegister.constructorsPaltte[this.voxelCache[index]];
42
- }
43
- getGeomtry(index) {
44
- if (this.foundHash[index] < 2)
45
- return null;
46
- return VoxelModelConstructorRegister.constructorsPaltte[this.voxelCache[index]].data.stateGeometryMap[this.stateCache[index]];
47
- }
48
- getConditionalGeomtry(index) {
49
- if (this.foundHash[index] < 2)
50
- return null;
51
- return VoxelModelConstructorRegister.constructorsPaltte[this.voxelCache[index]].data.condiotanlGeometryStatePalette[this.conditonalStateCache[index]];
52
- }
53
43
  getHash(dataCursor, x, y, z) {
54
44
  const hashed = this.getIndex(x, y, z);
55
45
  if (this.foundHash[hashed] == 0) {
@@ -67,29 +57,35 @@ export class VoxelGeometryBuilderCacheSpace {
67
57
  this.foundHash[index] = 1;
68
58
  return;
69
59
  }
70
- const voxelId = voxel.getVoxelId();
71
- const voxelConstructor = VoxelModelConstructorRegister.constructorsPaltte[voxelId];
72
- if (!voxelConstructor) {
73
- this.foundHash[index] = 1;
74
- return;
75
- }
60
+ const trueVoxelId = voxel.getVoxelId();
61
+ const voxelId = voxel.getId();
62
+ this.trueVoxelCache[index] = trueVoxelId;
76
63
  this.voxelCache[index] = voxelId;
77
64
  this.foundHash[index] = 2;
78
65
  //no ao
79
66
  this.noCastAO[index] = voxel.isLightSource() || voxel.noAO() ? 1 : 0;
80
- //state
81
- const state = voxelConstructor.stateTree.getState(voxel.getState());
82
- this.stateCache[index] = state;
83
- //mod
84
- const mod = voxelConstructor.modTree.getState(voxel.getMod());
85
- this.modCache[index] = mod;
86
67
  this.voxelCursor.copy(voxel).process();
87
- voxelConstructor.schema.position.x = x;
88
- voxelConstructor.schema.position.y = y;
89
- voxelConstructor.schema.position.z = z;
90
- voxelConstructor.schema.voxel = this.voxelCursor;
91
- voxelConstructor.schema.dataCursor = dataCursor;
92
- const conditonalState = voxelConstructor.condtioanlShapeStateTree.getState();
93
- this.conditonalStateCache[index] = conditonalState;
68
+ const reltioanlBuilder = VoxelSchemas.reltionalStateBuilder.get(VoxelLUT.models.getStringId(VoxelLUT.modelsIndex[trueVoxelId]));
69
+ reltioanlBuilder.position.x = x;
70
+ reltioanlBuilder.position.y = y;
71
+ reltioanlBuilder.position.z = z;
72
+ reltioanlBuilder.voxel = this.voxelCursor;
73
+ reltioanlBuilder.dataCursor = dataCursor;
74
+ const reltionalState = reltioanlBuilder.buildState();
75
+ this.reltionalStateCache[index] = reltionalState;
76
+ const reltioanlModBuilder = VoxelSchemas.reltionalModBuilder.get(VoxelLUT.voxelIds.getStringId(trueVoxelId));
77
+ let reltionalMod = 0;
78
+ if (reltioanlModBuilder) {
79
+ reltioanlModBuilder.position.x = x;
80
+ reltioanlModBuilder.position.y = y;
81
+ reltioanlModBuilder.position.z = z;
82
+ reltioanlModBuilder.voxel = this.voxelCursor;
83
+ reltioanlModBuilder.dataCursor = dataCursor;
84
+ reltionalMod = reltioanlModBuilder.buildState();
85
+ }
86
+ else {
87
+ this.reltionalVoxelCache[index] = 0;
88
+ }
89
+ this.reltionalVoxelCache[index] = VoxelLUT.getReltionalVoxelId(trueVoxelId, reltionalState, reltionalMod);
94
90
  }
95
91
  }
@@ -1,8 +1,8 @@
1
- import { QuadScalarVertexData } from "../../Geomtry/Primitives/QuadVertexData";
1
+ import { QuadScalarVertexData } from "../../Geometry/Primitives/QuadVertexData";
2
2
  import { VoxelFaces } from "../../../Math";
3
- import { QuadVerticies } from "../../Geomtry/Geometry.types";
4
- import { ProtoMesh } from "../../Geomtry/Proto/ProtoMesh";
5
- import { VoxelMeshBVHBuilder } from "../Geomtry/VoxelMeshBVHBuilder";
3
+ import { QuadVerticies } from "../../Geometry/Geometry.types";
4
+ import { ProtoMesh } from "../../Geometry/Proto/ProtoMesh";
5
+ import { VoxelMeshBVHBuilder } from "../Geometry/VoxelMeshBVHBuilder";
6
6
  import { Vec3Array, Vector3Like, Vector4Like } from "@amodx/math";
7
7
  import { VoxelCursorInterface } from "../../../Voxels/Cursor/VoxelCursor.interface.js";
8
8
  import { DataCursorInterface } from "../../../Voxels/Cursor/DataCursor.interface.js";
@@ -1,12 +1,12 @@
1
1
  //tools
2
2
  //data
3
- import { QuadScalarVertexData } from "../../Geomtry/Primitives/QuadVertexData";
3
+ import { QuadScalarVertexData } from "../../Geometry/Primitives/QuadVertexData";
4
4
  import { VoxelFaces, VoxelFacesArray } from "../../../Math";
5
- import { QuadVerticies } from "../../Geomtry/Geometry.types";
5
+ import { QuadVerticies } from "../../Geometry/Geometry.types";
6
6
  import calculateFaceData from "./Common/Calc/FaceDataCalc.js";
7
- import { ProtoMesh } from "../../Geomtry/Proto/ProtoMesh";
7
+ import { ProtoMesh } from "../../Geometry/Proto/ProtoMesh";
8
8
  import { Vector3Like, Vector4Like } from "@amodx/math";
9
- import { VoxelMeshVertexStructCursor } from "../Geomtry/VoxelMeshVertexStructCursor";
9
+ import { VoxelMeshVertexStructCursor } from "../Geometry/VoxelMeshVertexStructCursor";
10
10
  class VoxelVars {
11
11
  textureIndex = 0;
12
12
  overlayTextures = Vector4Like.Create();
@@ -1,27 +1,14 @@
1
- import { StringPalette } from "../../../Util/StringPalette";
2
- import { CompiledVoxelGeometrySyncData, CompiledVoxelModelData } from "../../../Voxels/Models/CompiledVoxelModel.types";
3
1
  import { GeoemtryNodeConstructor } from "./Nodes/GeometryNode";
4
2
  import { VoxelConstructor } from "./VoxelConstructor";
5
3
  import { VoxelGeometryConstructor } from "./Nodes/VoxelGeometryConstructor";
6
- import { AOOcclusionFaceIndex } from "../../../Voxels/Models/Indexing/AOOcclusionFaceIndex";
7
- import { CulledOcclusionFaceIndex } from "../../../Voxels/Models/Indexing/CulledOcclusionFaceIndex";
8
4
  export declare class VoxelModelConstructorRegister {
9
- static geometryPalette: StringPalette;
10
5
  static geometry: VoxelGeometryConstructor[];
11
- static rulesless: boolean[];
12
- static aoIndex: AOOcclusionFaceIndex;
13
- static faceCullIndex: CulledOcclusionFaceIndex;
14
- static vertexHitMap: number[][][];
15
- static faceCullMap: number[][];
16
- static setGeometryPalette(palette: string[]): void;
17
- static modelData: Map<string, CompiledVoxelModelData>;
18
6
  static customNodes: Map<string, GeoemtryNodeConstructor<any, any>>;
19
- static registerModels(models: CompiledVoxelModelData[]): void;
20
7
  static registerCustomNode(id: string, node: GeoemtryNodeConstructor<any, any>): void;
21
8
  static getCustomNode(id: string): GeoemtryNodeConstructor<any, any>;
22
9
  static constructorsPaltte: VoxelConstructor[];
23
10
  static constructors: Map<string, VoxelConstructor>;
24
11
  static getConstructor(id: string): VoxelConstructor;
25
12
  static registerVoxel(voxel: VoxelConstructor | VoxelConstructor[]): void;
26
- static registerGeometry(geometries: CompiledVoxelGeometrySyncData[]): void;
13
+ static init(): void;
27
14
  }
@@ -1,22 +1,9 @@
1
- import { StringPalette } from "../../../Util/StringPalette";
2
1
  import { VoxelGeometryConstructor } from "./Nodes/VoxelGeometryConstructor";
3
- import { VoxelPalettesRegister } from "../../../Voxels/Data/VoxelPalettesRegister";
2
+ import { VoxelLUT } from "../../../Voxels/Data/VoxelLUT";
3
+ import { GeometryLUT } from "../../../Voxels/Data/GeometryLUT";
4
4
  export class VoxelModelConstructorRegister {
5
- static geometryPalette;
6
5
  static geometry = [];
7
- static rulesless = [];
8
- static aoIndex;
9
- static faceCullIndex;
10
- static vertexHitMap;
11
- static faceCullMap;
12
- static setGeometryPalette(palette) {
13
- this.geometryPalette = new StringPalette(palette);
14
- }
15
- static modelData = new Map();
16
6
  static customNodes = new Map();
17
- static registerModels(models) {
18
- models.forEach((_) => this.modelData.set(_.id, _));
19
- }
20
7
  static registerCustomNode(id, node) {
21
8
  this.customNodes.set(id, node);
22
9
  }
@@ -35,17 +22,16 @@ export class VoxelModelConstructorRegister {
35
22
  if (Array.isArray(voxel)) {
36
23
  for (const vox of voxel) {
37
24
  this.constructors.set(vox.id, vox);
38
- this.constructorsPaltte[VoxelPalettesRegister.voxelIds.getNumberId(vox.id)] = vox;
25
+ this.constructorsPaltte[VoxelLUT.voxelIds.getNumberId(vox.id)] = vox;
39
26
  }
40
27
  return;
41
28
  }
42
- this.constructorsPaltte[VoxelPalettesRegister.voxelIds.getNumberId(voxel.id)] = voxel;
29
+ this.constructorsPaltte[VoxelLUT.voxelIds.getNumberId(voxel.id)] = voxel;
43
30
  this.constructors.set(voxel.id, voxel);
44
31
  }
45
- static registerGeometry(geometries) {
46
- for (const geometry of geometries) {
47
- const paletteId = this.geometryPalette.getNumberId(geometry.id);
48
- this.geometry[paletteId] = new VoxelGeometryConstructor(paletteId, geometry);
32
+ static init() {
33
+ for (let i = 0; i < GeometryLUT.compiledGeometry.length; i++) {
34
+ this.geometry[i] = new VoxelGeometryConstructor(i);
49
35
  }
50
36
  }
51
37
  }
@@ -1,13 +1,7 @@
1
1
  import { VoxelConstructor } from "./VoxelConstructor";
2
- import { StateTreeReader } from "../../../Voxels/State/StateTreeReader";
3
- import { Vec3Array, Vector3Like } from "@amodx/math";
2
+ import { Vector3Like } from "@amodx/math";
4
3
  export declare class VoxelModelEffect {
5
4
  model: VoxelConstructor;
6
- effects: {
7
- id: string;
8
- reader: StateTreeReader;
9
- palette: Vec3Array[][];
10
- }[];
11
5
  constructor(model: VoxelConstructor);
12
6
  addEffects(state: number, origin: Vector3Like, effects: Record<string, number[]>): void;
13
7
  }
@@ -1,43 +1,40 @@
1
- import { StateTreeReader } from "../../../Voxels/State/StateTreeReader";
2
1
  export class VoxelModelEffect {
3
2
  model;
4
- effects = [];
3
+ /* effects: { id: string; reader: StateTreeReader; palette: Vec3Array[][] }[] =
4
+ []; */
5
5
  constructor(model) {
6
6
  this.model = model;
7
- for (const effect of model.data.effects) {
7
+ /* for (const effect of model.data.effects) {
8
8
  if (effect.type == "fx-points") {
9
- this.effects.push({
10
- id: effect.effectId,
11
- reader: new StateTreeReader(model.schema, 0, effect.tree),
12
- palette: effect.treePalette,
13
- });
9
+ this.effects.push({
10
+ id: effect.effectId,
11
+ reader: new StateTreeReader(model.schema, 0, effect.tree),
12
+ palette: effect.treePalette,
13
+ });
14
14
  }
15
- }
15
+ } */
16
16
  }
17
17
  addEffects(state, origin, effects) {
18
- if (!this.effects.length)
19
- return;
20
- for (let i = 0; i < this.effects.length; i++) {
21
- const e = this.effects[i];
22
- let array = effects[e.id];
23
- if (!array) {
18
+ /* if (!this.effects.length) return;
19
+ for (let i = 0; i < this.effects.length; i++) {
20
+ const e = this.effects[i];
21
+ let array = effects[e.id];
22
+ if (!array) {
24
23
  array = [];
25
24
  effects[e.id] = array;
26
- }
27
- const effectState = e.reader.getState(state);
28
- if (effectState == -1)
29
- continue;
30
- const v = e.palette[effectState];
31
- if (!v)
32
- continue;
33
- let start = array.length;
34
- for (let i = 0; i < v.length; i++) {
25
+ }
26
+ const effectState = e.reader.getState(state);
27
+ if (effectState == -1) continue;
28
+ const v = e.palette[effectState];
29
+ if (!v) continue;
30
+ let start = array.length;
31
+ for (let i = 0; i < v.length; i++) {
35
32
  const point = v[i];
36
33
  array[start] = origin.x + point[0];
37
34
  array[start + 1] = origin.y + point[1];
38
35
  array[start + 2] = origin.z + point[2];
39
36
  start += 3;
40
- }
41
- }
37
+ }
38
+ } */
42
39
  }
43
40
  }
@@ -1,5 +1,5 @@
1
1
  import { SectionMesh } from "./SectionMesh";
2
- import { CompactedSectionVoxelMesh } from "../../Mesher/Voxels/Geomtry/CompactedSectionVoxelMesh";
2
+ import { CompactedSectionVoxelMesh } from "../../Mesher/Voxels/Geometry/CompactedSectionVoxelMesh";
3
3
  export declare abstract class DVESectionMeshes {
4
4
  abstract updateVertexData(section: SectionMesh, data: CompactedSectionVoxelMesh): SectionMesh;
5
5
  abstract returnMesh(mesh: any): void;
@@ -1,5 +1,5 @@
1
1
  import { MeshRegister } from "./MeshRegister.js";
2
- import { CompactedSectionVoxelMesh } from "../Mesher/Voxels/Geomtry/CompactedSectionVoxelMesh";
2
+ import { CompactedSectionVoxelMesh } from "../Mesher/Voxels/Geometry/CompactedSectionVoxelMesh";
3
3
  const added = new Set();
4
4
  const compacted = new CompactedSectionVoxelMesh();
5
5
  const location = [0, 0, 0, 0];
@@ -1,4 +1,4 @@
1
- import { Vector3Like } from "@amodx/math";
1
+ import { Vec2Array, Vector3Like } from "@amodx/math";
2
2
  export interface MesherSettingsData {
3
3
  }
4
4
  export declare class MesherSettingsData {
@@ -16,6 +16,7 @@ export declare class RenderSettingsData {
16
16
  /**Renderer will not dispose of buffers to keep them renderering. */
17
17
  cpuBound: boolean;
18
18
  bufferMode: "single" | "multi";
19
+ textureSize: Vec2Array;
19
20
  }
20
21
  export interface UpdatingSettings {
21
22
  }
@@ -13,6 +13,7 @@ export class RenderSettingsData {
13
13
  cpuBound = false;
14
14
  /* Single buffer mode will store vertex and indicies in single big buffer. While multi will store a buffer for each section mesh.*/
15
15
  bufferMode = "multi";
16
+ textureSize = [16, 16];
16
17
  }
17
18
  export class UpdatingSettings {
18
19
  /**Sector sections are marked as dirty so they can be processed later. */
@@ -1,17 +1,19 @@
1
- declare class GeomtryStats {
2
- /**The total geomtry faces */
1
+ declare class GeometryStats {
2
+ /**The total geometry faces */
3
3
  faces: number;
4
4
  }
5
5
  declare class PaletteStats {
6
6
  /**The final voxel palette id size. */
7
7
  paletteSize: number;
8
+ /**The final reltional voxel palette id size. */
9
+ reltionalPaletteSize: number;
8
10
  }
9
11
  /**
10
12
  * Stores data from the results of the engine building data and other things.
11
13
  */
12
14
  export declare class EngineStats {
13
15
  /** Stats to do with the vlox model system. */
14
- static geomtry: GeomtryStats;
16
+ static geometry: GeometryStats;
15
17
  /** Stats to do with the vloxel palette system. */
16
18
  static palette: PaletteStats;
17
19
  static log(): string;
@@ -1,24 +1,26 @@
1
- class GeomtryStats {
2
- /**The total geomtry faces */
1
+ class GeometryStats {
2
+ /**The total geometry faces */
3
3
  faces = 0;
4
4
  }
5
5
  class PaletteStats {
6
6
  /**The final voxel palette id size. */
7
7
  paletteSize = 0;
8
+ /**The final reltional voxel palette id size. */
9
+ reltionalPaletteSize = 0;
8
10
  }
9
11
  /**
10
12
  * Stores data from the results of the engine building data and other things.
11
13
  */
12
14
  export class EngineStats {
13
15
  /** Stats to do with the vlox model system. */
14
- static geomtry = new GeomtryStats();
16
+ static geometry = new GeometryStats();
15
17
  /** Stats to do with the vloxel palette system. */
16
18
  static palette = new PaletteStats();
17
19
  static log() {
18
20
  let output = "DVE Stats\n";
19
- //geomtry
20
- output += "Geomtry\n";
21
- output += `Faces: ${this.geomtry.faces}\n`;
21
+ //geometry
22
+ output += "Geometry\n";
23
+ output += `Faces: ${this.geometry.faces}\n`;
22
24
  //palettes
23
25
  output += "Palette\n";
24
26
  output += `Paltte Size: ${this.palette.paletteSize}\n`;
@@ -5,7 +5,7 @@ import { NumberPalette } from "../../Util/NumberPalette";
5
5
  import { IVoxelTemplate } from "../../Templates/VoxelTemplates.types";
6
6
  import { BinaryBuffer } from "../../Util/BinaryBuffer/index";
7
7
  import { VoxelPaletteArchiveReader } from "../../Voxels/Archive/VoxelPaletteArchiveReader";
8
- import { BoundingBox } from "@amodx/math/Geomtry/Bounds/BoundingBox";
8
+ import { BoundingBox } from "@amodx/math/Geometry/Bounds/BoundingBox";
9
9
  type TemplateCursor = {
10
10
  position: Vec3Array;
11
11
  raw: RawVoxelData;
@@ -1,10 +1,10 @@
1
1
  import { Flat3DIndex, Vector3Like } from "@amodx/math";
2
2
  import { NumberPalette } from "../../Util/NumberPalette";
3
- import { VoxelPalettesRegister } from "../../Voxels/Data/VoxelPalettesRegister";
3
+ import { VoxelLUT } from "../../Voxels/Data/VoxelLUT";
4
4
  import { VoxelTagsRegister } from "../../Voxels/Data/VoxelTagsRegister";
5
5
  import { BinaryBuffer, BinaryBufferFormat, } from "../../Util/BinaryBuffer/index";
6
6
  import { VoxelPaletteArchiveReader } from "../../Voxels/Archive/VoxelPaletteArchiveReader";
7
- import { BoundingBox } from "@amodx/math/Geomtry/Bounds/BoundingBox";
7
+ import { BoundingBox } from "@amodx/math/Geometry/Bounds/BoundingBox";
8
8
  const point = Vector3Like.Create();
9
9
  export class ArchivedVoxelTemplate {
10
10
  index = Flat3DIndex.GetXZYOrder();
@@ -35,7 +35,7 @@ export class ArchivedVoxelTemplate {
35
35
  return this.index.getIndexXYZ(x, y, z);
36
36
  }
37
37
  getId(index) {
38
- return VoxelPalettesRegister.getVoxelIdFromString(...this.voxelPalette.getVoxelData(this.ids.getValue(index)));
38
+ return VoxelLUT.getVoxelIdFromString(...this.voxelPalette.getVoxelData(this.ids.getValue(index)));
39
39
  }
40
40
  getLevel(index) {
41
41
  return this.levelPalette.getValue(this.level.getValue(index));
@@ -45,9 +45,9 @@ export class ArchivedVoxelTemplate {
45
45
  }
46
46
  getSecondary(index) {
47
47
  const id = this.getId(index);
48
- const trueId = VoxelPalettesRegister.voxels[id][0];
48
+ const trueId = VoxelLUT.voxels[id][0];
49
49
  if (VoxelTagsRegister.VoxelTags[trueId]["dve_can_have_secondary"]) {
50
- return VoxelPalettesRegister.getVoxelIdFromString(...this.voxelPalette.getVoxelData(this.secondaryPalette.getValue(this.secondary.getValue(index))));
50
+ return VoxelLUT.getVoxelIdFromString(...this.voxelPalette.getVoxelData(this.secondaryPalette.getValue(this.secondary.getValue(index))));
51
51
  }
52
52
  return 0;
53
53
  }
@@ -1,6 +1,6 @@
1
1
  import { ArchivedVoxelTemplate } from "../ArchivedVoxelTemplate";
2
2
  import { DataCursorInterface } from "../../../Voxels/Cursor/DataCursor.interface";
3
- import { BoundsMinMaxData } from "@amodx/math/Geomtry/Bounds/BoundsInterface";
3
+ import { BoundsMinMaxData } from "@amodx/math/Geometry/Bounds/BoundsInterface";
4
4
  /**
5
5
  * Creates an archived template using the passed in the data cursor.
6
6
  * @param dimension