@divinevoxel/vlox 0.0.78 → 0.0.80

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,8 +1,8 @@
1
1
  import { PaintVoxelData } from "../../../Voxels";
2
2
  import { VoxelPointSelection } from "../../../Templates/Selection/VoxelPointSelection";
3
3
  import { BuilderToolBase } from "../BuilderToolBase";
4
- import { SchemaRegister } from "../../../Voxels/State/SchemaRegister";
5
- import { VoxelPalettesRegister } from "../../../Voxels/Data/VoxelPalettesRegister";
4
+ import { VoxelSchemas } from "../../../Voxels/State/VoxelSchemas";
5
+ import { VoxelLUT } from "../../../Voxels/Data/VoxelLUT";
6
6
  var WrenchToolModes;
7
7
  (function (WrenchToolModes) {
8
8
  WrenchToolModes["Pick"] = "Pick";
@@ -64,28 +64,30 @@ export class WrenchTool extends BuilderToolBase {
64
64
  if (!this._pickedResult)
65
65
  return;
66
66
  const trueVoxelId = this._pickedResult.voxel.getVoxelId();
67
- const voxelSchemas = SchemaRegister.getVoxelSchemas(this._pickedResult.voxel.getStringId());
68
- voxelSchemas.state.startEncoding(this._pickedResult.voxel.getState());
69
- voxelSchemas.mod.startEncoding(this._pickedResult.voxel.getMod());
67
+ const stringId = this._pickedResult.voxel.getStringId();
68
+ const stateSchema = VoxelSchemas.getStateSchema(stringId);
69
+ const modSchema = VoxelSchemas.mod.get(stringId);
70
+ stateSchema.startEncoding(this._pickedResult.voxel.getState());
71
+ modSchema.startEncoding(this._pickedResult.voxel.getMod());
70
72
  for (const node of schema.stateSchema) {
71
73
  if (node.type == "string") {
72
- voxelSchemas.state.setValue(node.id, node.value);
74
+ stateSchema.setValue(node.id, node.value);
73
75
  }
74
76
  else {
75
- voxelSchemas.state.setNumber(node.id, node.value);
77
+ stateSchema.setNumber(node.id, node.value);
76
78
  }
77
79
  }
78
80
  for (const node of schema.modSchema) {
79
81
  if (node.type == "string") {
80
- voxelSchemas.mod.setValue(node.id, node.value);
82
+ modSchema.setValue(node.id, node.value);
81
83
  }
82
84
  else {
83
- voxelSchemas.mod.setNumber(node.id, node.value);
85
+ modSchema.setNumber(node.id, node.value);
84
86
  }
85
87
  }
86
88
  const currentRaw = this._pickedResult.voxel.getRaw();
87
89
  const rawVoxelData = [
88
- VoxelPalettesRegister.getVoxelId(trueVoxelId, voxelSchemas.state.getEncoded(), voxelSchemas.mod.getEncoded()),
90
+ VoxelLUT.getVoxelId(trueVoxelId, stateSchema.getEncoded(), modSchema.getEncoded()),
89
91
  currentRaw[1],
90
92
  currentRaw[2],
91
93
  currentRaw[3],
@@ -96,13 +98,16 @@ export class WrenchTool extends BuilderToolBase {
96
98
  getPickedSchema() {
97
99
  if (!this._pickedResult)
98
100
  return null;
99
- const id = this._pickedResult.voxel.getStringId();
100
- const voxelSchemas = SchemaRegister.getVoxelSchemas(id);
101
- voxelSchemas.state.startEncoding(this._pickedResult.voxel.getState());
102
- voxelSchemas.mod.startEncoding(this._pickedResult.voxel.getMod());
101
+ const stringId = this._pickedResult.voxel.getStringId();
102
+ const stateSchema = VoxelSchemas.getStateSchema(stringId);
103
+ const modSchema = VoxelSchemas.mod.get(stringId);
104
+ stateSchema.startEncoding(this._pickedResult.voxel.getState());
105
+ modSchema.startEncoding(this._pickedResult.voxel.getMod());
106
+ stateSchema.startEncoding(this._pickedResult.voxel.getState());
107
+ modSchema.startEncoding(this._pickedResult.voxel.getMod());
103
108
  return {
104
- stateSchema: this.processSchema(voxelSchemas.state),
105
- modSchema: this.processSchema(voxelSchemas.mod),
109
+ stateSchema: this.processSchema(stateSchema),
110
+ modSchema: this.processSchema(modSchema),
106
111
  };
107
112
  }
108
113
  /**Get an array of all possible state varations for the current mod of the selected voxel. */
@@ -111,8 +116,8 @@ export class WrenchTool extends BuilderToolBase {
111
116
  return null;
112
117
  const voxelStates = [];
113
118
  const voxelId = this._pickedResult.voxel.id;
114
- const [trueId, , mod] = VoxelPalettesRegister.voxels[voxelId];
115
- const stateArray = VoxelPalettesRegister.voxelRecord[trueId][mod];
119
+ const [trueId, , mod] = VoxelLUT.voxels[voxelId];
120
+ const stateArray = VoxelLUT.voxelRecord[trueId][mod];
116
121
  const rawVoxelData = [0, 0, 0, 0];
117
122
  for (let i = 0; i < stateArray.length; i++) {
118
123
  const value = stateArray[i];
@@ -129,8 +134,8 @@ export class WrenchTool extends BuilderToolBase {
129
134
  return null;
130
135
  const voxelStates = [];
131
136
  const voxelId = this._pickedResult.voxel.id;
132
- const [trueId, state] = VoxelPalettesRegister.voxels[voxelId];
133
- const modArray = VoxelPalettesRegister.voxelRecord[trueId];
137
+ const [trueId, state] = VoxelLUT.voxels[voxelId];
138
+ const modArray = VoxelLUT.voxelRecord[trueId];
134
139
  const rawVoxelData = [0, 0, 0, 0];
135
140
  for (let i = 0; i < modArray.length; i++) {
136
141
  const stateArray = modArray[i];
@@ -138,7 +143,7 @@ export class WrenchTool extends BuilderToolBase {
138
143
  continue;
139
144
  let id = -1;
140
145
  for (let j = 0; j < stateArray.length; j++) {
141
- id = VoxelPalettesRegister.voxelRecord[trueId][i][state];
146
+ id = VoxelLUT.voxelRecord[trueId][i][state];
142
147
  if (id === undefined || id < 0)
143
148
  continue;
144
149
  rawVoxelData[0] = id;
@@ -1,5 +1,5 @@
1
1
  import { Vec3Array, Vector3Like } from "@amodx/math";
2
- import { BoundingBox } from "@amodx/math/Geomtry/Bounds/BoundingBox";
2
+ import { BoundingBox } from "@amodx/math/Geometry/Bounds/BoundingBox";
3
3
  import { DivineVoxelEngineRender } from "../Contexts/Render";
4
4
  import { VoxelPathData } from "../Templates/Path/VoxelPath.types";
5
5
  import { IVoxelTemplateData } from "../Templates/VoxelTemplates.types";
@@ -7,7 +7,7 @@ import { PaintVoxelData } from "../Voxels";
7
7
  import { VoxelPickResult } from "../Voxels/Interaction/VoxelPickResult";
8
8
  import { RayProvider } from "./RayProvider";
9
9
  import { FullVoxelTemplate } from "../Templates/Full/FullVoxelTemplate";
10
- import { BoundsMinMaxData } from "@amodx/math/Geomtry/Bounds/BoundsInterface";
10
+ import { BoundsMinMaxData } from "@amodx/math/Geometry/Bounds/BoundsInterface";
11
11
  import type { VoxelSurfaceSelectionData } from "../Templates/Selection/VoxelSurfaceSelection";
12
12
  import type { VoxelBFSSelectionData } from "../Templates/Selection/VoxelBFSSelection";
13
13
  import { IVoxelSelectionData } from "../Templates/Selection/VoxelSelection";
@@ -1,9 +1,9 @@
1
1
  import { Vector3Like } from "@amodx/math";
2
- import { BoundingBox } from "@amodx/math/Geomtry/Bounds/BoundingBox";
2
+ import { BoundingBox } from "@amodx/math/Geometry/Bounds/BoundingBox";
3
3
  import { PaintVoxelData } from "../Voxels";
4
4
  import { VoxelPlacingStrategyRegister } from "../Voxels/Interaction/Placing/VoxelPlacingStrategyRegister";
5
5
  import { VoxelPickResult } from "../Voxels/Interaction/VoxelPickResult";
6
- import { SchemaRegister } from "../Voxels/State/SchemaRegister";
6
+ import { VoxelSchemas } from "../Voxels/State/VoxelSchemas";
7
7
  import { FullVoxelTemplate } from "../Templates/Full/FullVoxelTemplate";
8
8
  import { VoxelShapeTemplate } from "../Templates/Shapes/VoxelShapeTemplate";
9
9
  import { BoxVoxelShapeSelection } from "../Templates/Shapes/Selections/BoxVoxelShapeSelection";
@@ -80,8 +80,8 @@ export class VoxelBuildSpace {
80
80
  data.state = 0;
81
81
  return data;
82
82
  }
83
- const schema = SchemaRegister.getVoxelSchemas(data.id);
84
- data.state = schema.state.readString(state);
83
+ const schema = VoxelSchemas.getStateSchema(data.id);
84
+ data.state = schema.readString(state);
85
85
  }
86
86
  async clear() {
87
87
  const size = this.bounds.size;
@@ -7,7 +7,7 @@ import PickVoxelWorld from "../../Voxels/Interaction/Functions/PickVoxelWorld";
7
7
  import { WorldCursor } from "../../World";
8
8
  import LockSectors from "../../World/Lock/Function/LockSectors";
9
9
  import UnLockSectors from "../../World/Lock/Function/UnLockSectors";
10
- import { BoundingBox } from "@amodx/math/Geomtry/Bounds/BoundingBox";
10
+ import { BoundingBox } from "@amodx/math/Geometry/Bounds/BoundingBox";
11
11
  import { VoxelSurfaceSelection } from "../../Templates/Selection/VoxelSurfaceSelection";
12
12
  import { VoxelBFSSelection } from "../../Templates/Selection/VoxelBFSSelection";
13
13
  import CreateFullTemplate from "../../Templates/Full/Functions/CreateFullTemplate";
@@ -1,8 +1,5 @@
1
1
  import { CompactMeshData } from "../Mesher/Types/Mesher.types";
2
2
  import { TextureData } from "../Textures/Texture.types";
3
- import { FinalCompiledVoxelModelData } from "../Voxels/Models/CompiledVoxelModel.types";
4
- export interface CachedVoxelModelData extends FinalCompiledVoxelModelData {
5
- }
6
3
  export interface CachedDisplayIndex {
7
4
  textures: Record<string, Record<string, string>>;
8
5
  meshes: Record<string, Record<string, {
@@ -11,7 +8,6 @@ export interface CachedDisplayIndex {
11
8
  }>>;
12
9
  }
13
10
  export interface CacheData {
14
- models: FinalCompiledVoxelModelData;
15
11
  textures: TextureData[];
16
12
  displayIndex: CachedDisplayIndex;
17
13
  }
@@ -1,10 +1,9 @@
1
1
  import { TextureData } from "Textures/Texture.types";
2
- import { CacheData, CachedDisplayIndex, CachedVoxelModelData } from "./Cache.types";
2
+ import { CacheData, CachedDisplayIndex } from "./Cache.types";
3
3
  export declare class CacheManager {
4
4
  static cacheStoreEnabled: boolean;
5
5
  static cacheLoadEnabled: boolean;
6
6
  static cachedData: CacheData | null;
7
- static cachedModelData: CachedVoxelModelData | null;
8
7
  static cachedTextureData: TextureData[] | null;
9
8
  static cachedDisplayData: CachedDisplayIndex | null;
10
9
  static getCachedData(): CacheData;
@@ -2,14 +2,12 @@ export class CacheManager {
2
2
  static cacheStoreEnabled = false;
3
3
  static cacheLoadEnabled = false;
4
4
  static cachedData = null;
5
- static cachedModelData = null;
6
5
  static cachedTextureData = null;
7
6
  static cachedDisplayData = null;
8
7
  static getCachedData() {
9
8
  if (!this.cacheStoreEnabled)
10
9
  throw new Error(`cacheStoreEnabled must be set to true`);
11
10
  return {
12
- models: this.cachedModelData,
13
11
  textures: this.cachedTextureData,
14
12
  displayIndex: this.cachedDisplayData,
15
13
  };
@@ -1,10 +1,18 @@
1
1
  import { EngineSettings } from "../../../Settings/EngineSettings";
2
2
  import { InitVoxelData } from "../../../Voxels/InitVoxelData";
3
+ import { VoxelLUT } from "../../../Voxels/Data/VoxelLUT";
4
+ import { GeometryLUT } from "../../../Voxels/Data/GeometryLUT";
5
+ import { VoxelSchemas } from "../../../Voxels/State/VoxelSchemas";
3
6
  export default function InitDataGenerator(data) {
4
- const voxels = InitVoxelData(data);
7
+ const tags = InitVoxelData(data);
5
8
  return {
6
9
  settings: EngineSettings.settings,
7
10
  threads: data.threads,
8
- voxels,
11
+ tags,
12
+ luts: {
13
+ voxel: VoxelLUT.export(),
14
+ geometry: GeometryLUT.export(),
15
+ },
16
+ schemas: VoxelSchemas.export(),
9
17
  };
10
18
  }
@@ -1,13 +1,19 @@
1
1
  import { LocationData } from "Math/index.js";
2
2
  import { EngineSettingsData } from "../../../Settings/EngineSettings.types";
3
- import { CachedVoxelModelData } from "../../../Cache/Cache.types";
4
- import { CompiledVoxelData } from "../../../Voxels/Types/VoxelModelCompiledData.types";
3
+ import { VoxelLUTExport } from "../../../Voxels/Data/VoxelLUT";
4
+ import { GeometryLUTExport } from "../../../Voxels/Data/GeometryLUT";
5
+ import { VoxelSchemasExport } from "../../../Voxels/State/VoxelSchemas";
6
+ import { CompiledvVxelTags } from "Voxels/Types/VoxelModelCompiledData.types";
5
7
  export type DataSyncData = {
6
8
  settings: EngineSettingsData;
7
- voxels: CompiledVoxelData;
8
- modelData?: CachedVoxelModelData;
9
9
  threads: {
10
10
  nexus: boolean;
11
11
  };
12
+ tags: CompiledvVxelTags;
13
+ luts: {
14
+ voxel: VoxelLUTExport;
15
+ geometry: GeometryLUTExport;
16
+ };
17
+ schemas: VoxelSchemasExport;
12
18
  };
13
19
  export type WorldDataSync = [location: LocationData, buffer: SharedArrayBuffer];
@@ -1,31 +1,21 @@
1
1
  import { Threads } from "@amodx/threads/";
2
2
  import { EngineSettings } from "../../../Settings/EngineSettings";
3
3
  //objects
4
- import { SchemaRegister } from "../../../Voxels/State/SchemaRegister";
5
- import { VoxelPalettesRegister } from "../../../Voxels/Data/VoxelPalettesRegister";
4
+ import { VoxelLUT } from "../../../Voxels/Data/VoxelLUT";
6
5
  import { VoxelTagsRegister } from "../../../Voxels/Data/VoxelTagsRegister";
7
6
  import { VoxelLogicRegister } from "../../../Voxels/Logic/VoxelLogicRegister";
7
+ import { GeometryLUT } from "../../../Voxels/Data/GeometryLUT";
8
+ import { VoxelSchemas } from "../../../Voxels/State/VoxelSchemas";
8
9
  export default function InitDataSync(props) {
9
10
  Threads.registerTask("sync-data", (data) => {
10
11
  EngineSettings.syncSettings(data.settings);
11
- VoxelPalettesRegister.voxelIds.load(data.voxels.data.idPalette);
12
- VoxelTagsRegister.VoxelTags = data.voxels.data.tags;
13
- VoxelPalettesRegister.voxelIdToNameMap = new Map(data.voxels.data.idToNameMap);
14
- VoxelPalettesRegister.voxelNametoIdMap = new Map(data.voxels.data.nameToIdMap);
15
- VoxelPalettesRegister.substance.load(data.voxels.substances.palette);
16
- VoxelTagsRegister.SubstanceStags = data.voxels.substances.tags;
17
- VoxelPalettesRegister.voxels = data.voxels.data.palette;
18
- VoxelPalettesRegister.voxelRecord = data.voxels.data.record;
19
- VoxelPalettesRegister.material.load(data.voxels.materials.palette);
20
- const modelData = data.voxels.models;
21
- for (const model of modelData.models) {
22
- SchemaRegister.registerModel(model.id, model.schema);
23
- }
24
- for (const voxel of modelData.voxels) {
25
- SchemaRegister.registerVoxel(voxel.id, voxel.modelId, voxel.modSchema);
26
- }
27
- for (const id in data.voxels.data.logic) {
28
- VoxelLogicRegister.register(id, data.voxels.data.logic[id]);
12
+ VoxelSchemas.import(data.schemas);
13
+ VoxelLUT.import(data.luts.voxel);
14
+ GeometryLUT.import(data.luts.geometry);
15
+ VoxelTagsRegister.VoxelTags = data.tags.tags;
16
+ VoxelTagsRegister.SubstanceTags = data.tags.substanceTags;
17
+ for (const id in data.tags.logic) {
18
+ VoxelLogicRegister.register(id, data.tags.logic[id]);
29
19
  }
30
20
  props.onSync(data);
31
21
  });
@@ -20,7 +20,8 @@ export async function StartMesher(data = {}) {
20
20
  let ready = false;
21
21
  InitDataSync({
22
22
  onSync(data) {
23
- InitMesher(data.voxels.materials.palette, data.voxels.models);
23
+ // InitMesher(data.voxels.materials.palette, data.voxels.models);
24
+ InitMesher();
24
25
  ready = true;
25
26
  },
26
27
  });
@@ -72,7 +72,8 @@ export async function StartRenderer(initData) {
72
72
  await progress.wait(100);
73
73
  InitRendererTasks();
74
74
  InitWorldDataSync(DVER.threads.world);
75
- InitMesher(syncData.voxels.materials.palette, syncData.voxels.models);
75
+ InitMesher();
76
+ // InitMesher(syncData.voxels.materials.palette, syncData.voxels.models);
76
77
  progress.completeWorkItems(1);
77
78
  progress.setStatus("Waiting For Threads");
78
79
  await Promise.all(proms);
@@ -6,6 +6,7 @@ export interface VoxelGeometryTransform {
6
6
  rotationPivot?: Vec3Array;
7
7
  lockUVs?: true;
8
8
  flip?: [flipX: 0 | 1, flipY: 0 | 1, flipZ: 0 | 1];
9
+ divisor?: Vec3Array;
9
10
  }
10
11
  export type QuadVertexVec3Data = [Vec3Array, Vec3Array, Vec3Array, Vec3Array];
11
12
  export type QuadVertexFloatData = [number, number, number, number];
@@ -1,2 +1 @@
1
- import { FinalCompiledVoxelModelData } from "../Voxels/Models/CompiledVoxelModel.types";
2
- export default function (materials: string[], modelData: FinalCompiledVoxelModelData): void;
1
+ export default function (): void;
@@ -1,20 +1,13 @@
1
1
  import { RenderedMaterials } from "./Voxels/Models/RenderedMaterials";
2
2
  import { VoxelModelConstructorRegister } from "./Voxels/Models/VoxelModelConstructorRegister.js";
3
- import { LiquidGeometryNode } from "./Voxels/Models/Nodes/Custom/Liquid/LiquidGeomtryNode.js";
3
+ import { LiquidGeometryNode } from "./Voxels/Models/Nodes/Custom/Liquid/LiquidGeometryNode.js";
4
4
  import { VoxelConstructor } from "./Voxels/Models/VoxelConstructor.js";
5
- import { AOOcclusionFaceIndex } from "../Voxels/Models/Indexing/AOOcclusionFaceIndex";
6
- import { CulledOcclusionFaceIndex } from "../Voxels/Models/Indexing/CulledOcclusionFaceIndex";
7
- export default function (materials, modelData) {
8
- RenderedMaterials.register(materials);
5
+ import { VoxelLUT } from "../Voxels/Data/VoxelLUT";
6
+ export default function () {
7
+ RenderedMaterials.register(VoxelLUT.material._palette);
9
8
  VoxelModelConstructorRegister.registerCustomNode("liquid", LiquidGeometryNode);
10
- VoxelModelConstructorRegister.setGeometryPalette(modelData.geometryPalette);
11
- VoxelModelConstructorRegister.registerGeometry(modelData.geometry);
12
- VoxelModelConstructorRegister.registerModels(modelData.models);
13
- VoxelModelConstructorRegister.aoIndex = new AOOcclusionFaceIndex(modelData.aoIndex);
14
- VoxelModelConstructorRegister.faceCullIndex = new CulledOcclusionFaceIndex(modelData.faceCullIndex);
15
- VoxelModelConstructorRegister.vertexHitMap = modelData.vertexHitMap;
16
- VoxelModelConstructorRegister.faceCullMap = modelData.faceCullMap;
17
- for (const voxel of modelData.voxels) {
18
- VoxelModelConstructorRegister.registerVoxel(new VoxelConstructor(voxel.id, RenderedMaterials.meshersMap.get(voxel.materialId), VoxelModelConstructorRegister.modelData.get(voxel.modelId), voxel));
9
+ VoxelModelConstructorRegister.init();
10
+ for (const voxel of VoxelLUT.voxelIds._palette) {
11
+ VoxelModelConstructorRegister.registerVoxel(new VoxelConstructor(voxel, RenderedMaterials.meshersMap.get(VoxelLUT.material.getStringId(VoxelLUT.materialMap[VoxelLUT.voxelIds.getNumberId(voxel)]))));
19
12
  }
20
13
  }
@@ -1,5 +1,5 @@
1
1
  import { ItemModelBuilder } from "../Models/ItemModelBuilder";
2
- import { Quad } from "../../Geomtry/Primitives/Quad";
3
- import { Triangle } from "../../Geomtry/Primitives";
2
+ import { Quad } from "../../Geometry/Primitives/Quad";
3
+ import { Triangle } from "../../Geometry/Primitives";
4
4
  export declare function addItemTriangle(builder: ItemModelBuilder, tri: Triangle): void;
5
5
  export declare function addItemQuad(builder: ItemModelBuilder, quad: Quad): void;
@@ -1,4 +1,4 @@
1
- import { QuadVerticies } from "../../Geomtry/Geometry.types";
1
+ import { QuadVerticies } from "../../Geometry/Geometry.types";
2
2
  import { ItemMeshVertexConstants } from "./ItemMeshVertexStructCursor";
3
3
  export function addItemTriangle(builder, tri) {
4
4
  if (!builder.mesh)
@@ -1 +1,2 @@
1
- export declare function MeshTexture(textureId: number, textureData: number[]): import("../Types").CompactMeshData;
1
+ import { Vector3Like } from "@amodx/math";
2
+ export declare function MeshTexture(textureId: number, textureData: number[], origin?: Vector3Like, thickness?: number | null): import("../Types").CompactMeshData;
@@ -1,9 +1,9 @@
1
- import { QuadVerticies } from "../Geomtry/Geometry.types";
2
- import { Quad } from "../Geomtry/Primitives/Quad";
1
+ import { QuadVerticies } from "../Geometry/Geometry.types";
2
+ import { Quad } from "../Geometry/Primitives/Quad";
3
3
  import { ItemModelBuilder } from "./Models/ItemModelBuilder";
4
- import { addItemQuad } from "./Geomtry/ItemGeometryBuilder";
5
- import { Flat2DIndex } from "@amodx/math";
6
- import { Box } from "../Geomtry/Shapes/Box";
4
+ import { addItemQuad } from "./Geometry/ItemGeometryBuilder";
5
+ import { Flat2DIndex, Vector3Like } from "@amodx/math";
6
+ import { Box } from "../Geometry/Shapes/Box";
7
7
  import { VoxelFaces } from "../../Math";
8
8
  import { CompactItemMesh } from "./Base/CompactItemMesh";
9
9
  const { quads: Quads } = Box.Create([
@@ -48,11 +48,12 @@ class TextureVoxelData {
48
48
  Quads[VoxelFaces.North].setUVs(Quad.FullUVs);
49
49
  Quads[VoxelFaces.South].setUVs(Quad.FullUVs);
50
50
  const tool = new ItemModelBuilder("dve_item");
51
- export function MeshTexture(textureId, textureData) {
51
+ export function MeshTexture(textureId, textureData, origin = Vector3Like.Create(), thickness = null) {
52
52
  const width = Math.sqrt(textureData.length / 4);
53
53
  const height = Math.sqrt(textureData.length / 4);
54
54
  const factor = 1 / width;
55
55
  const data = new TextureVoxelData(width, height, textureData);
56
+ tool.origin = origin;
56
57
  {
57
58
  //south face
58
59
  tool.vars.textureIndex = textureId;
@@ -1,4 +1,4 @@
1
- import { Quad } from "../Geomtry/Primitives/Quad";
1
+ import { Quad } from "../Geometry/Primitives/Quad";
2
2
  const Quads = {
3
3
  north: Quad.Create([
4
4
  [1, 1, 0],
@@ -1,4 +1,4 @@
1
- import { ProtoMesh } from "../../Geomtry/Proto/ProtoMesh";
1
+ import { ProtoMesh } from "../../Geometry/Proto/ProtoMesh";
2
2
  import { Vec3Array, Vector3Like } from "@amodx/math";
3
3
  declare class ItemVars {
4
4
  textureIndex: number;
@@ -1,6 +1,6 @@
1
- import { ProtoMesh } from "../../Geomtry/Proto/ProtoMesh";
1
+ import { ProtoMesh } from "../../Geometry/Proto/ProtoMesh";
2
2
  import { Vector3Like } from "@amodx/math";
3
- import { ItemMeshVertexStructCursor } from "../Geomtry/ItemMeshVertexStructCursor";
3
+ import { ItemMeshVertexStructCursor } from "../Geometry/ItemMeshVertexStructCursor";
4
4
  class ItemVars {
5
5
  textureIndex = 0;
6
6
  reset() {
@@ -1,4 +1,4 @@
1
- import { VoxelMeshVertexStructCursor } from "../Geomtry/VoxelMeshVertexStructCursor";
1
+ import { VoxelMeshVertexStructCursor } from "../Geometry/VoxelMeshVertexStructCursor";
2
2
  const structCursor = new VoxelMeshVertexStructCursor();
3
3
  /*
4
4
  function MakeWebGPUMesh(tool: VoxelMesherDataTool): CompactMeshData {
@@ -1,5 +1,5 @@
1
- import { VoxelMeshVertexStructCursor } from "../Geomtry/VoxelMeshVertexStructCursor";
2
- import { CompactedSectionVoxelMesh, CompactedMeshData, } from "../Geomtry/CompactedSectionVoxelMesh";
1
+ import { VoxelMeshVertexStructCursor } from "../Geometry/VoxelMeshVertexStructCursor";
2
+ import { CompactedSectionVoxelMesh, CompactedMeshData, } from "../Geometry/CompactedSectionVoxelMesh";
3
3
  const meshData = new CompactedMeshData();
4
4
  const compactedMesh = new CompactedSectionVoxelMesh();
5
5
  /** Utility to ensure a value is aligned to 4 bytes. */
@@ -3,7 +3,7 @@ import { WorldSpaces } from "../../../World/WorldSpaces.js";
3
3
  //tools
4
4
  import { VoxelGeometryBuilderCacheSpace } from "../Models/VoxelGeometryBuilderCacheSpace.js";
5
5
  import { VoxelModelConstructorRegister } from "../Models/VoxelModelConstructorRegister.js";
6
- import { VoxelMeshBVHBuilder } from "../Geomtry/VoxelMeshBVHBuilder";
6
+ import { VoxelMeshBVHBuilder } from "../Geometry/VoxelMeshBVHBuilder";
7
7
  import { Vector3Like } from "@amodx/math";
8
8
  import { RenderedMaterials } from "../Models/RenderedMaterials";
9
9
  import { CompactVoxelSectionMesh } from "./CompactVoxelSectionMesh";
@@ -12,8 +12,6 @@ const bvhTool = new VoxelMeshBVHBuilder();
12
12
  function meshVoxel(x, y, z, voxel, worldCursor, sectionCursor) {
13
13
  let added = false;
14
14
  const constructor = VoxelModelConstructorRegister.constructorsPaltte[voxel.getVoxelId()];
15
- constructor.schema.dataCursor = worldCursor;
16
- constructor.schema.voxel = voxel;
17
15
  const builder = constructor.builder;
18
16
  builder.origin.x = sectionCursor._voxelPosition.x;
19
17
  builder.origin.y = sectionCursor._voxelPosition.y;
@@ -1,4 +1,4 @@
1
- import { VoxelPalettesRegister } from "../../../Voxels/Data/VoxelPalettesRegister";
1
+ import { VoxelLUT } from "../../../Voxels/Data/VoxelLUT";
2
2
  import { VoxelMeshVertexStructCursor } from "./VoxelMeshVertexStructCursor";
3
3
  export class CompactedMeshData {
4
4
  material;
@@ -81,7 +81,7 @@ export class CompactedSectionVoxelMesh {
81
81
  let startByte = CompactedSectionVoxelMesh.GetHeaderByteSize(0) +
82
82
  CompactedSectionVoxelMesh.GetMeshHeaderByteSize() * index;
83
83
  //material index
84
- this.data.setUint8(startByte, VoxelPalettesRegister.material.getNumberId(material));
84
+ this.data.setUint8(startByte, VoxelLUT.material.getNumberId(material));
85
85
  startByte++;
86
86
  //min bounds
87
87
  this.data.setFloat32(startByte, minBounds[0]);
@@ -113,7 +113,7 @@ export class CompactedSectionVoxelMesh {
113
113
  CompactedSectionVoxelMesh.GetMeshHeaderByteSize() * index;
114
114
  // material index
115
115
  mesh.material = this.data.getUint8(startByte);
116
- mesh.materialId = VoxelPalettesRegister.material.getStringId(mesh.material);
116
+ mesh.materialId = VoxelLUT.material.getStringId(mesh.material);
117
117
  startByte++;
118
118
  // min bounds
119
119
  mesh.minBounds[0] = this.data.getFloat32(startByte);
@@ -1,5 +1,5 @@
1
1
  import { VoxelModelBuilder } from "../Models/VoxelModelBuilder";
2
- import { Quad } from "../../Geomtry/Primitives/Quad";
3
- import { Triangle } from "../../Geomtry/Primitives";
2
+ import { Quad } from "../../Geometry/Primitives/Quad";
3
+ import { Triangle } from "../../Geometry/Primitives";
4
4
  export declare function addVoxelTriangle(builder: VoxelModelBuilder, tri: Triangle): void;
5
5
  export declare function addVoxelQuad(builder: VoxelModelBuilder, quad: Quad): void;
@@ -1,6 +1,6 @@
1
1
  import { Vector4Like } from "@amodx/math";
2
2
  import { VoxelShaderData } from "./VoxelShaderData";
3
- import { QuadVerticies } from "../../Geomtry/Geometry.types";
3
+ import { QuadVerticies } from "../../Geometry/Geometry.types";
4
4
  import { VoxelMeshVertexConstants } from "./VoxelMeshVertexStructCursor";
5
5
  const vector1ShaderData = Vector4Like.Create();
6
6
  const vector2ShaderData = Vector4Like.Create();
@@ -36,7 +36,7 @@ export class VoxelMeshBVHBuilder {
36
36
  this.structCursor.updateMin(minX, minY, minZ);
37
37
  this.structCursor.updateMax(maxX, maxY, maxZ);
38
38
  this.structCursor.setVoxelIndex(voxelIndex);
39
- this.structCursor.setGeomtryNode();
39
+ this.structCursor.setGeometryNode();
40
40
  let current = leafIndex;
41
41
  for (let level = 1; level < 13; level++) {
42
42
  let parentNode = this.treeIndex.getParent(current);
@@ -16,7 +16,7 @@ export declare class VoxelMeshBVHStructCursor {
16
16
  setActive(): void;
17
17
  setVoxelIndex(value: number): void;
18
18
  setInnerNode(): void;
19
- setGeomtryNode(): void;
19
+ setGeometryNode(): void;
20
20
  updateMin(x: number, y: number, z: number): void;
21
21
  updateMax(x: number, y: number, z: number): void;
22
22
  }
@@ -44,7 +44,7 @@ export class VoxelMeshBVHStructCursor {
44
44
  setInnerNode() {
45
45
  this.data[this.trueIndex + 7] = 1;
46
46
  }
47
- setGeomtryNode() {
47
+ setGeometryNode() {
48
48
  this.data[this.trueIndex + 7] = 2;
49
49
  }
50
50
  updateMin(x, y, z) {
@@ -14,9 +14,6 @@ function meshVoxel(x, y, z, voxel, templateCursor) {
14
14
  return false;
15
15
  let added = false;
16
16
  const constructor = VoxelModelConstructorRegister.constructorsPaltte[voxel.getVoxelId()];
17
- constructor.schema.dataCursor = templateCursor;
18
- constructor.schema.dataCursor = templateCursor;
19
- constructor.schema.voxel = voxel;
20
17
  const builder = constructor.builder;
21
18
  builder.origin.x = x;
22
19
  builder.origin.y = y;
@@ -19,8 +19,6 @@ export function MeshVoxel(rawVoxelData) {
19
19
  if (!constructor) {
20
20
  throw new Error(`Could not find constructor for voxel [id:${voxel.getStringId()} name:${voxel.getName()}] `);
21
21
  }
22
- constructor.schema.dataCursor = templateCursor;
23
- constructor.schema.voxel = voxel;
24
22
  const builder = constructor.builder;
25
23
  if (!builder) {
26
24
  console.error(builder, constructor.id, constructor);
@@ -1,4 +1,4 @@
1
- import { QuadVerticies } from "../../../../Geomtry/Geometry.types";
1
+ import { QuadVerticies } from "../../../../Geometry/Geometry.types";
2
2
  import { VoxelFaces } from "../../../../../Math";
3
3
  import { Vec4Array } from "@amodx/math";
4
4
  export declare const GradientCheckSets: Record<VoxelFaces, Record<QuadVerticies, number[]>>;
@@ -1,6 +1,6 @@
1
- import { QuadVerticies } from "../../../../Geomtry/Geometry.types";
1
+ import { QuadVerticies } from "../../../../Geometry/Geometry.types";
2
2
  import { VoxelFaces, VoxelFacesArray } from "../../../../../Math";
3
- import { VoxelRelativeCubeIndex } from "../../../../../Voxels/Models/Indexing/VoxelRelativeCubeIndex";
3
+ import { VoxelRelativeCubeIndex } from "../../../../../Voxels/Geometry/VoxelRelativeCubeIndex";
4
4
  import { VoxelLightData } from "../../../../../Voxels/Cursor/VoxelLightData";
5
5
  export const GradientCheckSets = [];
6
6
  GradientCheckSets[VoxelFaces.Up] = [];
@@ -17,7 +17,10 @@ export default function calculateFaceData(face, builder) {
17
17
  startLight =
18
18
  nVoxel
19
19
  .getVoxel(x + VoxelFaceDirections[face][0], y + VoxelFaceDirections[face][1], z + VoxelFaceDirections[face][2])
20
- ?.getLight() || 0;
20
+ ?.getLight() || -1;
21
+ if (startLight <= 0) {
22
+ startLight = nVoxel.getVoxel(x, y, z)?.getLight() || 0;
23
+ }
21
24
  }
22
25
  if (startLight < 0)
23
26
  startLight = 0;