@divinevoxel/vlox 0.0.77 → 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,7 +1,8 @@
1
- import { VoxelRelativeCubeIndexPositionMap } from "../../../../../Voxels/Models/Indexing/VoxelRelativeCubeIndex";
2
- import { VoxelModelConstructorRegister } from "../../VoxelModelConstructorRegister";
1
+ import { VoxelLUT } from "../../../../../Voxels/Data/VoxelLUT";
2
+ import { GeometryLUT } from "../../../../../Voxels/Data/GeometryLUT";
3
+ import { VoxelRelativeCubeIndexPositionMap } from "../../../../../Voxels/Geometry/VoxelRelativeCubeIndex";
3
4
  export function CullRulledFace(builder, trueFaceIndex) {
4
- const faceIndexes = VoxelModelConstructorRegister.faceCullMap[trueFaceIndex];
5
+ const faceIndexes = GeometryLUT.faceCullMap[trueFaceIndex];
5
6
  if (!faceIndexes)
6
7
  return true;
7
8
  for (let i = 0; i < faceIndexes.length; i++) {
@@ -10,47 +11,57 @@ export function CullRulledFace(builder, trueFaceIndex) {
10
11
  const hashed = builder.space.getHash(builder.nVoxel, builder.position.x + p[0], builder.position.y + p[1], builder.position.z + p[2]);
11
12
  if (builder.space.foundHash[hashed] < 2)
12
13
  continue;
13
- const constructor = builder.space.getConstructor(hashed);
14
- const offsetBaseGometry = builder.space.getGeomtry(hashed);
14
+ const voxelStringId = VoxelLUT.voxelIds.getStringId(builder.space.trueVoxelCache[hashed]);
15
+ const voxelId = builder.space.voxelCache[hashed];
16
+ const reltionalVoxelId = builder.space.reltionalVoxelCache[hashed];
17
+ const geometryIndex = VoxelLUT.getGeometryIndex(voxelId, reltionalVoxelId);
18
+ const offsetBaseGometry = GeometryLUT.geometryIndex[geometryIndex];
15
19
  if (offsetBaseGometry) {
16
20
  for (let i = 0; i < offsetBaseGometry.length; i++) {
17
21
  const geoId = offsetBaseGometry[i];
18
- if (VoxelModelConstructorRegister.rulesless[geoId])
22
+ if (GeometryLUT.rulelessIndex[geoId])
19
23
  continue;
20
- const cullingProcedure = VoxelModelConstructorRegister.geometry[geoId].cullingProcedure;
24
+ const cullingProcedure = GeometryLUT.geometryCullingProcedures[GeometryLUT.geometryCullingProceduresIndex[geoId]];
21
25
  if (cullingProcedure.type == "transparent") {
22
- if (constructor.id != builder.voxel.getStringId())
26
+ if (voxelStringId != builder.voxel.getStringId())
23
27
  continue;
24
28
  }
25
29
  else {
26
30
  if (cullingProcedure.type != "default")
27
31
  continue;
28
32
  }
29
- if (VoxelModelConstructorRegister.faceCullIndex.getValue(geoId, directionIndex, trueFaceIndex) == 1) {
33
+ if (GeometryLUT.faceCullIndex.getValue(geoId, directionIndex, trueFaceIndex) == 1) {
30
34
  return false;
31
35
  }
32
36
  }
33
37
  }
34
- const offsetConditonalGeometry = builder.space.getConditionalGeomtry(hashed);
38
+ const trueVoxelId = builder.space.trueVoxelCache[hashed];
39
+ const offsetConditonalGeometry = VoxelLUT.getConditionalGeometryNodes(trueVoxelId);
35
40
  if (offsetConditonalGeometry) {
41
+ const modelState = VoxelLUT.voxelIdToModelState[voxelId];
42
+ const reltioanlModSeltate = builder.space.reltionalStateCache[hashed];
36
43
  for (let i = 0; i < offsetConditonalGeometry.length; i++) {
37
- const cond = offsetConditonalGeometry[i];
38
- for (let k = 0; k < cond.length; k++) {
39
- const geoId = cond[k];
40
- if (VoxelModelConstructorRegister.rulesless[geoId])
44
+ const [geoId, requiredModelState, requiredReltionalModelState] = offsetConditonalGeometry[i];
45
+ if (requiredModelState !== modelState ||
46
+ !requiredReltionalModelState[reltioanlModSeltate])
47
+ continue;
48
+ const geomerties = GeometryLUT.geometryIndex[geoId];
49
+ for (let k = 0; k < geomerties.length; k++) {
50
+ const geoId = geomerties[k];
51
+ if (GeometryLUT.rulelessIndex[geoId])
41
52
  continue;
42
- const cullingProcedure = VoxelModelConstructorRegister.geometry[geoId].cullingProcedure;
53
+ const cullingProcedure = GeometryLUT.geometryCullingProcedures[GeometryLUT.geometryCullingProceduresIndex[geoId]];
43
54
  if (cullingProcedure.type == "transparent") {
44
- if (constructor.id != builder.voxel.getStringId())
55
+ if (voxelStringId != builder.voxel.getStringId())
45
56
  continue;
46
57
  }
47
58
  else {
48
59
  if (cullingProcedure.type != "default")
49
60
  continue;
50
61
  }
51
- if (VoxelModelConstructorRegister.rulesless[geoId])
62
+ if (GeometryLUT.rulelessIndex[geoId])
52
63
  continue;
53
- if (VoxelModelConstructorRegister.faceCullIndex.getValue(geoId, directionIndex, trueFaceIndex) == 1)
64
+ if (GeometryLUT.faceCullIndex.getValue(geoId, directionIndex, trueFaceIndex) == 1)
54
65
  return false;
55
66
  }
56
67
  }
@@ -1,4 +1,4 @@
1
- import { QuadVerticies } from "../../../../Geomtry/Geometry.types";
1
+ import { QuadVerticies } from "../../../../Geometry/Geometry.types";
2
2
  import { VoxelModelBuilder } from "../../../Models/VoxelModelBuilder";
3
3
  import { Vec4Array } from "@amodx/math";
4
4
  export declare function ShadeRulelessFace(builder: VoxelModelBuilder, lightData: Record<QuadVerticies, number>, vertexWeights: Vec4Array[], verticesStride: number): void;
@@ -1,4 +1,4 @@
1
1
  import { VoxelModelBuilder } from "../../VoxelModelBuilder";
2
2
  import { Vec4Array } from "@amodx/math";
3
- import { QuadVerticies } from "../../../../Geomtry/Geometry.types";
3
+ import { QuadVerticies } from "../../../../Geometry/Geometry.types";
4
4
  export declare function ShadeRulledFace(builder: VoxelModelBuilder, trueFaceIndex: number, lightData: Record<QuadVerticies, number>, vertexWeights: Vec4Array[], vertexStride: number): void;
@@ -1,6 +1,7 @@
1
- import { VoxelRelativeCubeIndexPositionMap } from "../../../../../Voxels/Models/Indexing/VoxelRelativeCubeIndex";
2
- import { VoxelModelConstructorRegister } from "../../VoxelModelConstructorRegister";
1
+ import { VoxelRelativeCubeIndexPositionMap } from "../../../../../Voxels/Geometry/VoxelRelativeCubeIndex";
2
+ import { GeometryLUT } from "../../../../../Voxels/Data/GeometryLUT";
3
3
  import { getInterpolationValue } from "../Calc/CalcConstants";
4
+ import { VoxelLUT } from "../../../../../Voxels/Data/VoxelLUT";
4
5
  export function ShadeRulledFace(builder, trueFaceIndex, lightData, vertexWeights, vertexStride) {
5
6
  const noAO = builder.voxel.isLightSource() || builder.voxel.noAO();
6
7
  const worldLight = builder.vars.light;
@@ -10,7 +11,7 @@ export function ShadeRulledFace(builder, trueFaceIndex, lightData, vertexWeights
10
11
  worldLight.vertices[v] = getInterpolationValue(lightData, vertexWeights[v]);
11
12
  if (noAO)
12
13
  continue;
13
- const aoIndexes = VoxelModelConstructorRegister.vertexHitMap[trueFaceIndex][v];
14
+ const aoIndexes = GeometryLUT.aoVertexHitMap[trueFaceIndex][v];
14
15
  if (!aoIndexes)
15
16
  continue;
16
17
  for (let i = 0; i < aoIndexes.length; i++) {
@@ -20,16 +21,15 @@ export function ShadeRulledFace(builder, trueFaceIndex, lightData, vertexWeights
20
21
  if (builder.space.foundHash[hashed] < 2 ||
21
22
  builder.space.noCastAO[hashed] === 1)
22
23
  continue;
23
- const baseGeo = builder.space.getGeomtry(hashed);
24
- const conditonalGeo = builder.space.getConditionalGeomtry(hashed);
25
- if (!baseGeo && !conditonalGeo)
26
- continue;
27
- let length = 0;
24
+ const voxelId = builder.space.voxelCache[hashed];
25
+ const reltionalVoxelId = builder.space.reltionalVoxelCache[hashed];
26
+ const geometryIndex = VoxelLUT.getGeometryIndex(voxelId, reltionalVoxelId);
27
+ const baseGeo = GeometryLUT.geometryIndex[geometryIndex];
28
+ // if (!baseGeo && !conditonalGeo) continue;
28
29
  let shaded = false;
29
30
  if (baseGeo) {
30
- length = baseGeo.length;
31
- for (let geoIndex = 0; geoIndex < length; geoIndex++) {
32
- if (VoxelModelConstructorRegister.aoIndex.getValue(baseGeo[geoIndex], directionIndex, trueFaceIndex, v)) {
31
+ for (let geoIndex = 0; geoIndex < baseGeo.length; geoIndex++) {
32
+ if (GeometryLUT.aoIndex.getValue(baseGeo[geoIndex], directionIndex, trueFaceIndex, v)) {
33
33
  worldAO.vertices[v]++;
34
34
  if (worldAO.vertices[v] >= 3) {
35
35
  shaded = true;
@@ -38,17 +38,27 @@ export function ShadeRulledFace(builder, trueFaceIndex, lightData, vertexWeights
38
38
  }
39
39
  }
40
40
  }
41
- if (!conditonalGeo || shaded)
41
+ if (shaded)
42
42
  continue;
43
- length = conditonalGeo.length;
44
- for (let condtionsIndex = 0; condtionsIndex < length; condtionsIndex++) {
45
- const condiotnalength = conditonalGeo[condtionsIndex].length;
46
- for (let geoIndex = 0; geoIndex < condiotnalength; geoIndex++) {
47
- if (VoxelModelConstructorRegister.aoIndex.getValue(conditonalGeo[condtionsIndex][geoIndex], directionIndex, trueFaceIndex, v)) {
48
- worldAO.vertices[v]++;
49
- if (worldAO.vertices[v] >= 3) {
50
- shaded = true;
51
- break;
43
+ const trueVoxelId = builder.space.trueVoxelCache[hashed];
44
+ const offsetConditonalGeometry = VoxelLUT.getConditionalGeometryNodes(trueVoxelId);
45
+ if (offsetConditonalGeometry) {
46
+ const modelState = VoxelLUT.voxelIdToModelState[voxelId];
47
+ const reltioanlModSeltate = builder.space.reltionalStateCache[hashed];
48
+ for (let i = 0; i < offsetConditonalGeometry.length; i++) {
49
+ const [geoId, requiredModelState, requiredReltionalModelState] = offsetConditonalGeometry[i];
50
+ if (requiredModelState !== modelState ||
51
+ !requiredReltionalModelState[reltioanlModSeltate])
52
+ continue;
53
+ const geomerties = GeometryLUT.geometryIndex[geoId];
54
+ for (let geoIndex = 0; geoIndex < geomerties.length; geoIndex++) {
55
+ const geoId = geomerties[geoIndex];
56
+ if (GeometryLUT.aoIndex.getValue(geoId, directionIndex, trueFaceIndex, v)) {
57
+ worldAO.vertices[v]++;
58
+ if (worldAO.vertices[v] >= 3) {
59
+ shaded = true;
60
+ break;
61
+ }
52
62
  }
53
63
  }
54
64
  }
@@ -1,6 +1,6 @@
1
- import { BaseVoxelGeomtryTextureProcedureData } from "../Procedures/TextureProcedure";
1
+ import { BaseVoxelGeometryTextureProcedureData } from "../Procedures/TextureProcedure";
2
2
  import { VoxelModelBuilder } from "../VoxelModelBuilder";
3
- import { Quad } from "../../../Geomtry";
3
+ import { Quad } from "../../../Geometry";
4
4
  import { VoxelFaces } from "../../../../Math";
5
- import { Triangle } from "../../../Geomtry";
6
- export declare function GetTexture(builder: VoxelModelBuilder, data: number | BaseVoxelGeomtryTextureProcedureData, closestFace: VoxelFaces, primitive: Quad | Triangle): void;
5
+ import { Triangle } from "../../../Geometry";
6
+ export declare function GetTexture(builder: VoxelModelBuilder, data: number | BaseVoxelGeometryTextureProcedureData, closestFace: VoxelFaces, primitive: Quad | Triangle): void;
@@ -1,5 +1,5 @@
1
1
  import type { VoxelModelBuilder } from "../../../VoxelModelBuilder";
2
- import { QuadScalarVertexData } from "../../../../../Geomtry/Primitives/QuadVertexData";
2
+ import { QuadScalarVertexData } from "../../../../../Geometry/Primitives/QuadVertexData";
3
3
  import { CompassAngles } from "@amodx/math";
4
4
  export declare enum FlowVerticies {
5
5
  NorthEast = 0,
@@ -1,4 +1,4 @@
1
- import { QuadVerticies } from "../../../../../Geomtry/Geometry.types";
1
+ import { QuadVerticies } from "../../../../../Geometry/Geometry.types";
2
2
  import { CompassAngles } from "@amodx/math";
3
3
  var FlowStates;
4
4
  (function (FlowStates) {
@@ -1,8 +1,8 @@
1
1
  import { GeoemtryNode } from "../../GeometryNode";
2
- import { VoxelCustomGeomtryNode } from "../../../../../../Voxels/Models/VoxelModel.types";
2
+ import { VoxelCustomGeometryNode } from "../../../../../../Voxels/Geometry/VoxelGeometry.types";
3
3
  import { VoxelFaces } from "../../../../../../Math";
4
4
  import type { LiquidVoxelModelArgs } from "../../../../../../Voxels/Models/Defaults/LiquidVoxelModel";
5
- export declare class LiquidGeometryNode extends GeoemtryNode<VoxelCustomGeomtryNode, LiquidVoxelModelArgs> {
5
+ export declare class LiquidGeometryNode extends GeoemtryNode<VoxelCustomGeometryNode, LiquidVoxelModelArgs> {
6
6
  init(): void;
7
7
  isExposed(face: VoxelFaces): boolean;
8
8
  determineShading(face: VoxelFaces): void;
@@ -1,14 +1,14 @@
1
1
  import { GeoemtryNode } from "../../GeometryNode";
2
2
  import { CompassAngles } from "@amodx/math";
3
- import { Quad } from "../../../../../Geomtry/Primitives/Quad";
4
- import { QuadVerticies, } from "../../../../../Geomtry/Geometry.types";
5
- import { QuadScalarVertexData } from "../../../../../Geomtry/Primitives/QuadVertexData";
3
+ import { Quad } from "../../../../../Geometry/Primitives/Quad";
4
+ import { QuadVerticies, } from "../../../../../Geometry/Geometry.types";
5
+ import { QuadScalarVertexData } from "../../../../../Geometry/Primitives/QuadVertexData";
6
6
  import { VoxelFaceDirections, VoxelFaces } from "../../../../../../Math";
7
7
  import { getFlowAngle, getFlowGradient, FlowVerticies } from "./FlowGradient";
8
8
  import { VoxelLightData } from "../../../../../../Voxels/Cursor/VoxelLightData";
9
- import { addVoxelQuad } from "../../../../Geomtry/VoxelGeometryBuilder";
9
+ import { addVoxelQuad } from "../../../../Geometry/VoxelGeometryBuilder";
10
10
  import { GetTexture } from "../../../Common/GetTexture";
11
- import { Box } from "../../../../../Geomtry/Shapes/Box";
11
+ import { Box } from "../../../../../Geometry/Shapes/Box";
12
12
  const vertexValue = new QuadScalarVertexData();
13
13
  const vertexLevel = new QuadScalarVertexData();
14
14
  const lightData = new VoxelLightData();
@@ -1,9 +1,9 @@
1
1
  import { Vec4Array } from "@amodx/math";
2
2
  import { VoxelFaces } from "../../../../../Math";
3
- import { Quad } from "../../../../Geomtry/Primitives/Quad";
3
+ import { Quad } from "../../../../Geometry/Primitives/Quad";
4
4
  import { GeoemtryNode } from "../GeometryNode";
5
- import { CompiledQuadVoxelGeomtryNode, QuadVoxelGometryArgs } from "../Types/QuadVoxelGometryNodeTypes";
6
- export declare class QuadVoxelGometryNode extends GeoemtryNode<CompiledQuadVoxelGeomtryNode, QuadVoxelGometryArgs> {
5
+ import { CompiledQuadVoxelGeometryNode, QuadVoxelGometryArgs } from "../Types/QuadVoxelGometryNodeTypes";
6
+ export declare class QuadVoxelGometryNode extends GeoemtryNode<CompiledQuadVoxelGeometryNode, QuadVoxelGometryArgs> {
7
7
  quad: Quad;
8
8
  vertexWeights: [Vec4Array, Vec4Array, Vec4Array, Vec4Array];
9
9
  closestFace: VoxelFaces;
@@ -1,5 +1,5 @@
1
- import { Quad } from "../../../../Geomtry/Primitives/Quad";
2
- import { addVoxelQuad } from "../../../Geomtry/VoxelGeometryBuilder";
1
+ import { Quad } from "../../../../Geometry/Primitives/Quad";
2
+ import { addVoxelQuad } from "../../../Geometry/VoxelGeometryBuilder";
3
3
  import { GeoemtryNode } from "../GeometryNode";
4
4
  import { QuadVoxelGometryInputs, } from "../Types/QuadVoxelGometryNodeTypes";
5
5
  import { GetTexture } from "../../Common/GetTexture";
@@ -1,9 +1,9 @@
1
1
  import { Vec4Array } from "@amodx/math";
2
2
  import { VoxelFaces } from "../../../../../Math";
3
3
  import { GeoemtryNode } from "../GeometryNode";
4
- import { CompiledTriangleVoxelGeomtryNode, TriangleVoxelGometryArgs } from "../Types/TriangleVoxelGometryNodeTypes";
5
- import { Triangle } from "../../../../Geomtry/Primitives/Triangle";
6
- export declare class TriangleVoxelGeometryNode extends GeoemtryNode<CompiledTriangleVoxelGeomtryNode, TriangleVoxelGometryArgs> {
4
+ import { CompiledTriangleVoxelGeometryNode, TriangleVoxelGometryArgs } from "../Types/TriangleVoxelGometryNodeTypes";
5
+ import { Triangle } from "../../../../Geometry/Primitives/Triangle";
6
+ export declare class TriangleVoxelGeometryNode extends GeoemtryNode<CompiledTriangleVoxelGeometryNode, TriangleVoxelGometryArgs> {
7
7
  triangle: Triangle;
8
8
  vertexWeights: Vec4Array[];
9
9
  closestFace: VoxelFaces;
@@ -1,8 +1,8 @@
1
- import { addVoxelTriangle } from "../../../Geomtry/VoxelGeometryBuilder";
1
+ import { addVoxelTriangle } from "../../../Geometry/VoxelGeometryBuilder";
2
2
  import { GeoemtryNode } from "../GeometryNode";
3
3
  import { GetTexture } from "../../Common/GetTexture";
4
4
  import { TriangleVoxelGometryInputs, } from "../Types/TriangleVoxelGometryNodeTypes";
5
- import { Triangle } from "../../../../Geomtry/Primitives/Triangle";
5
+ import { Triangle } from "../../../../Geometry/Primitives/Triangle";
6
6
  import { CullRulledFace } from "../../Common/Faces/CullRulledFace";
7
7
  import { ShadeRulledFace } from "../../Common/Faces/ShadeRulledFace";
8
8
  import { ShadeRulelessFace } from "../../Common/Faces/ShadeRulelessFace";
@@ -1,14 +1,14 @@
1
1
  import { VoxelModelBuilder } from "../VoxelModelBuilder";
2
2
  import { VoxelGeometryConstructor } from "./VoxelGeometryConstructor";
3
3
  export interface GeoemtryNodeConstructor<Data = any, Args = any> {
4
- new (geometryPaletteId: number, geomtry: VoxelGeometryConstructor, data: Data): GeoemtryNode<Data, Args>;
4
+ new (geometryPaletteId: number, geometry: VoxelGeometryConstructor, data: Data): GeoemtryNode<Data, Args>;
5
5
  }
6
6
  export declare abstract class GeoemtryNode<Data = any, Args = any> {
7
7
  geometryPaletteId: number;
8
- geomtry: VoxelGeometryConstructor;
8
+ geometry: VoxelGeometryConstructor;
9
9
  data: Data;
10
10
  builder: VoxelModelBuilder;
11
- constructor(geometryPaletteId: number, geomtry: VoxelGeometryConstructor, data: Data);
11
+ constructor(geometryPaletteId: number, geometry: VoxelGeometryConstructor, data: Data);
12
12
  abstract init(): void;
13
13
  abstract add(args: Args): boolean;
14
14
  }
@@ -1,11 +1,11 @@
1
1
  export class GeoemtryNode {
2
2
  geometryPaletteId;
3
- geomtry;
3
+ geometry;
4
4
  data;
5
5
  builder;
6
- constructor(geometryPaletteId, geomtry, data) {
6
+ constructor(geometryPaletteId, geometry, data) {
7
7
  this.geometryPaletteId = geometryPaletteId;
8
- this.geomtry = geomtry;
8
+ this.geometry = geometry;
9
9
  this.data = data;
10
10
  }
11
11
  }
@@ -0,0 +1,7 @@
1
+ import { CompiledQuadVoxelGeometryNode } from "./QuadVoxelGometryNodeTypes";
2
+ import { CompiledTriangleVoxelGeometryNode } from "./TriangleVoxelGometryNodeTypes";
3
+ export type CompiledCustomGeometryNode = {
4
+ type: "custom";
5
+ id: string;
6
+ };
7
+ export type CompiledGeometryNodes = CompiledQuadVoxelGeometryNode | CompiledTriangleVoxelGeometryNode | CompiledCustomGeometryNode;
@@ -1,9 +1,9 @@
1
1
  import { Vec3Array, Vec4Array } from "@amodx/math";
2
- import { QuadUVData } from "../../../../Geomtry/Geometry.types";
2
+ import { QuadUVData } from "../../../../Geometry/Geometry.types";
3
3
  import { VoxelFaces } from "../../../../../Math";
4
4
  export type QuadVoxelGometryArgs = [
5
5
  enabled: boolean,
6
- texture: number,
6
+ texture: any,
7
7
  rotation: number,
8
8
  doubleSided: boolean,
9
9
  uvs: QuadUVData
@@ -15,7 +15,7 @@ declare enum ArgIndexes {
15
15
  DoubleSided = 3,
16
16
  UVs = 4
17
17
  }
18
- export type CompiledQuadVoxelGeomtryNode = {
18
+ export type CompiledQuadVoxelGeometryNode = {
19
19
  type: "quad";
20
20
  positions: [Vec3Array, Vec3Array, Vec3Array, Vec3Array];
21
21
  weights: [Vec4Array, Vec4Array, Vec4Array, Vec4Array];
@@ -2,7 +2,7 @@ import { Vec2Array, Vec3Array, Vec4Array } from "@amodx/math";
2
2
  import { VoxelFaces } from "../../../../../Math";
3
3
  export type TriangleVoxelGometryArgs = [
4
4
  enabled: boolean,
5
- texture: number,
5
+ texture: any,
6
6
  rotation: number,
7
7
  doubleSided: boolean,
8
8
  uvs: [v1: Vec2Array, v2: Vec2Array, v3: Vec2Array]
@@ -14,7 +14,7 @@ declare enum ArgIndexes {
14
14
  DoubleSided = 3,
15
15
  UVs = 4
16
16
  }
17
- export type CompiledTriangleVoxelGeomtryNode = {
17
+ export type CompiledTriangleVoxelGeometryNode = {
18
18
  type: "triangle";
19
19
  positions: [Vec3Array, Vec3Array, Vec3Array];
20
20
  weights: [Vec4Array, Vec4Array, Vec4Array];
@@ -1,9 +1,8 @@
1
- import { CompiledVoxelGeometrySyncData } from "../../../../Voxels/Models/CompiledVoxelModel.types";
2
1
  import { GeoemtryNode } from "./GeometryNode";
3
- import { CullingProcedureData } from "../../../../Voxels/Models/VoxelModel.types";
2
+ import { CullingProcedureData } from "../../../../Voxels/Geometry/VoxelGeometry.types";
4
3
  export declare class VoxelGeometryConstructor {
5
4
  geometryPaletteId: number;
6
5
  nodes: GeoemtryNode<any, any>[];
7
6
  cullingProcedure: CullingProcedureData;
8
- constructor(geometryPaletteId: number, data: CompiledVoxelGeometrySyncData);
7
+ constructor(geometryPaletteId: number);
9
8
  }
@@ -1,22 +1,23 @@
1
1
  import { QuadVoxelGometryNode } from "./Default/QuadVoxelGeometryNode";
2
2
  import { TriangleVoxelGeometryNode } from "./Default/TriangleVoxelGeometryNode";
3
3
  import { VoxelModelConstructorRegister } from "../VoxelModelConstructorRegister";
4
+ import { GeometryLUT } from "../../../../Voxels/Data/GeometryLUT";
4
5
  export class VoxelGeometryConstructor {
5
6
  geometryPaletteId;
6
7
  nodes = [];
7
8
  cullingProcedure;
8
- constructor(geometryPaletteId, data) {
9
+ constructor(geometryPaletteId) {
9
10
  this.geometryPaletteId = geometryPaletteId;
10
- this.cullingProcedure = data.cullingProcedure;
11
- for (const node of data.nodes) {
11
+ this.cullingProcedure =
12
+ GeometryLUT.geometryCullingProcedures[GeometryLUT.geometryCullingProceduresIndex[geometryPaletteId]];
13
+ const nodes = GeometryLUT.compiledGeometry[geometryPaletteId];
14
+ for (const node of nodes) {
12
15
  if (node.type == "custom") {
13
16
  const nodeClass = VoxelModelConstructorRegister.getCustomNode(node.id);
14
17
  const newNode = new nodeClass(geometryPaletteId, this, node);
15
18
  newNode.init();
16
19
  this.nodes.push(newNode);
17
20
  }
18
- }
19
- for (const node of data.nodes) {
20
21
  if (node.type == "quad") {
21
22
  const newNode = new QuadVoxelGometryNode(geometryPaletteId, this, node);
22
23
  newNode.init();
@@ -1,14 +1,14 @@
1
1
  import { Vec3Array, Vector4Like } from "@amodx/math";
2
- import type { Quad } from "../../../../Geomtry";
3
- import { VoxelModelBuilder } from "Mesher/Voxels/Models/VoxelModelBuilder";
4
- import { TextureProcedure, BaseVoxelGeomtryTextureProcedureData } from "../TextureProcedure";
2
+ import type { Quad } from "../../../../Geometry";
3
+ import { VoxelModelBuilder } from "../../../Models/VoxelModelBuilder";
4
+ import { TextureProcedure, BaseVoxelGeometryTextureProcedureData } from "../TextureProcedure";
5
5
  import { TextureId } from "Textures";
6
6
  import { VoxelFaces } from "Math";
7
7
  /**
8
8
  * Extend your data type so we can add a seed if we want, and define
9
9
  * the rotations we can choose from.
10
10
  */
11
- export interface ConsistentRotationTextureProcedureData extends BaseVoxelGeomtryTextureProcedureData {
11
+ export interface ConsistentRotationTextureProcedureData extends BaseVoxelGeometryTextureProcedureData {
12
12
  type: "consistent-rotation";
13
13
  texture: TextureId | number;
14
14
  /**
@@ -1,10 +1,10 @@
1
1
  import { Vector4Like } from "@amodx/math";
2
- import type { Quad } from "../../../../Geomtry";
3
- import { VoxelModelBuilder } from "Mesher/Voxels/Models/VoxelModelBuilder";
4
- import { TextureProcedure, BaseVoxelGeomtryTextureProcedureData } from "../TextureProcedure";
2
+ import type { Quad } from "../../../../Geometry";
3
+ import { VoxelModelBuilder } from "../../../Models/VoxelModelBuilder";
4
+ import { TextureProcedure, BaseVoxelGeometryTextureProcedureData } from "../TextureProcedure";
5
5
  import { TextureId } from "Textures";
6
6
  import { VoxelFaces } from "../../../../../Math/index.js";
7
- export interface OutlinedTextureProcedureData extends BaseVoxelGeomtryTextureProcedureData {
7
+ export interface OutlinedTextureProcedureData extends BaseVoxelGeometryTextureProcedureData {
8
8
  type: "outlined";
9
9
  texture: TextureId | number;
10
10
  textureRecrod: {
@@ -1,14 +1,14 @@
1
1
  import { Vector4Like } from "@amodx/math";
2
- import type { Quad } from "../../../../Geomtry";
3
- import { VoxelModelBuilder } from "Mesher/Voxels/Models/VoxelModelBuilder";
4
- import { TextureProcedure, BaseVoxelGeomtryTextureProcedureData } from "../TextureProcedure";
2
+ import type { Quad } from "../../../../Geometry";
3
+ import { VoxelModelBuilder } from "../../../Models/VoxelModelBuilder";
4
+ import { TextureProcedure, BaseVoxelGeometryTextureProcedureData } from "../TextureProcedure";
5
5
  import { TextureId } from "../../../../../Textures";
6
6
  import { VoxelFaces } from "../../../../../Math";
7
7
  /**
8
8
  * Extend your data type so we can add a seed if we want, and define
9
9
  * the rotations we can choose from.
10
10
  */
11
- export interface PillarTextureProcedureData extends BaseVoxelGeomtryTextureProcedureData {
11
+ export interface PillarTextureProcedureData extends BaseVoxelGeometryTextureProcedureData {
12
12
  type: "pillar";
13
13
  texture: TextureId | number;
14
14
  textureRecrod: {
@@ -1,5 +1,6 @@
1
1
  import { TextureProcedure, } from "../TextureProcedure";
2
2
  import { VoxelFaces } from "../../../../../Math";
3
+ import { VoxelLUT } from "../../../../../Voxels/Data/VoxelLUT";
3
4
  export class PillarTextureProcedure extends TextureProcedure {
4
5
  getTexture(builder, data, closestFace, primitive) {
5
6
  if (data.direction == "up-down") {
@@ -8,11 +9,16 @@ export class PillarTextureProcedure extends TextureProcedure {
8
9
  if (closestFace == VoxelFaces.Down)
9
10
  return data.textureRecrod.downTex;
10
11
  let sideTexture = data.textureRecrod.sideDisconnectedTex;
12
+ const currentState = VoxelLUT.voxelIdToModelState[builder.voxel.getId()];
11
13
  const topVoxel = builder.nVoxel.getVoxel(builder.position.x, builder.position.y + 1, builder.position.z);
12
- const topSame = topVoxel ? builder.voxel.isSameVoxel(topVoxel) : false;
14
+ const topSame = topVoxel
15
+ ? builder.voxel.isSameVoxel(topVoxel) &&
16
+ VoxelLUT.voxelIdToModelState[topVoxel.getId()] == currentState
17
+ : false;
13
18
  const bottomVoxel = builder.nVoxel.getVoxel(builder.position.x, builder.position.y - 1, builder.position.z);
14
19
  const bottomSame = bottomVoxel
15
- ? builder.voxel.isSameVoxel(bottomVoxel)
20
+ ? builder.voxel.isSameVoxel(bottomVoxel) &&
21
+ VoxelLUT.voxelIdToModelState[bottomVoxel.getId()] == currentState
16
22
  : false;
17
23
  if (topSame && !bottomSame) {
18
24
  sideTexture = data.textureRecrod.sideDownTex;
@@ -35,13 +41,16 @@ export class PillarTextureProcedure extends TextureProcedure {
35
41
  if (closestFace == VoxelFaces.South)
36
42
  return data.textureRecrod.downTex;
37
43
  let sideTexture = data.textureRecrod.sideDisconnectedTex;
44
+ const currentState = VoxelLUT.voxelIdToModelState[builder.voxel.getId()];
38
45
  const northVoxel = builder.nVoxel.getVoxel(builder.position.x, builder.position.y, builder.position.z + 1);
39
46
  const northSame = northVoxel
40
- ? builder.voxel.isSameVoxel(northVoxel)
47
+ ? builder.voxel.isSameVoxel(northVoxel) &&
48
+ VoxelLUT.voxelIdToModelState[northVoxel.getId()] == currentState
41
49
  : false;
42
50
  const southVoxel = builder.nVoxel.getVoxel(builder.position.x, builder.position.y, builder.position.z - 1);
43
51
  const southSame = southVoxel
44
- ? builder.voxel.isSameVoxel(southVoxel)
52
+ ? builder.voxel.isSameVoxel(southVoxel) &&
53
+ VoxelLUT.voxelIdToModelState[southVoxel.getId()] == currentState
45
54
  : false;
46
55
  if (northSame && !southSame) {
47
56
  sideTexture = data.textureRecrod.sideDownTex;
@@ -64,12 +73,17 @@ export class PillarTextureProcedure extends TextureProcedure {
64
73
  if (closestFace == VoxelFaces.West)
65
74
  return data.textureRecrod.downTex;
66
75
  let sideTexture = data.textureRecrod.sideDisconnectedTex;
76
+ const currentState = VoxelLUT.voxelIdToModelState[builder.voxel.getId()];
67
77
  const eastVoxel = builder.nVoxel.getVoxel(builder.position.x + 1, builder.position.y, builder.position.z);
68
78
  const northSame = eastVoxel
69
- ? builder.voxel.isSameVoxel(eastVoxel)
79
+ ? builder.voxel.isSameVoxel(eastVoxel) &&
80
+ VoxelLUT.voxelIdToModelState[eastVoxel.getId()] == currentState
70
81
  : false;
71
82
  const westVoxel = builder.nVoxel.getVoxel(builder.position.x - 1, builder.position.y, builder.position.z);
72
- const westSame = westVoxel ? builder.voxel.isSameVoxel(westVoxel) : false;
83
+ const westSame = westVoxel
84
+ ? builder.voxel.isSameVoxel(westVoxel) &&
85
+ VoxelLUT.voxelIdToModelState[westVoxel.getId()] == currentState
86
+ : false;
73
87
  if (northSame && !westSame) {
74
88
  sideTexture = data.textureRecrod.sideDownTex;
75
89
  }
@@ -1,9 +1,9 @@
1
1
  import { Vector4Like } from "@amodx/math";
2
- import { Quad, Triangle } from "../../../Geomtry";
2
+ import { Quad, Triangle } from "../../../Geometry";
3
3
  import { VoxelModelBuilder } from "../VoxelModelBuilder";
4
4
  import { VoxelFaces } from "../../../../Math";
5
5
  import { TextureId } from "../../../../Textures";
6
- export interface BaseVoxelGeomtryTextureProcedureData {
6
+ export interface BaseVoxelGeometryTextureProcedureData {
7
7
  type: string;
8
8
  texture?: TextureId | number;
9
9
  textureRecrod?: Record<string, TextureId | number>;
@@ -1,23 +1,8 @@
1
1
  import { VoxelModelBuilder } from "./VoxelModelBuilder";
2
- import { CompiledVoxelModelInputData, CompiledVoxelModelData } from "../../../Voxels/Models/CompiledVoxelModel.types";
3
- import { StateSchema } from "../../../Voxels/State/Schema/StateSchema";
4
- import { StateTreeReader } from "../../../Voxels/State/StateTreeReader";
5
- import { VoxelModelEffect } from "./VoxelModelEffect";
6
- import { CondtionalTreeReader } from "../../../Voxels/State/CondiotnalTreeReader";
7
2
  export declare class VoxelConstructor {
8
3
  id: string;
9
4
  builder: VoxelModelBuilder;
10
- data: CompiledVoxelModelData;
11
5
  isModel: true;
12
- geometries: number[][];
13
- modSchema: StateSchema;
14
- modTree: StateTreeReader;
15
- baseInputMap: any[];
16
- conditonalInputMap: any[];
17
- schema: StateSchema;
18
- effects: VoxelModelEffect;
19
- stateTree: StateTreeReader;
20
- condtioanlShapeStateTree: CondtionalTreeReader;
21
- constructor(id: string, builder: VoxelModelBuilder, data: CompiledVoxelModelData, voxleData: CompiledVoxelModelInputData);
6
+ constructor(id: string, builder: VoxelModelBuilder);
22
7
  process(): boolean;
23
8
  }