@divinevoxel/vlox 0.0.76 → 0.0.78

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/Brush/BrushTool.d.ts +16 -9
  2. package/Builder/Tools/Brush/BrushTool.js +258 -52
  3. package/Builder/Tools/BuilderToolBase.d.ts +36 -0
  4. package/Builder/Tools/BuilderToolBase.js +39 -0
  5. package/Builder/Tools/Hand/HandTool.d.ts +9 -7
  6. package/Builder/Tools/Hand/HandTool.js +40 -23
  7. package/Builder/Tools/Path/PahtTool.d.ts +12 -7
  8. package/Builder/Tools/Path/PahtTool.js +32 -21
  9. package/Builder/Tools/Sculpt/SculptTool.d.ts +34 -0
  10. package/Builder/Tools/Sculpt/SculptTool.js +102 -0
  11. package/Builder/Tools/Shape/ShapeTool.d.ts +32 -0
  12. package/Builder/Tools/Shape/ShapeTool.js +78 -0
  13. package/Builder/Tools/Template/TemplateTool.d.ts +35 -0
  14. package/Builder/Tools/Template/TemplateTool.js +73 -0
  15. package/Builder/Tools/Wand/WandTool.d.ts +9 -7
  16. package/Builder/Tools/Wand/WandTool.js +43 -20
  17. package/Builder/Tools/Wrench/WrenchTool.d.ts +7 -7
  18. package/Builder/Tools/Wrench/WrenchTool.js +22 -13
  19. package/Builder/Util/FreeBoxSelection.d.ts +12 -0
  20. package/Builder/Util/FreeBoxSelection.js +21 -0
  21. package/Builder/Util/FreePointSelection.d.ts +14 -0
  22. package/Builder/Util/FreePointSelection.js +39 -0
  23. package/Builder/Util/SurfaceBoxSelection.d.ts +12 -0
  24. package/Builder/{Tools/Box/BoxSelection.js → Util/SurfaceBoxSelection.js} +1 -3
  25. package/Builder/VoxelBuildSpace.d.ts +37 -25
  26. package/Builder/VoxelBuildSpace.js +99 -40
  27. package/Builder/World/InitTasks.js +17 -22
  28. package/Mesher/Geomtry/Proto/ProtoMesh.d.ts +18 -0
  29. package/Mesher/Geomtry/Proto/ProtoMesh.js +73 -0
  30. package/Mesher/Geomtry/{VoxelMeshBuffers.d.ts → Proto/ProtoMeshBuffer.d.ts} +2 -2
  31. package/Mesher/Geomtry/{VoxelMeshBuffers.js → Proto/ProtoMeshBuffer.js} +2 -2
  32. package/Mesher/Geomtry/Shapes/Box.d.ts +2 -9
  33. package/Mesher/Geomtry/Shapes/Box.js +7 -12
  34. package/Mesher/Geomtry/Transform/TransformBox.js +5 -2
  35. package/Mesher/InitMesher.js +4 -4
  36. package/Mesher/InitTask.js +2 -2
  37. package/Mesher/Items/Base/CompactItemMesh.d.ts +3 -0
  38. package/Mesher/Items/Base/CompactItemMesh.js +20 -0
  39. package/Mesher/Items/Geomtry/ItemGeometryBuilder.d.ts +5 -0
  40. package/Mesher/Items/Geomtry/ItemGeometryBuilder.js +131 -0
  41. package/Mesher/Items/Geomtry/ItemMeshVertexStructCursor.d.ts +48 -0
  42. package/Mesher/Items/Geomtry/ItemMeshVertexStructCursor.js +114 -0
  43. package/Mesher/Items/MeshTexture.d.ts +1 -0
  44. package/Mesher/Items/MeshTexture.js +214 -0
  45. package/Mesher/Items/MeshTextureO.js +277 -0
  46. package/Mesher/Items/Models/ItemModelBuilder.d.ts +27 -0
  47. package/Mesher/Items/Models/ItemModelBuilder.js +64 -0
  48. package/Mesher/Types/ItemMesh.types.d.ts +5 -0
  49. package/Mesher/Types/ItemMesh.types.js +12 -0
  50. package/Mesher/Types/Mesher.types.d.ts +15 -9
  51. package/Mesher/Types/Mesher.types.js +14 -0
  52. package/Mesher/Types/VoxelMesh.types.js +7 -6
  53. package/Mesher/Voxels/Base/CompactTemplateMesh.d.ts +3 -0
  54. package/Mesher/{Functions/CompactVoxelMesh.js → Voxels/Base/CompactTemplateMesh.js} +4 -40
  55. package/Mesher/{Functions → Voxels/Base}/CompactVoxelSectionMesh.d.ts +2 -2
  56. package/Mesher/{Functions → Voxels}/Base/MeshSectionBase.d.ts +1 -1
  57. package/Mesher/{Functions → Voxels}/Base/MeshSectionBase.js +9 -8
  58. package/Mesher/{Geomtry → Voxels/Geomtry}/CompactedSectionVoxelMesh.d.ts +1 -1
  59. package/Mesher/{Geomtry → Voxels/Geomtry}/CompactedSectionVoxelMesh.js +1 -1
  60. package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelGeometryBuilder.d.ts +2 -2
  61. package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelGeometryBuilder.js +1 -1
  62. package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelMeshBVHBuilder.d.ts +1 -1
  63. package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelMeshBVHBuilder.js +2 -2
  64. package/Mesher/Voxels/MeshTemplate.d.ts +3 -0
  65. package/Mesher/Voxels/MeshTemplate.js +81 -0
  66. package/Mesher/{Functions → Voxels}/MeshVoxel.d.ts +1 -1
  67. package/Mesher/{Functions → Voxels}/MeshVoxel.js +4 -4
  68. package/Mesher/{Models → Voxels/Models}/Common/Calc/CalcConstants.d.ts +2 -2
  69. package/Mesher/{Models → Voxels/Models}/Common/Calc/CalcConstants.js +4 -4
  70. package/Mesher/{Models → Voxels/Models}/Common/Calc/FaceDataCalc.d.ts +1 -1
  71. package/Mesher/{Models → Voxels/Models}/Common/Calc/FaceDataCalc.js +2 -2
  72. package/Mesher/{Models → Voxels/Models}/Common/Faces/CullRulledFace.js +1 -1
  73. package/Mesher/{Models → Voxels/Models}/Common/Faces/ShadeRulelessFace.d.ts +1 -1
  74. package/Mesher/{Models → Voxels/Models}/Common/Faces/ShadeRulledFace.d.ts +1 -1
  75. package/Mesher/{Models → Voxels/Models}/Common/Faces/ShadeRulledFace.js +1 -1
  76. package/Mesher/{Models → Voxels/Models}/Common/GetTexture.d.ts +3 -3
  77. package/Mesher/{Models → Voxels/Models}/Nodes/Custom/Liquid/FlowGradient.d.ts +1 -1
  78. package/Mesher/{Models → Voxels/Models}/Nodes/Custom/Liquid/FlowGradient.js +1 -1
  79. package/Mesher/{Models → Voxels/Models}/Nodes/Custom/Liquid/LiquidGeomtryNode.d.ts +3 -3
  80. package/Mesher/{Models → Voxels/Models}/Nodes/Custom/Liquid/LiquidGeomtryNode.js +14 -16
  81. package/Mesher/{Models → Voxels/Models}/Nodes/Default/QuadVoxelGeometryNode.d.ts +2 -2
  82. package/Mesher/{Models → Voxels/Models}/Nodes/Default/QuadVoxelGeometryNode.js +1 -1
  83. package/Mesher/{Models → Voxels/Models}/Nodes/Default/TriangleVoxelGeometryNode.d.ts +2 -2
  84. package/Mesher/{Models → Voxels/Models}/Nodes/Default/TriangleVoxelGeometryNode.js +1 -1
  85. package/Mesher/{Models → Voxels/Models}/Nodes/Types/QuadVoxelGometryNodeTypes.d.ts +2 -2
  86. package/Mesher/{Models → Voxels/Models}/Nodes/Types/TriangleVoxelGometryNodeTypes.d.ts +1 -1
  87. package/Mesher/{Models → Voxels/Models}/Nodes/VoxelGeometryConstructor.d.ts +2 -2
  88. package/Mesher/Voxels/Models/Procedures/Default/ConsistentRotationTextureProcedure.d.ts +24 -0
  89. package/Mesher/{Models → Voxels/Models}/Procedures/Default/ConsistentRotationTextureProcedure.js +2 -2
  90. package/Mesher/{Models → Voxels/Models}/Procedures/Default/OutlinedTextureProcedure.d.ts +4 -5
  91. package/Mesher/Voxels/Models/Procedures/Default/OutlinedTextureProcedure.js +205 -0
  92. package/Mesher/Voxels/Models/Procedures/Default/PillarTextureProcedure.d.ts +28 -0
  93. package/Mesher/Voxels/Models/Procedures/Default/PillarTextureProcedure.js +109 -0
  94. package/Mesher/{Models → Voxels/Models}/Procedures/TextureProcedure.d.ts +3 -3
  95. package/Mesher/{Models → Voxels/Models}/Procedures/TextureProcedureRegister.js +2 -0
  96. package/Mesher/{Models → Voxels/Models}/VoxelConstructor.d.ts +4 -4
  97. package/Mesher/{Models → Voxels/Models}/VoxelConstructor.js +3 -3
  98. package/Mesher/{Models → Voxels/Models}/VoxelGeometryBuilderCacheSpace.d.ts +2 -2
  99. package/Mesher/{Models → Voxels/Models}/VoxelGeometryBuilderCacheSpace.js +2 -2
  100. package/Mesher/{Models → Voxels/Models}/VoxelModelBuilder.d.ts +7 -7
  101. package/Mesher/{Models → Voxels/Models}/VoxelModelBuilder.js +6 -5
  102. package/Mesher/{Models → Voxels/Models}/VoxelModelConstructorRegister.d.ts +4 -4
  103. package/Mesher/{Models → Voxels/Models}/VoxelModelConstructorRegister.js +2 -2
  104. package/Mesher/{Models → Voxels/Models}/VoxelModelEffect.d.ts +1 -1
  105. package/Mesher/{Models → Voxels/Models}/VoxelModelEffect.js +1 -1
  106. package/Renderer/Classes/DVESectionMeshes.d.ts +1 -1
  107. package/Renderer/MeshManager.js +1 -1
  108. package/Settings/EngineSettings.types.d.ts +2 -1
  109. package/Settings/EngineSettings.types.js +3 -1
  110. package/Tasks/Paint/Common.js +14 -9
  111. package/Tasks/Paint/Erase/EraseVoxelSelection.d.ts +4 -0
  112. package/Tasks/Paint/Erase/EraseVoxelSelection.js +33 -0
  113. package/Tasks/Paint/Erase/EraseVoxelTemplate.js +1 -2
  114. package/Tasks/Paint/Paint/PaintVoxel.js +1 -1
  115. package/Tasks/Paint/Paint/PaintVoxelTemplate.js +1 -1
  116. package/Tasks/Propagation/Illumanation/RGBUpdate.js +1 -1
  117. package/Tasks/Tasks.types.d.ts +2 -0
  118. package/Tasks/TasksIds.d.ts +1 -0
  119. package/Tasks/TasksIds.js +1 -0
  120. package/Tasks/WorldGeneration/InitTasks.js +3 -1
  121. package/Templates/Archive/ArchivedVoxelTemplate.d.ts +5 -5
  122. package/Templates/Archive/ArchivedVoxelTemplate.js +52 -49
  123. package/Templates/Archive/Functions/CreateArchivedTemplate.js +0 -2
  124. package/Templates/Archive/Functions/ExportArchiedTemplateJSON.js +0 -1
  125. package/Templates/Archive/Functions/ImportArchivedTemplateJSON.js +0 -2
  126. package/Templates/Cursor/TemplateCursor.d.ts +6 -1
  127. package/Templates/Cursor/TemplateCursor.js +13 -2
  128. package/Templates/Cursor/TemplateProxy.js +1 -6
  129. package/Templates/Cursor/TemplateVoxelCursor.d.ts +1 -0
  130. package/Templates/Cursor/TemplateVoxelCursor.js +6 -0
  131. package/Templates/Full/FullVoxelTemplate.d.ts +4 -4
  132. package/Templates/Full/FullVoxelTemplate.js +29 -18
  133. package/Templates/Functions/ExtrudeSelection.d.ts +5 -0
  134. package/Templates/Functions/ExtrudeSelection.js +44 -0
  135. package/Templates/Functions/FillSelection.d.ts +4 -0
  136. package/Templates/Functions/FillSelection.js +20 -0
  137. package/Templates/Functions/FlipTemplate.d.ts +2 -2
  138. package/Templates/Functions/FlipTemplate.js +8 -8
  139. package/Templates/Functions/RotateTemplate.d.ts +2 -2
  140. package/Templates/Path/VoxelPath.js +2 -1
  141. package/Templates/Selection/VoxelBFSSelection.d.ts +3 -6
  142. package/Templates/Selection/VoxelBFSSelection.js +20 -24
  143. package/Templates/Selection/{VoxelBoxSelection.d.ts → VoxelBoundsSelection.d.ts} +9 -6
  144. package/Templates/Selection/{VoxelBoxSelection.js → VoxelBoundsSelection.js} +29 -22
  145. package/Templates/Selection/VoxelPointSelection.d.ts +8 -6
  146. package/Templates/Selection/VoxelPointSelection.js +25 -24
  147. package/Templates/Selection/VoxelSelection.d.ts +18 -0
  148. package/Templates/Selection/VoxelSurfaceSelection.d.ts +5 -12
  149. package/Templates/Selection/VoxelSurfaceSelection.js +76 -90
  150. package/Templates/Selection/VoxelTemplateSelection.d.ts +10 -4
  151. package/Templates/Selection/VoxelTemplateSelection.js +18 -10
  152. package/Templates/Shapes/Selections/BoxVoxelShapeSelection.d.ts +28 -0
  153. package/Templates/Shapes/Selections/BoxVoxelShapeSelection.js +77 -0
  154. package/Templates/Shapes/Selections/ConeVoxelShapeSelection.d.ts +28 -0
  155. package/Templates/Shapes/Selections/ConeVoxelShapeSelection.js +77 -0
  156. package/Templates/Shapes/Selections/CylinderVoxelShapeSelection.d.ts +28 -0
  157. package/Templates/Shapes/Selections/CylinderVoxelShapeSelection.js +77 -0
  158. package/Templates/Shapes/Selections/EllipsoidVoxelShapeSelection.d.ts +28 -0
  159. package/Templates/Shapes/Selections/EllipsoidVoxelShapeSelection.js +92 -0
  160. package/Templates/Shapes/Selections/OctahedronVoxelShapeSelection.d.ts +28 -0
  161. package/Templates/Shapes/Selections/OctahedronVoxelShapeSelection.js +76 -0
  162. package/Templates/Shapes/Selections/PyramidVoxelShapeSelection.d.ts +37 -0
  163. package/Templates/Shapes/Selections/PyramidVoxelShapeSelection.js +137 -0
  164. package/Templates/Shapes/Selections/SphereVoxelShapeSelection.d.ts +20 -0
  165. package/Templates/Shapes/Selections/SphereVoxelShapeSelection.js +61 -0
  166. package/Templates/Shapes/Selections/TorusVoxelShapeSelection.d.ts +28 -0
  167. package/Templates/Shapes/Selections/TorusVoxelShapeSelection.js +76 -0
  168. package/Templates/Shapes/Selections/VoxelShapeSelection.d.ts +5 -0
  169. package/Templates/Shapes/Selections/VoxelShapeSelection.js +1 -0
  170. package/Templates/Shapes/VoxelShape.types.d.ts +2 -0
  171. package/Templates/Shapes/VoxelShape.types.js +8 -0
  172. package/Templates/Shapes/VoxelShapeTemplate.d.ts +37 -0
  173. package/Templates/Shapes/{BasicVoxelShapeTemplate.js → VoxelShapeTemplate.js} +43 -37
  174. package/Templates/Shapes/VoxelShapeTemplate.types.d.ts +4 -13
  175. package/Templates/Shapes/VoxelShapeTemplate.types.js +0 -1
  176. package/Templates/{VoxelTempateRegister.d.ts → VoxelTemplateRegister.d.ts} +4 -0
  177. package/Templates/VoxelTemplateRegister.js +60 -0
  178. package/Templates/VoxelTemplates.types.d.ts +2 -3
  179. package/Textures/Classes/CompiledTexture.d.ts +2 -0
  180. package/Textures/Classes/CompiledTexture.js +19 -1
  181. package/Textures/Functions/BuildTextureData.js +13 -0
  182. package/Textures/TextureManager.d.ts +1 -0
  183. package/Textures/TextureManager.js +11 -5
  184. package/Tools/Brush/Brush.d.ts +2 -0
  185. package/Tools/Brush/Brush.js +19 -0
  186. package/Tools/Tasks/TasksTool.d.ts +2 -1
  187. package/Tools/Tasks/TasksTool.js +2 -0
  188. package/Voxels/Cursor/DataCursor.interface.d.ts +4 -0
  189. package/Voxels/Cursor/VoxelLightData.js +2 -2
  190. package/Voxels/Functions/BuildTagData.js +1 -1
  191. package/Voxels/Indexes/VoxelIndex.d.ts +1 -0
  192. package/Voxels/Indexes/VoxelIndex.js +11 -13
  193. package/Voxels/InitVoxelData.js +5 -14
  194. package/Voxels/Interaction/Functions/PickVoxel.d.ts +0 -5
  195. package/Voxels/Interaction/Functions/PickVoxel.js +64 -85
  196. package/Voxels/Interaction/Functions/PickVoxelWorld.js +6 -3
  197. package/Voxels/Models/CompiledVoxelModel.types.d.ts +1 -1
  198. package/Voxels/Models/Defaults/CubeVoxelGeometry.js +11 -0
  199. package/Voxels/Models/Defaults/CubeVoxelModels.js +44 -99
  200. package/Voxels/Models/Defaults/PanelVoxelGeometry.d.ts +1 -3
  201. package/Voxels/Models/Defaults/PanelVoxelGeometry.js +2 -226
  202. package/Voxels/Models/Defaults/PanelVoxelModels.d.ts +1 -0
  203. package/Voxels/Models/Defaults/PanelVoxelModels.js +100 -258
  204. package/Voxels/Models/Defaults/StairVoxelModel.js +2 -2
  205. package/Voxels/Models/Rules/Classes/GeomtryInput.d.ts +4 -1
  206. package/Voxels/Models/Rules/Classes/GeomtryInput.js +26 -5
  207. package/Voxels/Models/Rules/Classes/VoxelRulesGeometry.d.ts +1 -1
  208. package/Voxels/Models/Rules/Functions/BuildFinalInputs.js +23 -8
  209. package/Voxels/Models/Rules/Functions/Compile/CompileGeomtryNodes.d.ts +1 -1
  210. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileBoxGeometryNode.d.ts +1 -1
  211. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileQuadGeometryNode.d.ts +1 -1
  212. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileQuadGeometryNode.js +1 -1
  213. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileTriangleGeometryNode.d.ts +1 -1
  214. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileTriangleGeometryNode.js +1 -1
  215. package/Voxels/Models/VoxelModel.types.d.ts +6 -1
  216. package/Voxels/Types/PaintVoxelData.d.ts +2 -0
  217. package/Voxels/Types/PaintVoxelData.js +51 -0
  218. package/World/Cursor/SectionCursor.d.ts +4 -0
  219. package/World/Cursor/SectionCursor.js +13 -16
  220. package/World/Cursor/SectorCursor.d.ts +4 -0
  221. package/World/Cursor/SectorCursor.js +13 -16
  222. package/World/Cursor/WorldCursor.d.ts +4 -0
  223. package/World/Cursor/WorldCursor.js +8 -0
  224. package/World/Sector/SectorHeightMap.d.ts +6 -0
  225. package/World/Sector/SectorHeightMap.js +6 -0
  226. package/World/SnapShot/SectionSnapShotCursor.d.ts +3 -0
  227. package/World/SnapShot/SectionSnapShotCursor.js +6 -0
  228. package/World/WorldSpaces.js +3 -3
  229. package/WorldSimulation/Dimensions/DimensionSimulation.d.ts +5 -1
  230. package/WorldSimulation/Dimensions/DimensionSimulation.js +12 -0
  231. package/WorldSimulation/Dimensions/Generator.d.ts +1 -0
  232. package/WorldSimulation/Dimensions/Generator.js +1 -0
  233. package/WorldSimulation/Dimensions/SimulationSector.d.ts +3 -0
  234. package/WorldSimulation/Dimensions/SimulationSector.js +71 -41
  235. package/WorldSimulation/Internal/WorldSimulationTasks.js +5 -2
  236. package/WorldSimulation/Procedures/BuildOnly.d.ts +10 -0
  237. package/WorldSimulation/Procedures/BuildOnly.js +55 -0
  238. package/WorldSimulation/Procedures/InitalLoad.js +3 -0
  239. package/WorldSimulation/Tasks/SimulationTaskBase.d.ts +2 -0
  240. package/WorldSimulation/Tasks/SimulationTaskBase.js +11 -3
  241. package/WorldSimulation/Tasks/TaskSegment.d.ts +2 -1
  242. package/WorldSimulation/Tasks/TaskSegment.js +3 -1
  243. package/WorldSimulation/Tick/TickQueue.d.ts +2 -0
  244. package/WorldSimulation/Tick/TickQueue.js +26 -0
  245. package/WorldSimulation/Tools/SimulationBrush.d.ts +3 -0
  246. package/WorldSimulation/Tools/SimulationBrush.js +52 -0
  247. package/WorldSimulation/Voxels/Behaviors/Types/DefaultVoxelBehavior.js +3 -0
  248. package/WorldSimulation/Voxels/Behaviors/Types/LiquidVoxelBehavior.js +21 -1
  249. package/WorldSimulation/Voxels/Behaviors/VoxelBehaviors.d.ts +2 -0
  250. package/WorldSimulation/Voxels/Behaviors/VoxelBehaviors.js +6 -0
  251. package/WorldSimulation/Voxels/Ticks/Types/LiquidVoxelUpdate.js +39 -14
  252. package/WorldSimulation/WorldSimulation.d.ts +10 -0
  253. package/WorldSimulation/WorldSimulation.js +41 -1
  254. package/package.json +1 -30
  255. package/Builder/Tools/Box/BoxSelection.d.ts +0 -12
  256. package/Builder/Tools/Box/BoxTool.d.ts +0 -31
  257. package/Builder/Tools/Box/BoxTool.js +0 -91
  258. package/Builder/Tools/Box/BoxToolTemplate.d.ts +0 -13
  259. package/Builder/Tools/Box/BoxToolTemplate.js +0 -23
  260. package/Builder/VoxelBuilder.types.d.ts +0 -0
  261. package/Builder/VoxelBuilder.types.js +0 -1
  262. package/Mesher/Functions/CompactVoxelMesh.d.ts +0 -3
  263. package/Mesher/Functions/MeshTexture.js +0 -278
  264. package/Mesher/Geomtry/VoxelMesh.d.ts +0 -12
  265. package/Mesher/Geomtry/VoxelMesh.js +0 -25
  266. package/Mesher/Models/Procedures/Default/ConsistentRotationTextureProcedure.d.ts +0 -25
  267. package/Mesher/Models/Procedures/Default/OutlinedTextureProcedure.js +0 -162
  268. package/Templates/Selection/VoxelSelecton.d.ts +0 -9
  269. package/Templates/Shapes/BasicVoxelShapeTemplate.d.ts +0 -36
  270. package/Templates/Shapes/BoxVoxelTemplate.d.ts +0 -23
  271. package/Templates/Shapes/BoxVoxelTemplate.js +0 -83
  272. package/Templates/Shapes/ConeVoxelTemplate.d.ts +0 -23
  273. package/Templates/Shapes/ConeVoxelTemplate.js +0 -73
  274. package/Templates/Shapes/CylinderVoxelTemplate.d.ts +0 -23
  275. package/Templates/Shapes/CylinderVoxelTemplate.js +0 -73
  276. package/Templates/Shapes/EllipsoidVoxelTemplate.d.ts +0 -23
  277. package/Templates/Shapes/EllipsoidVoxelTemplate.js +0 -89
  278. package/Templates/Shapes/OctahedronVoxelTemplate.d.ts +0 -23
  279. package/Templates/Shapes/OctahedronVoxelTemplate.js +0 -73
  280. package/Templates/Shapes/PyramidVoxelTemplate.d.ts +0 -31
  281. package/Templates/Shapes/PyramidVoxelTemplate.js +0 -148
  282. package/Templates/Shapes/SphereVoxelTemplate.d.ts +0 -15
  283. package/Templates/Shapes/SphereVoxelTemplate.js +0 -59
  284. package/Templates/Shapes/TorusVoxelTemplate.d.ts +0 -23
  285. package/Templates/Shapes/TorusVoxelTemplate.js +0 -73
  286. package/Templates/VoxelTempateRegister.js +0 -30
  287. /package/Mesher/{Functions/MeshTexture.d.ts → Items/MeshTextureO.d.ts} +0 -0
  288. /package/Mesher/{Functions → Voxels/Base}/CompactVoxelSectionMesh.js +0 -0
  289. /package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelMeshBVHStructCursor.d.ts +0 -0
  290. /package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelMeshBVHStructCursor.js +0 -0
  291. /package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelMeshVertexStructCursor.d.ts +0 -0
  292. /package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelMeshVertexStructCursor.js +0 -0
  293. /package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelShaderData.d.ts +0 -0
  294. /package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelShaderData.js +0 -0
  295. /package/Mesher/{Functions → Voxels}/MeshSection.d.ts +0 -0
  296. /package/Mesher/{Functions → Voxels}/MeshSection.js +0 -0
  297. /package/Mesher/{Functions → Voxels}/MeshSectionSnapShot.d.ts +0 -0
  298. /package/Mesher/{Functions → Voxels}/MeshSectionSnapShot.js +0 -0
  299. /package/Mesher/{Models → Voxels/Models}/Common/Faces/CullRulledFace.d.ts +0 -0
  300. /package/Mesher/{Models → Voxels/Models}/Common/Faces/ShadeRulelessFace.js +0 -0
  301. /package/Mesher/{Models → Voxels/Models}/Common/GetTexture.js +0 -0
  302. /package/Mesher/{Models → Voxels/Models}/Nodes/Custom/index.d.ts +0 -0
  303. /package/Mesher/{Models → Voxels/Models}/Nodes/Custom/index.js +0 -0
  304. /package/Mesher/{Models → Voxels/Models}/Nodes/GeometryNode.d.ts +0 -0
  305. /package/Mesher/{Models → Voxels/Models}/Nodes/GeometryNode.js +0 -0
  306. /package/Mesher/{Models → Voxels/Models}/Nodes/Types/GeomtryNode.types.d.ts +0 -0
  307. /package/Mesher/{Models → Voxels/Models}/Nodes/Types/GeomtryNode.types.js +0 -0
  308. /package/Mesher/{Models → Voxels/Models}/Nodes/Types/QuadVoxelGometryNodeTypes.js +0 -0
  309. /package/Mesher/{Models → Voxels/Models}/Nodes/Types/TriangleVoxelGometryNodeTypes.js +0 -0
  310. /package/Mesher/{Models → Voxels/Models}/Nodes/VoxelGeometryConstructor.js +0 -0
  311. /package/Mesher/{Models → Voxels/Models}/Procedures/TextureProcedure.js +0 -0
  312. /package/Mesher/{Models → Voxels/Models}/Procedures/TextureProcedureRegister.d.ts +0 -0
  313. /package/Mesher/{Models → Voxels/Models}/RenderedMaterials.d.ts +0 -0
  314. /package/Mesher/{Models → Voxels/Models}/RenderedMaterials.js +0 -0
  315. /package/Templates/Selection/{VoxelSelecton.js → VoxelSelection.js} +0 -0
@@ -60,52 +60,16 @@ function MakeWebGPUMesh(tool: VoxelMesherDataTool): CompactMeshData {
60
60
  Vector3Like.ToArray(mesh.maxBounds),
61
61
  ];
62
62
  } */
63
- export function CompactVoxelMesh(tools, transfers = []) {
64
- const data = [0, []];
63
+ export function CompactTemplateMesh(tools, transfers = []) {
64
+ const data = [];
65
65
  for (let i = 0; i < tools.length; i++) {
66
66
  const tool = tools[i];
67
67
  if (!tool.mesh.vertexCount)
68
68
  continue;
69
- const totalVerticies = tool.mesh.vertexCount * VoxelMeshVertexStructCursor.VertexFloatSize;
70
- const vertexArray = new Float32Array(totalVerticies);
71
- const vertexBuffers = tool.mesh.buffer._buffers;
72
- let start = 0;
73
- let done = false;
74
- for (let i = 0; i < vertexBuffers.length; i++) {
75
- const buffer = vertexBuffers[i];
76
- for (let j = 0; j < buffer.length; j++) {
77
- vertexArray[start] = buffer[j];
78
- start++;
79
- if (start > totalVerticies) {
80
- done = true;
81
- break;
82
- }
83
- }
84
- if (done)
85
- break;
86
- }
87
- const indiciesArray = tool.mesh.indicieCount > 65535
88
- ? new Uint32Array(tool.mesh.indicieCount)
89
- : new Uint16Array(tool.mesh.indicieCount);
90
- const indiceBuffers = tool.mesh.indices._buffers;
91
- start = 0;
92
- done = false;
93
- for (let i = 0; i < indiceBuffers.length; i++) {
94
- const buffer = indiceBuffers[i];
95
- for (let j = 0; j < buffer.length; j++) {
96
- indiciesArray[start] = buffer[j];
97
- start++;
98
- if (start > tool.mesh.indicieCount) {
99
- done = true;
100
- break;
101
- }
102
- }
103
- if (done)
104
- break;
105
- }
69
+ const { vertexArray, indiciesArray } = tool.mesh.create();
106
70
  const minBounds = tool.mesh.minBounds;
107
71
  const maxBounds = tool.mesh.maxBounds;
108
- data[1].push([
72
+ data.push([
109
73
  tool.id,
110
74
  vertexArray,
111
75
  indiciesArray,
@@ -1,4 +1,4 @@
1
- import { SetSectionMeshTask } from "../Types/Mesher.types";
1
+ import { SetSectionMeshTask } from "../../Types/Mesher.types";
2
2
  import { VoxelModelBuilder } from "../Models/VoxelModelBuilder";
3
- import { LocationData } from "../../Math";
3
+ import { LocationData } from "../../../Math";
4
4
  export declare function CompactVoxelSectionMesh(location: LocationData, tools: VoxelModelBuilder[], transfers?: any[]): SetSectionMeshTask;
@@ -1,5 +1,5 @@
1
1
  import { LocationData } from "../../../Math";
2
2
  import type { SetSectionMeshTask } from "../../Types/Mesher.types";
3
3
  import { SectionCursor } from "../../../World/Cursor/SectionCursor.js";
4
- import { DataCursorInterface } from "Voxels/Cursor/DataCursor.interface";
4
+ import { DataCursorInterface } from "../../../Voxels/Cursor/DataCursor.interface";
5
5
  export declare function MeshSectionBase(worldCursor: DataCursorInterface, sectionCursor: SectionCursor, location: LocationData, transfers?: any[]): SetSectionMeshTask | null;
@@ -1,19 +1,18 @@
1
1
  //data
2
2
  import { WorldSpaces } from "../../../World/WorldSpaces.js";
3
3
  //tools
4
- import { VoxelGeometryBuilderCacheSpace } from "../../Models/VoxelGeometryBuilderCacheSpace.js";
5
- import { VoxelModelConstructorRegister } from "../../Models/VoxelModelConstructorRegister.js";
6
- import { VoxelMeshBVHBuilder } from "../../Geomtry/VoxelMeshBVHBuilder";
4
+ import { VoxelGeometryBuilderCacheSpace } from "../Models/VoxelGeometryBuilderCacheSpace.js";
5
+ import { VoxelModelConstructorRegister } from "../Models/VoxelModelConstructorRegister.js";
6
+ import { VoxelMeshBVHBuilder } from "../Geomtry/VoxelMeshBVHBuilder";
7
7
  import { Vector3Like } from "@amodx/math";
8
- import { RenderedMaterials } from "../../Models/RenderedMaterials";
9
- import { CompactVoxelSectionMesh } from "../CompactVoxelSectionMesh";
8
+ import { RenderedMaterials } from "../Models/RenderedMaterials";
9
+ import { CompactVoxelSectionMesh } from "./CompactVoxelSectionMesh";
10
10
  let space;
11
11
  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
15
  constructor.schema.dataCursor = worldCursor;
16
- constructor.schema.dataCursor = worldCursor;
17
16
  constructor.schema.voxel = voxel;
18
17
  const builder = constructor.builder;
19
18
  builder.origin.x = sectionCursor._voxelPosition.x;
@@ -71,12 +70,14 @@ export function MeshSectionBase(worldCursor, sectionCursor, location, transfers
71
70
  const y = cy + sectionCursor._voxelPosition.y;
72
71
  const z = cz + sectionCursor._voxelPosition.z;
73
72
  let addedVoxel = false;
74
- if (meshVoxel(x, y, z, voxel, worldCursor, sectionCursor))
73
+ if (meshVoxel(x, y, z, voxel, worldCursor, sectionCursor)) {
75
74
  addedVoxel = true;
75
+ }
76
76
  if (voxel.hasSecondaryVoxel()) {
77
77
  voxel.setSecondary(true);
78
- if (meshVoxel(x, y, z, voxel, worldCursor, sectionCursor))
78
+ if (meshVoxel(x, y, z, voxel, worldCursor, sectionCursor)) {
79
79
  addedVoxel = true;
80
+ }
80
81
  voxel.setSecondary(false);
81
82
  }
82
83
  section.setBuried(i, !addedVoxel);
@@ -1,5 +1,5 @@
1
1
  import { Vec3Array } from "@amodx/math";
2
- import { LocationData } from "../../Math";
2
+ import { LocationData } from "../../../Math";
3
3
  export declare class CompactedMeshData {
4
4
  material: number;
5
5
  materialId: string;
@@ -1,4 +1,4 @@
1
- import { VoxelPalettesRegister } from "../../Voxels/Data/VoxelPalettesRegister";
1
+ import { VoxelPalettesRegister } from "../../../Voxels/Data/VoxelPalettesRegister";
2
2
  import { VoxelMeshVertexStructCursor } from "./VoxelMeshVertexStructCursor";
3
3
  export class CompactedMeshData {
4
4
  material;
@@ -1,5 +1,5 @@
1
1
  import { VoxelModelBuilder } from "../Models/VoxelModelBuilder";
2
- import { Quad } from "./Primitives/Quad";
3
- import { Triangle } from "./Primitives";
2
+ import { Quad } from "../../Geomtry/Primitives/Quad";
3
+ import { Triangle } from "../../Geomtry/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 "./Geometry.types";
3
+ import { QuadVerticies } from "../../Geomtry/Geometry.types";
4
4
  import { VoxelMeshVertexConstants } from "./VoxelMeshVertexStructCursor";
5
5
  const vector1ShaderData = Vector4Like.Create();
6
6
  const vector2ShaderData = Vector4Like.Create();
@@ -1,6 +1,6 @@
1
1
  import { Vec3Array } from "@amodx/math";
2
2
  import { VoxelMeshBVHStructCursor } from "./VoxelMeshBVHStructCursor";
3
- import { FlatBinaryTreeIndex } from "../../Util/FlatBinaryTreeIndex";
3
+ import { FlatBinaryTreeIndex } from "../../../Util/FlatBinaryTreeIndex";
4
4
  export declare class VoxelMeshBVHBuilder {
5
5
  static AABBStructByteSize: number;
6
6
  treeIndex: FlatBinaryTreeIndex;
@@ -1,6 +1,6 @@
1
- import { WorldSpaces } from "../../World/WorldSpaces";
1
+ import { WorldSpaces } from "../../../World/WorldSpaces";
2
2
  import { VoxelMeshBVHStructCursor } from "./VoxelMeshBVHStructCursor";
3
- import { FlatBinaryTreeIndex } from "../../Util/FlatBinaryTreeIndex";
3
+ import { FlatBinaryTreeIndex } from "../../../Util/FlatBinaryTreeIndex";
4
4
  const MAX_FLOAT32 = new Float32Array([Infinity])[0];
5
5
  export class VoxelMeshBVHBuilder {
6
6
  static AABBStructByteSize = (4 + 4) * 4;
@@ -0,0 +1,3 @@
1
+ import { CompactMeshData } from "../Types/index.js";
2
+ import { FullVoxelTemplateData } from "../../Templates/Full/FullVoxelTemplate.types.js";
3
+ export declare function MeshTemplate(fullVoxelData: FullVoxelTemplateData, baseLightValue?: number): [mesh: CompactMeshData, tranfers: any[]] | false;
@@ -0,0 +1,81 @@
1
+ import { VoxelGeometryBuilderCacheSpace } from "./Models/VoxelGeometryBuilderCacheSpace.js";
2
+ import { TemplateCursor } from "../../Templates/Cursor/TemplateCursor.js";
3
+ import { FullVoxelTemplate } from "../../Templates/Full/FullVoxelTemplate.js";
4
+ import { CompactTemplateMesh } from "./Base/CompactTemplateMesh.js";
5
+ import { VoxelModelConstructorRegister } from "./Models/VoxelModelConstructorRegister.js";
6
+ import { Vector3Like } from "@amodx/math";
7
+ import { RenderedMaterials } from "./Models/RenderedMaterials.js";
8
+ import { VoxelLightData } from "../../Voxels/Cursor/VoxelLightData.js";
9
+ const templateCursor = new TemplateCursor();
10
+ const padding = Vector3Like.Create(5, 5, 5);
11
+ const lightData = new VoxelLightData();
12
+ function meshVoxel(x, y, z, voxel, templateCursor) {
13
+ if (voxel.isAir() || !voxel.isRenderable())
14
+ return false;
15
+ let added = false;
16
+ const constructor = VoxelModelConstructorRegister.constructorsPaltte[voxel.getVoxelId()];
17
+ constructor.schema.dataCursor = templateCursor;
18
+ constructor.schema.dataCursor = templateCursor;
19
+ constructor.schema.voxel = voxel;
20
+ const builder = constructor.builder;
21
+ builder.origin.x = x;
22
+ builder.origin.y = y;
23
+ builder.origin.z = z;
24
+ builder.position.x = x;
25
+ builder.position.y = y;
26
+ builder.position.z = z;
27
+ builder.voxel = voxel;
28
+ builder.nVoxel = templateCursor;
29
+ builder.startConstruction();
30
+ added = constructor.process();
31
+ builder.endConstruction();
32
+ return added;
33
+ }
34
+ export function MeshTemplate(fullVoxelData, baseLightValue = lightData.setS(0xf, 0)) {
35
+ const template = new FullVoxelTemplate(fullVoxelData);
36
+ templateCursor.setTemplate(template);
37
+ const space = new VoxelGeometryBuilderCacheSpace({
38
+ x: template.bounds.size.x + padding.x,
39
+ y: template.bounds.size.y + padding.y,
40
+ z: template.bounds.size.z + padding.z,
41
+ });
42
+ space.start(-2, -2, -2);
43
+ const effects = {};
44
+ for (let i = 0; i < RenderedMaterials.meshers.length; i++) {
45
+ const mesher = RenderedMaterials.meshers[i];
46
+ mesher.space = space;
47
+ mesher.effects = effects;
48
+ }
49
+ const oldLight = template.light.slice();
50
+ template.light.fill(baseLightValue);
51
+ const size = template.bounds.size;
52
+ for (let x = 0; x < size.x; x++) {
53
+ for (let y = 0; y < size.y; y++) {
54
+ for (let z = 0; z < size.z; z++) {
55
+ const voxel = templateCursor.getVoxel(x, y, z);
56
+ meshVoxel(x, y, z, voxel, templateCursor);
57
+ if (voxel.hasSecondaryVoxel()) {
58
+ voxel.setSecondary(true);
59
+ meshVoxel(x, y, z, voxel, templateCursor);
60
+ voxel.setSecondary(false);
61
+ }
62
+ }
63
+ }
64
+ }
65
+ const meshed = [];
66
+ for (let i = 0; i < RenderedMaterials.meshers.length; i++) {
67
+ const mesher = RenderedMaterials.meshers[i];
68
+ if (!mesher.mesh.vertexCount) {
69
+ mesher.clear();
70
+ continue;
71
+ }
72
+ meshed.push(mesher);
73
+ }
74
+ const transfers = [];
75
+ const compacted = CompactTemplateMesh(meshed, transfers);
76
+ for (let i = 0; i < meshed.length; i++) {
77
+ meshed[i].clear();
78
+ }
79
+ template.light.set(oldLight);
80
+ return [compacted, transfers];
81
+ }
@@ -1,3 +1,3 @@
1
1
  import { RawVoxelData } from "../../Voxels/Types/Voxel.types.js";
2
- import { CompactMeshData } from "Mesher/Types";
2
+ import { CompactMeshData } from "../Types/index.js";
3
3
  export declare function MeshVoxel(rawVoxelData: RawVoxelData): [mesh: CompactMeshData, tranfers: any[]] | false;
@@ -1,8 +1,8 @@
1
- import { VoxelGeometryBuilderCacheSpace } from "../Models/VoxelGeometryBuilderCacheSpace.js";
1
+ import { VoxelGeometryBuilderCacheSpace } from "./Models/VoxelGeometryBuilderCacheSpace.js";
2
2
  import { TemplateCursor } from "../../Templates/Cursor/TemplateCursor.js";
3
3
  import { FullVoxelTemplate } from "../../Templates/Full/FullVoxelTemplate.js";
4
- import { CompactVoxelMesh } from "../Functions/CompactVoxelMesh.js";
5
- import { VoxelModelConstructorRegister } from "../Models/VoxelModelConstructorRegister.js";
4
+ import { CompactTemplateMesh } from "./Base/CompactTemplateMesh.js";
5
+ import { VoxelModelConstructorRegister } from "./Models/VoxelModelConstructorRegister.js";
6
6
  const template = new FullVoxelTemplate(FullVoxelTemplate.CreateNew([3, 3, 3], 0xf));
7
7
  const templateCursor = new TemplateCursor();
8
8
  templateCursor.setTemplate(template);
@@ -40,7 +40,7 @@ export function MeshVoxel(rawVoxelData) {
40
40
  builder.nVoxel = templateCursor;
41
41
  constructor.process();
42
42
  const transfers = [];
43
- const compacted = CompactVoxelMesh([builder], transfers);
43
+ const compacted = CompactTemplateMesh([builder], transfers);
44
44
  builder.clear();
45
45
  return [compacted, transfers];
46
46
  }
@@ -1,5 +1,5 @@
1
- import { QuadVerticies } from "../../../Geomtry/Geometry.types";
2
- import { VoxelFaces } from "../../../../Math";
1
+ import { QuadVerticies } from "../../../../Geomtry/Geometry.types";
2
+ import { VoxelFaces } from "../../../../../Math";
3
3
  import { Vec4Array } from "@amodx/math";
4
4
  export declare const GradientCheckSets: Record<VoxelFaces, Record<QuadVerticies, number[]>>;
5
5
  export declare const GradientCheckSetsArray: Int8Array<ArrayBuffer>;
@@ -1,7 +1,7 @@
1
- import { QuadVerticies, } from "../../../Geomtry/Geometry.types";
2
- import { VoxelFaces, VoxelFacesArray } from "../../../../Math";
3
- import { VoxelRelativeCubeIndex } from "../../../../Voxels/Models/Indexing/VoxelRelativeCubeIndex";
4
- import { VoxelLightData } from "../../../../Voxels/Cursor/VoxelLightData";
1
+ import { QuadVerticies } from "../../../../Geomtry/Geometry.types";
2
+ import { VoxelFaces, VoxelFacesArray } from "../../../../../Math";
3
+ import { VoxelRelativeCubeIndex } from "../../../../../Voxels/Models/Indexing/VoxelRelativeCubeIndex";
4
+ import { VoxelLightData } from "../../../../../Voxels/Cursor/VoxelLightData";
5
5
  export const GradientCheckSets = [];
6
6
  GradientCheckSets[VoxelFaces.Up] = [];
7
7
  GradientCheckSets[VoxelFaces.Up][QuadVerticies.TopRight] = [
@@ -1,3 +1,3 @@
1
1
  import type { VoxelModelBuilder } from "../../VoxelModelBuilder.js";
2
- import { VoxelFaces } from "../../../../Math/index.js";
2
+ import { VoxelFaces } from "../../../../../Math/index.js";
3
3
  export default function calculateFaceData(face: VoxelFaces, builder: VoxelModelBuilder): void;
@@ -1,6 +1,6 @@
1
- import { VoxelFaceDirections } from "../../../../Math/index.js";
1
+ import { VoxelFaceDirections } from "../../../../../Math/index.js";
2
2
  import { GradientCheckSets } from "./CalcConstants.js";
3
- import { VoxelLightData } from "../../../../Voxels/Cursor/VoxelLightData.js";
3
+ import { VoxelLightData } from "../../../../../Voxels/Cursor/VoxelLightData.js";
4
4
  const lightData = new VoxelLightData();
5
5
  export default function calculateFaceData(face, builder) {
6
6
  const x = builder.position.x;
@@ -1,4 +1,4 @@
1
- import { VoxelRelativeCubeIndexPositionMap } from "../../../../Voxels/Models/Indexing/VoxelRelativeCubeIndex";
1
+ import { VoxelRelativeCubeIndexPositionMap } from "../../../../../Voxels/Models/Indexing/VoxelRelativeCubeIndex";
2
2
  import { VoxelModelConstructorRegister } from "../../VoxelModelConstructorRegister";
3
3
  export function CullRulledFace(builder, trueFaceIndex) {
4
4
  const faceIndexes = VoxelModelConstructorRegister.faceCullMap[trueFaceIndex];
@@ -1,4 +1,4 @@
1
- import { QuadVerticies } from "../../../Geomtry/Geometry.types";
1
+ import { QuadVerticies } from "../../../../Geomtry/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 "../../../../Geomtry/Geometry.types";
4
4
  export declare function ShadeRulledFace(builder: VoxelModelBuilder, trueFaceIndex: number, lightData: Record<QuadVerticies, number>, vertexWeights: Vec4Array[], vertexStride: number): void;
@@ -1,4 +1,4 @@
1
- import { VoxelRelativeCubeIndexPositionMap } from "../../../../Voxels/Models/Indexing/VoxelRelativeCubeIndex";
1
+ import { VoxelRelativeCubeIndexPositionMap } from "../../../../../Voxels/Models/Indexing/VoxelRelativeCubeIndex";
2
2
  import { VoxelModelConstructorRegister } from "../../VoxelModelConstructorRegister";
3
3
  import { getInterpolationValue } from "../Calc/CalcConstants";
4
4
  export function ShadeRulledFace(builder, trueFaceIndex, lightData, vertexWeights, vertexStride) {
@@ -1,6 +1,6 @@
1
1
  import { BaseVoxelGeomtryTextureProcedureData } from "../Procedures/TextureProcedure";
2
2
  import { VoxelModelBuilder } from "../VoxelModelBuilder";
3
- import { Quad } from "../../Geomtry";
4
- import { VoxelFaces } from "../../../Math";
5
- import { Triangle } from "../../Geomtry";
3
+ import { Quad } from "../../../Geomtry";
4
+ import { VoxelFaces } from "../../../../Math";
5
+ import { Triangle } from "../../../Geomtry";
6
6
  export declare function GetTexture(builder: VoxelModelBuilder, data: number | BaseVoxelGeomtryTextureProcedureData, 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 "../../../../../Geomtry/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 "../../../../../Geomtry/Geometry.types";
2
2
  import { CompassAngles } from "@amodx/math";
3
3
  var FlowStates;
4
4
  (function (FlowStates) {
@@ -1,7 +1,7 @@
1
1
  import { GeoemtryNode } from "../../GeometryNode";
2
- import { VoxelCustomGeomtryNode } from "../../../../../Voxels/Models/VoxelModel.types";
3
- import { VoxelFaces } from "../../../../../Math";
4
- import type { LiquidVoxelModelArgs } from "../../../../../Voxels/Models/Defaults/LiquidVoxelModel";
2
+ import { VoxelCustomGeomtryNode } from "../../../../../../Voxels/Models/VoxelModel.types";
3
+ import { VoxelFaces } from "../../../../../../Math";
4
+ import type { LiquidVoxelModelArgs } from "../../../../../../Voxels/Models/Defaults/LiquidVoxelModel";
5
5
  export declare class LiquidGeometryNode extends GeoemtryNode<VoxelCustomGeomtryNode, LiquidVoxelModelArgs> {
6
6
  init(): void;
7
7
  isExposed(face: VoxelFaces): boolean;
@@ -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";
6
- import { VoxelFaceDirections, VoxelFaces } from "../../../../../Math";
3
+ import { Quad } from "../../../../../Geomtry/Primitives/Quad";
4
+ import { QuadVerticies, } from "../../../../../Geomtry/Geometry.types";
5
+ import { QuadScalarVertexData } from "../../../../../Geomtry/Primitives/QuadVertexData";
6
+ import { VoxelFaceDirections, VoxelFaces } from "../../../../../../Math";
7
7
  import { getFlowAngle, getFlowGradient, FlowVerticies } from "./FlowGradient";
8
- import { VoxelLightData } from "../../../../../Voxels/Cursor/VoxelLightData";
8
+ import { VoxelLightData } from "../../../../../../Voxels/Cursor/VoxelLightData";
9
9
  import { addVoxelQuad } from "../../../../Geomtry/VoxelGeometryBuilder";
10
10
  import { GetTexture } from "../../../Common/GetTexture";
11
- import { Box } from "../../../../Geomtry/Shapes/Box";
11
+ import { Box } from "../../../../../Geomtry/Shapes/Box";
12
12
  const vertexValue = new QuadScalarVertexData();
13
13
  const vertexLevel = new QuadScalarVertexData();
14
14
  const lightData = new VoxelLightData();
@@ -33,25 +33,23 @@ const { quads: Quads } = Box.Create([
33
33
  [0, 0, 0],
34
34
  [1, waterHeight, 1],
35
35
  ]);
36
- const { quads: Quads2 } = Box.Create([
37
- [0, 0, 0],
38
- [1, waterHeight, 1],
39
- ]);
40
36
  Quads[VoxelFaces.Up].setUVs(uvs);
41
37
  Quads[VoxelFaces.Down].setUVs(uvs);
42
38
  export class LiquidGeometryNode extends GeoemtryNode {
43
39
  init() { }
44
40
  isExposed(face) {
45
41
  /* if (this.builder.voxel.getLevel() <= 0 || this.builder.voxel.getLevelState() && face !== VoxelFaces.Up) {
46
- return true;
47
- } */
42
+ return true;
43
+ } */
48
44
  const nv = this.builder.nVoxel.getVoxel(VoxelFaceDirections[face][0] + this.builder.position.x, VoxelFaceDirections[face][1] + this.builder.position.y, VoxelFaceDirections[face][2] + this.builder.position.z);
49
- if (!nv || (face == VoxelFaces.Up && nv.isAir()))
45
+ if (!nv)
50
46
  return true;
51
47
  if (this.builder.voxel.isSameVoxel(nv))
52
48
  return false;
53
49
  if (nv.isAir() || nv.tags["dve_is_transparent"])
54
50
  return true;
51
+ if (face == VoxelFaces.Up)
52
+ return true;
55
53
  return false;
56
54
  }
57
55
  determineShading(face) {
@@ -76,9 +74,9 @@ export class LiquidGeometryNode extends GeoemtryNode {
76
74
  currentHeight = 1 - builder.voxel.getLevel() / 7;
77
75
  }
78
76
  /* if (builder.voxel.getLevelState() == 1 || builder.voxel.getLevel() == 0) {
79
- flowTexture = 0;
80
- stillTexture = 0;
81
- } */
77
+ flowTexture = 0;
78
+ stillTexture = 0;
79
+ } */
82
80
  let added = false;
83
81
  let upFaceExposed = false;
84
82
  if (this.isExposed(VoxelFaces.Up)) {
@@ -1,6 +1,6 @@
1
1
  import { Vec4Array } from "@amodx/math";
2
- import { VoxelFaces } from "../../../../Math";
3
- import { Quad } from "../../../Geomtry/Primitives/Quad";
2
+ import { VoxelFaces } from "../../../../../Math";
3
+ import { Quad } from "../../../../Geomtry/Primitives/Quad";
4
4
  import { GeoemtryNode } from "../GeometryNode";
5
5
  import { CompiledQuadVoxelGeomtryNode, QuadVoxelGometryArgs } from "../Types/QuadVoxelGometryNodeTypes";
6
6
  export declare class QuadVoxelGometryNode extends GeoemtryNode<CompiledQuadVoxelGeomtryNode, QuadVoxelGometryArgs> {
@@ -1,4 +1,4 @@
1
- import { Quad } from "../../../Geomtry/Primitives/Quad";
1
+ import { Quad } from "../../../../Geomtry/Primitives/Quad";
2
2
  import { addVoxelQuad } from "../../../Geomtry/VoxelGeometryBuilder";
3
3
  import { GeoemtryNode } from "../GeometryNode";
4
4
  import { QuadVoxelGometryInputs, } from "../Types/QuadVoxelGometryNodeTypes";
@@ -1,8 +1,8 @@
1
1
  import { Vec4Array } from "@amodx/math";
2
- import { VoxelFaces } from "../../../../Math";
2
+ import { VoxelFaces } from "../../../../../Math";
3
3
  import { GeoemtryNode } from "../GeometryNode";
4
4
  import { CompiledTriangleVoxelGeomtryNode, TriangleVoxelGometryArgs } from "../Types/TriangleVoxelGometryNodeTypes";
5
- import { Triangle } from "../../../Geomtry/Primitives/Triangle";
5
+ import { Triangle } from "../../../../Geomtry/Primitives/Triangle";
6
6
  export declare class TriangleVoxelGeometryNode extends GeoemtryNode<CompiledTriangleVoxelGeomtryNode, TriangleVoxelGometryArgs> {
7
7
  triangle: Triangle;
8
8
  vertexWeights: Vec4Array[];
@@ -2,7 +2,7 @@ import { addVoxelTriangle } from "../../../Geomtry/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 "../../../../Geomtry/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,6 +1,6 @@
1
1
  import { Vec3Array, Vec4Array } from "@amodx/math";
2
- import { QuadUVData } from "../../../Geomtry/Geometry.types";
3
- import { VoxelFaces } from "../../../../Math";
2
+ import { QuadUVData } from "../../../../Geomtry/Geometry.types";
3
+ import { VoxelFaces } from "../../../../../Math";
4
4
  export type QuadVoxelGometryArgs = [
5
5
  enabled: boolean,
6
6
  texture: number,
@@ -1,5 +1,5 @@
1
1
  import { Vec2Array, Vec3Array, Vec4Array } from "@amodx/math";
2
- import { VoxelFaces } from "../../../../Math";
2
+ import { VoxelFaces } from "../../../../../Math";
3
3
  export type TriangleVoxelGometryArgs = [
4
4
  enabled: boolean,
5
5
  texture: number,
@@ -1,6 +1,6 @@
1
- import { CompiledVoxelGeometrySyncData } from "../../../Voxels/Models/CompiledVoxelModel.types";
1
+ import { CompiledVoxelGeometrySyncData } from "../../../../Voxels/Models/CompiledVoxelModel.types";
2
2
  import { GeoemtryNode } from "./GeometryNode";
3
- import { CullingProcedureData } from "../../../Voxels/Models/VoxelModel.types";
3
+ import { CullingProcedureData } from "../../../../Voxels/Models/VoxelModel.types";
4
4
  export declare class VoxelGeometryConstructor {
5
5
  geometryPaletteId: number;
6
6
  nodes: GeoemtryNode<any, any>[];
@@ -0,0 +1,24 @@
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";
5
+ import { TextureId } from "Textures";
6
+ import { VoxelFaces } from "Math";
7
+ /**
8
+ * Extend your data type so we can add a seed if we want, and define
9
+ * the rotations we can choose from.
10
+ */
11
+ export interface ConsistentRotationTextureProcedureData extends BaseVoxelGeomtryTextureProcedureData {
12
+ type: "consistent-rotation";
13
+ texture: TextureId | number;
14
+ /**
15
+ * You can allow (0 | 90 | 180 | 270), or remove 0 if you don’t want an unrotated option
16
+ */
17
+ rotations: (0 | 90 | 180 | 270)[];
18
+ rotationBounds?: Vec3Array;
19
+ }
20
+ export declare class ConsistentRotationTextureProcedure extends TextureProcedure<ConsistentRotationTextureProcedureData> {
21
+ getTexture(builder: VoxelModelBuilder, data: ConsistentRotationTextureProcedureData, closestFace: VoxelFaces, primitive: Quad): number;
22
+ getOverlayTexture(builder: VoxelModelBuilder, data: ConsistentRotationTextureProcedureData, closestFace: VoxelFaces, primitive: Quad, ref: Vector4Like): Vector4Like;
23
+ transformUVs(builder: VoxelModelBuilder, data: ConsistentRotationTextureProcedureData, closestFace: VoxelFaces, primitive: Quad): void;
24
+ }
@@ -1,7 +1,7 @@
1
1
  import { Vector3Like } from "@amodx/math";
2
2
  import { TextureProcedure, } from "../TextureProcedure";
3
- import { WorldSpaces } from "../../../../World/WorldSpaces";
4
- import { GetYXZOrderArrayIndex } from "../../../../Math/Indexing";
3
+ import { WorldSpaces } from "../../../../../World/WorldSpaces";
4
+ import { GetYXZOrderArrayIndex } from "../../../../../Math/Indexing";
5
5
  const voxelPos = Vector3Like.Create();
6
6
  const defaultBounds = [4, 4, 4];
7
7
  export class ConsistentRotationTextureProcedure extends TextureProcedure {
@@ -1,10 +1,10 @@
1
1
  import { Vector4Like } from "@amodx/math";
2
- import type { Quad } from "../../../Geomtry";
3
- import { VoxelModelBuilder } from "Mesher/Models/VoxelModelBuilder";
2
+ import type { Quad } from "../../../../Geomtry";
3
+ import { VoxelModelBuilder } from "Mesher/Voxels/Models/VoxelModelBuilder";
4
4
  import { TextureProcedure, BaseVoxelGeomtryTextureProcedureData } from "../TextureProcedure";
5
5
  import { TextureId } from "Textures";
6
- import { VoxelFaces } from "../../../../Math/index.js";
7
- interface OutlinedTextureProcedureData extends BaseVoxelGeomtryTextureProcedureData {
6
+ import { VoxelFaces } from "../../../../../Math/index.js";
7
+ export interface OutlinedTextureProcedureData extends BaseVoxelGeomtryTextureProcedureData {
8
8
  type: "outlined";
9
9
  texture: TextureId | number;
10
10
  textureRecrod: {
@@ -25,4 +25,3 @@ export declare class OutlinedTextureProcedure extends TextureProcedure<OutlinedT
25
25
  getOverlayTexture(builder: VoxelModelBuilder, data: OutlinedTextureProcedureData, closestFace: VoxelFaces, primitive: Quad, ref: Vector4Like): Vector4Like;
26
26
  transformUVs(builder: VoxelModelBuilder, data: OutlinedTextureProcedureData, closestFace: VoxelFaces, primitive: Quad): void;
27
27
  }
28
- export {};