@divinevoxel/vlox 0.0.76 → 0.0.77

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
@@ -8,12 +8,6 @@ export const simpleThinPannel = {
8
8
  bitSize: 3,
9
9
  values: ["down", "up", "north", "south", "east", "west"],
10
10
  },
11
- {
12
- name: "direction",
13
- bitIndex: 3,
14
- bitSize: 2,
15
- values: ["north", "south", "east", "west"],
16
- },
17
11
  ],
18
12
  arguments: {
19
13
  upDownTextures: {
@@ -28,14 +22,12 @@ export const simpleThinPannel = {
28
22
  },
29
23
  conditonalNodes: {},
30
24
  stateNodes: {
31
- "placement=down,direction=south": [
25
+ "placement=south": [
32
26
  {
33
- geometryId: "dve_thin_panel_down",
27
+ geometryId: "dve_thin_panel",
34
28
  inputs: {
35
29
  upTex: "@upDownTextures",
36
- upTexRotation: 0,
37
30
  downTex: "@upDownTextures",
38
- downTexRotation: 0,
39
31
  northTex: "@sideTextures",
40
32
  southTex: "@sideTextures",
41
33
  eastTex: "@sideTextures",
@@ -43,14 +35,14 @@ export const simpleThinPannel = {
43
35
  },
44
36
  },
45
37
  ],
46
- "placement=down,direction=north": [
38
+ "placement=north": [
47
39
  {
48
- geometryId: "dve_thin_panel_down",
40
+ geometryId: "dve_thin_panel",
41
+ rotation: [0, 180, 0],
42
+ position: [0, 0, (16 - 3) / 16],
49
43
  inputs: {
50
44
  upTex: "@upDownTextures",
51
- upTexRotation: 180,
52
45
  downTex: "@upDownTextures",
53
- downTexRotation: 180,
54
46
  northTex: "@sideTextures",
55
47
  southTex: "@sideTextures",
56
48
  eastTex: "@sideTextures",
@@ -58,14 +50,14 @@ export const simpleThinPannel = {
58
50
  },
59
51
  },
60
52
  ],
61
- "placement=down,direction=east": [
53
+ "placement=west": [
62
54
  {
63
- geometryId: "dve_thin_panel_down",
55
+ geometryId: "dve_thin_panel",
56
+ rotation: [0, 90, 0],
57
+ position: [(-8 + 3 / 2) / 16, 0, (8 - 3 / 2) / 16],
64
58
  inputs: {
65
59
  upTex: "@upDownTextures",
66
- upTexRotation: 90,
67
60
  downTex: "@upDownTextures",
68
- downTexRotation: 90,
69
61
  northTex: "@sideTextures",
70
62
  southTex: "@sideTextures",
71
63
  eastTex: "@sideTextures",
@@ -73,14 +65,14 @@ export const simpleThinPannel = {
73
65
  },
74
66
  },
75
67
  ],
76
- "placement=down,direction=west": [
68
+ "placement=east": [
77
69
  {
78
- geometryId: "dve_thin_panel_down",
70
+ geometryId: "dve_thin_panel",
71
+ rotation: [0, -90, 0],
72
+ position: [(8 - 3 / 2) / 16, 0, (8 - 3 / 2) / 16],
79
73
  inputs: {
80
74
  upTex: "@upDownTextures",
81
- upTexRotation: 270,
82
75
  downTex: "@upDownTextures",
83
- downTexRotation: 270,
84
76
  northTex: "@sideTextures",
85
77
  southTex: "@sideTextures",
86
78
  eastTex: "@sideTextures",
@@ -88,15 +80,14 @@ export const simpleThinPannel = {
88
80
  },
89
81
  },
90
82
  ],
91
- "placement=up,direction=north": [
83
+ "placement=down": [
92
84
  {
93
- geometryId: "dve_thin_panel_down",
94
- position: [0, 1 - 3 / 16, 0],
85
+ geometryId: "dve_thin_panel",
86
+ rotation: [90, 0, 0],
87
+ position: [0, (-8 + 3 / 2) / 16, (8 - 3 / 2) / 16],
95
88
  inputs: {
96
89
  upTex: "@upDownTextures",
97
- upTexRotation: 180,
98
90
  downTex: "@upDownTextures",
99
- downTexRotation: 180,
100
91
  northTex: "@sideTextures",
101
92
  southTex: "@sideTextures",
102
93
  eastTex: "@sideTextures",
@@ -104,15 +95,14 @@ export const simpleThinPannel = {
104
95
  },
105
96
  },
106
97
  ],
107
- "placement=up,direction=south": [
98
+ "placement=up": [
108
99
  {
109
- geometryId: "dve_thin_panel_down",
110
- position: [0, 1 - 3 / 16, 0],
100
+ geometryId: "dve_thin_panel",
101
+ rotation: [-90, 0, 0],
102
+ position: [0, (8 - 3 / 2) / 16, (8 - 3 / 2) / 16],
111
103
  inputs: {
112
104
  upTex: "@upDownTextures",
113
- upTexRotation: 0,
114
105
  downTex: "@upDownTextures",
115
- downTexRotation: 0,
116
106
  northTex: "@sideTextures",
117
107
  southTex: "@sideTextures",
118
108
  eastTex: "@sideTextures",
@@ -120,15 +110,41 @@ export const simpleThinPannel = {
120
110
  },
121
111
  },
122
112
  ],
123
- "placement=up,direction=east": [
113
+ },
114
+ };
115
+ export const simpleTransparentThinPannel = {
116
+ id: "dve_simple_transparent_thin_panel",
117
+ relationsSchema: [],
118
+ stateSchema: [
119
+ {
120
+ name: "placement",
121
+ bitIndex: 0,
122
+ bitSize: 3,
123
+ values: ["down", "up", "north", "south", "east", "west"],
124
+ },
125
+ ],
126
+ arguments: {
127
+ upDownTextures: {
128
+ type: "texture",
129
+ },
130
+ sideTextures: {
131
+ type: "texture",
132
+ },
133
+ },
134
+ properties: {
135
+ dve_placing_strategy: "*",
136
+ },
137
+ conditonalNodes: {},
138
+ stateNodes: {
139
+ "placement=south": [
124
140
  {
125
- geometryId: "dve_thin_panel_down",
126
- position: [0, 1 - 3 / 16, 0],
141
+ geometryId: "dve_thin_panel",
142
+ cullingProcedure: {
143
+ type: "transparent",
144
+ },
127
145
  inputs: {
128
146
  upTex: "@upDownTextures",
129
- upTexRotation: 90,
130
147
  downTex: "@upDownTextures",
131
- downTexRotation: 90,
132
148
  northTex: "@sideTextures",
133
149
  southTex: "@sideTextures",
134
150
  eastTex: "@sideTextures",
@@ -136,15 +152,17 @@ export const simpleThinPannel = {
136
152
  },
137
153
  },
138
154
  ],
139
- "placement=up,direction=west": [
155
+ "placement=north": [
140
156
  {
141
- geometryId: "dve_thin_panel_down",
142
- position: [0, 1 - 3 / 16, 0],
157
+ geometryId: "dve_thin_panel",
158
+ cullingProcedure: {
159
+ type: "transparent",
160
+ },
161
+ rotation: [0, 180, 0],
162
+ position: [0, 0, (16 - 3) / 16],
143
163
  inputs: {
144
164
  upTex: "@upDownTextures",
145
- upTexRotation: 270,
146
165
  downTex: "@upDownTextures",
147
- downTexRotation: 270,
148
166
  northTex: "@sideTextures",
149
167
  southTex: "@sideTextures",
150
168
  eastTex: "@sideTextures",
@@ -152,251 +170,75 @@ export const simpleThinPannel = {
152
170
  },
153
171
  },
154
172
  ],
155
- "placement=north,direction=north": [
156
- {
157
- geometryId: "dve_thin_panel_south",
158
- position: [0, 0, 1 - 3 / 16],
159
- inputs: {
160
- upTex: "@sideTextures",
161
- downTex: "@sideTextures",
162
- northTex: "@upDownTextures",
163
- northTexRotation: 180,
164
- southTex: "@upDownTextures",
165
- southTexRotation: 180,
166
- eastTex: "@sideTextures",
167
- westTex: "@sideTextures",
168
- },
169
- },
170
- ],
171
- "placement=north,direction=south": [
172
- {
173
- geometryId: "dve_thin_panel_south",
174
- position: [0, 0, 1 - 3 / 16],
175
- inputs: {
176
- upTex: "@sideTextures",
177
- downTex: "@sideTextures",
178
- northTex: "@upDownTextures",
179
- northTexRotation: 0,
180
- southTex: "@upDownTextures",
181
- southTexRotation: 0,
182
- eastTex: "@sideTextures",
183
- westTex: "@sideTextures",
184
- },
185
- },
186
- ],
187
- "placement=north,direction=east": [
188
- {
189
- geometryId: "dve_thin_panel_south",
190
- position: [0, 0, 1 - 3 / 16],
191
- inputs: {
192
- upTex: "@sideTextures",
193
- downTex: "@sideTextures",
194
- northTex: "@upDownTextures",
195
- northTexRotation: 90,
196
- southTex: "@upDownTextures",
197
- southTexRotation: 90,
198
- eastTex: "@sideTextures",
199
- westTex: "@sideTextures",
200
- },
201
- },
202
- ],
203
- "placement=north,direction=west": [
204
- {
205
- geometryId: "dve_thin_panel_south",
206
- position: [0, 0, 1 - 3 / 16],
207
- inputs: {
208
- upTex: "@sideTextures",
209
- downTex: "@sideTextures",
210
- northTex: "@upDownTextures",
211
- northTexRotation: 270,
212
- southTex: "@upDownTextures",
213
- southTexRotation: 270,
214
- eastTex: "@sideTextures",
215
- westTex: "@sideTextures",
216
- },
217
- },
218
- ],
219
- "placement=south,direction=north": [
220
- {
221
- geometryId: "dve_thin_panel_south",
222
- inputs: {
223
- upTex: "@sideTextures",
224
- downTex: "@sideTextures",
225
- northTex: "@upDownTextures",
226
- northTexRotation: 180,
227
- southTex: "@upDownTextures",
228
- southTexRotation: 180,
229
- eastTex: "@sideTextures",
230
- westTex: "@sideTextures",
231
- },
232
- },
233
- ],
234
- "placement=south,direction=south": [
235
- {
236
- geometryId: "dve_thin_panel_south",
237
- inputs: {
238
- upTex: "@sideTextures",
239
- downTex: "@sideTextures",
240
- northTex: "@upDownTextures",
241
- northTexRotation: 0,
242
- southTex: "@upDownTextures",
243
- southTexRotation: 0,
244
- eastTex: "@sideTextures",
245
- westTex: "@sideTextures",
246
- },
247
- },
248
- ],
249
- "placement=south,direction=east": [
250
- {
251
- geometryId: "dve_thin_panel_south",
252
- inputs: {
253
- upTex: "@sideTextures",
254
- downTex: "@sideTextures",
255
- northTex: "@upDownTextures",
256
- northTexRotation: 90,
257
- southTex: "@upDownTextures",
258
- southTexRotation: 90,
259
- eastTex: "@sideTextures",
260
- westTex: "@sideTextures",
261
- },
262
- },
263
- ],
264
- "placement=south,direction=west": [
173
+ "placement=west": [
265
174
  {
266
- geometryId: "dve_thin_panel_south",
267
- inputs: {
268
- upTex: "@sideTextures",
269
- downTex: "@sideTextures",
270
- northTex: "@upDownTextures",
271
- northTexRotation: 270,
272
- southTex: "@upDownTextures",
273
- southTexRotation: 270,
274
- eastTex: "@sideTextures",
275
- westTex: "@sideTextures",
175
+ geometryId: "dve_thin_panel",
176
+ cullingProcedure: {
177
+ type: "transparent",
276
178
  },
277
- },
278
- ],
279
- "placement=east,direction=north": [
280
- {
281
- geometryId: "dve_thin_panel_west",
282
- position: [1 - 3 / 16, 0, 0],
179
+ rotation: [0, 90, 0],
180
+ position: [(-8 + 3 / 2) / 16, 0, (8 - 3 / 2) / 16],
283
181
  inputs: {
284
- upTex: "@sideTextures",
285
- downTex: "@sideTextures",
286
- northTex: "@sideTextures",
287
- southTex: "@sideTextures",
288
- eastTex: "@upDownTextures",
289
- eastTexRotation: 0,
290
- westTex: "@upDownTextures",
291
- westTexRotation: 0,
292
- },
293
- },
294
- ],
295
- "placement=east,direction=south": [
296
- {
297
- geometryId: "dve_thin_panel_west",
298
- position: [1 - 3 / 16, 0, 0],
299
- inputs: {
300
- upTex: "@sideTextures",
301
- downTex: "@sideTextures",
182
+ upTex: "@upDownTextures",
183
+ downTex: "@upDownTextures",
302
184
  northTex: "@sideTextures",
303
185
  southTex: "@sideTextures",
304
- eastTex: "@upDownTextures",
305
- eastTexRotation: 180,
306
- westTex: "@upDownTextures",
307
- westTexRotation: 180,
186
+ eastTex: "@sideTextures",
187
+ westTex: "@sideTextures",
308
188
  },
309
189
  },
310
190
  ],
311
- "placement=east,direction=east": [
191
+ "placement=east": [
312
192
  {
313
- geometryId: "dve_thin_panel_west",
314
- position: [1 - 3 / 16, 0, 0],
315
- inputs: {
316
- upTex: "@sideTextures",
317
- downTex: "@sideTextures",
318
- northTex: "@sideTextures",
319
- southTex: "@sideTextures",
320
- eastTex: "@upDownTextures",
321
- eastTexRotation: 90,
322
- westTex: "@upDownTextures",
323
- westTexRotation: 90,
193
+ geometryId: "dve_thin_panel",
194
+ cullingProcedure: {
195
+ type: "transparent",
324
196
  },
325
- },
326
- ],
327
- "placement=east,direction=west": [
328
- {
329
- geometryId: "dve_thin_panel_west",
330
- position: [1 - 3 / 16, 0, 0],
197
+ rotation: [0, -90, 0],
198
+ position: [(8 - 3 / 2) / 16, 0, (8 - 3 / 2) / 16],
331
199
  inputs: {
332
- upTex: "@sideTextures",
333
- downTex: "@sideTextures",
200
+ upTex: "@upDownTextures",
201
+ downTex: "@upDownTextures",
334
202
  northTex: "@sideTextures",
335
203
  southTex: "@sideTextures",
336
- eastTex: "@upDownTextures",
337
- eastTexRotation: 270,
338
- westTex: "@upDownTextures",
339
- westTexRotation: 270,
204
+ eastTex: "@sideTextures",
205
+ westTex: "@sideTextures",
340
206
  },
341
207
  },
342
208
  ],
343
- "placement=west,direction=north": [
209
+ "placement=down": [
344
210
  {
345
- geometryId: "dve_thin_panel_west",
346
- inputs: {
347
- upTex: "@sideTextures",
348
- downTex: "@sideTextures",
349
- northTex: "@sideTextures",
350
- southTex: "@sideTextures",
351
- eastTex: "@upDownTextures",
352
- eastTexRotation: 0,
353
- westTex: "@upDownTextures",
354
- westTexRotation: 0,
211
+ geometryId: "dve_thin_panel",
212
+ cullingProcedure: {
213
+ type: "transparent",
355
214
  },
356
- },
357
- ],
358
- "placement=west,direction=south": [
359
- {
360
- geometryId: "dve_thin_panel_west",
215
+ rotation: [90, 0, 0],
216
+ position: [0, (-8 + 3 / 2) / 16, (8 - 3 / 2) / 16],
361
217
  inputs: {
362
- upTex: "@sideTextures",
363
- downTex: "@sideTextures",
218
+ upTex: "@upDownTextures",
219
+ downTex: "@upDownTextures",
364
220
  northTex: "@sideTextures",
365
221
  southTex: "@sideTextures",
366
- eastTex: "@upDownTextures",
367
- eastTexRotation: 180,
368
- westTex: "@upDownTextures",
369
- westTexRotation: 180,
222
+ eastTex: "@sideTextures",
223
+ westTex: "@sideTextures",
370
224
  },
371
225
  },
372
226
  ],
373
- "placement=west,direction=east": [
227
+ "placement=up": [
374
228
  {
375
- geometryId: "dve_thin_panel_west",
376
- inputs: {
377
- upTex: "@sideTextures",
378
- downTex: "@sideTextures",
379
- northTex: "@sideTextures",
380
- southTex: "@sideTextures",
381
- eastTex: "@upDownTextures",
382
- eastTexRotation: 90,
383
- westTex: "@upDownTextures",
384
- westTexRotation: 90,
229
+ geometryId: "dve_thin_panel",
230
+ cullingProcedure: {
231
+ type: "transparent",
385
232
  },
386
- },
387
- ],
388
- "placement=west,direction=west": [
389
- {
390
- geometryId: "dve_thin_panel_west",
233
+ rotation: [-90, 0, 0],
234
+ position: [0, (8 - 3 / 2) / 16, (8 - 3 / 2) / 16],
391
235
  inputs: {
392
- upTex: "@sideTextures",
393
- downTex: "@sideTextures",
236
+ upTex: "@upDownTextures",
237
+ downTex: "@upDownTextures",
394
238
  northTex: "@sideTextures",
395
239
  southTex: "@sideTextures",
396
- eastTex: "@upDownTextures",
397
- eastTexRotation: 270,
398
- westTex: "@upDownTextures",
399
- westTexRotation: 270,
240
+ eastTex: "@sideTextures",
241
+ westTex: "@sideTextures",
400
242
  },
401
243
  },
402
244
  ],
@@ -158,7 +158,7 @@ export const stair = {
158
158
  },
159
159
  },
160
160
  ],
161
- "placement=down,rotation=90,connected=false": [
161
+ "placement=down,rotation=180,connected=false": [
162
162
  {
163
163
  geometryId: "dve_half_cube_down_half",
164
164
  inputs: {
@@ -183,7 +183,7 @@ export const stair = {
183
183
  },
184
184
  },
185
185
  ],
186
- "placement=down,rotation=180,connected=false": [
186
+ "placement=down,rotation=90,connected=false": [
187
187
  {
188
188
  geometryId: "dve_half_cube_down_half",
189
189
  inputs: {
@@ -1,13 +1,16 @@
1
- import { VoxelGeometryData } from "../../VoxelModel.types";
1
+ import { VoxelGeometryData, VoxelModelConstructorData } from "../../VoxelModel.types";
2
2
  export declare class GeomtryInput {
3
3
  geomtry: VoxelGeometryData;
4
4
  inputObservers: Map<string, ((data: any) => void)[]>;
5
5
  orginalArgs: any[];
6
6
  args: any[];
7
+ get arguments(): Record<string, import("../../VoxelModel.types").VoxelGeometryTextureArgument | import("../../VoxelModel.types").VoxelGeometryArgumentAliasList | import("../../VoxelModel.types").VoxelGeometryBooleanArgument | import("../../VoxelModel.types").VoxelGeometryIntArgument | import("../../VoxelModel.types").VoxelGeometryFloatArgument | import("../../VoxelModel.types").VoxelGeometryBoxUVArgument | import("../../VoxelModel.types").VoxelGeometryUVArgument | import("../../VoxelModel.types").VoxelGeometryVector3Argument>;
7
8
  proxy: Record<string, any>;
8
9
  isArgString(data: any): boolean;
9
10
  cloneArgs(): any[];
10
11
  resetDefaults(): void;
12
+ currentModelState: string;
13
+ currentModel: VoxelModelConstructorData;
11
14
  constructor(geomtry: VoxelGeometryData);
12
15
  onInput(id: string, subscribe: (data: any) => any): number;
13
16
  }
@@ -4,6 +4,9 @@ export class GeomtryInput {
4
4
  inputObservers = new Map();
5
5
  orginalArgs = [];
6
6
  args = [];
7
+ get arguments() {
8
+ return this.geomtry.arguments;
9
+ }
7
10
  proxy = {};
8
11
  isArgString(data) {
9
12
  if (typeof data !== "string")
@@ -16,6 +19,8 @@ export class GeomtryInput {
16
19
  resetDefaults() {
17
20
  this.args = structuredClone(this.orginalArgs);
18
21
  }
22
+ currentModelState;
23
+ currentModel;
19
24
  constructor(geomtry) {
20
25
  this.geomtry = geomtry;
21
26
  for (const arg in geomtry.arguments) {
@@ -25,19 +30,35 @@ export class GeomtryInput {
25
30
  this.inputObservers.set(arg, obs);
26
31
  const data = geomtry.arguments[arg];
27
32
  Object.defineProperty(this.proxy, arg, {
28
- set(value) {
33
+ set: (value) => {
29
34
  if (data.type == "texture") {
30
35
  const textureId = value;
31
36
  if (!Array.isArray(textureId) && typeof textureId == "object") {
32
- const procedureData = {
37
+ const procedureData = structuredClone({
33
38
  ...textureId,
34
- };
39
+ });
35
40
  if (procedureData.texture) {
36
- procedureData.texture = TextureManager.getTexture("dve_voxel")?.getTextureIndex(procedureData.texture);
41
+ let texture = procedureData.texture;
42
+ if (typeof texture == "string" && texture[0] === "@") {
43
+ const input = texture.replace("@", "");
44
+ texture =
45
+ this.currentModel.inputs["*"]?.[input] ??
46
+ this.currentModel.inputs[this.currentModelState][input];
47
+ }
48
+ procedureData.texture =
49
+ TextureManager.getTexture("dve_voxel")?.getTextureIndex(texture);
37
50
  }
38
51
  if (procedureData.textureRecrod) {
39
52
  for (const key in procedureData.textureRecrod) {
40
- procedureData.textureRecrod[key] = TextureManager.getTexture("dve_voxel")?.getTextureIndex(procedureData.textureRecrod[key]);
53
+ let texture = procedureData.textureRecrod[key];
54
+ if (typeof texture == "string" && texture[0] === "@") {
55
+ const input = texture.replace("@", "");
56
+ texture =
57
+ this.currentModel.inputs["*"]?.[input] ??
58
+ this.currentModel.inputs[this.currentModelState][input];
59
+ }
60
+ procedureData.textureRecrod[key] =
61
+ TextureManager.getTexture("dve_voxel")?.getTextureIndex(texture);
41
62
  }
42
63
  }
43
64
  value = { ...procedureData };
@@ -1,6 +1,6 @@
1
1
  import { BuildStateData } from "../../../../Voxels/Functions/BuildStateData";
2
2
  import { CullingProcedureData, VoxelGeometryData, VoxelGeometryNodes } from "../../../../Voxels/Models/VoxelModel.types";
3
- import { CompiledGeomtryNodes } from "../../../../Mesher/Models/Nodes/Types/GeomtryNode.types";
3
+ import { CompiledGeomtryNodes } from "../../../../Mesher/Voxels/Models/Nodes/Types/GeomtryNode.types";
4
4
  import { GeomtryInput } from "./GeomtryInput";
5
5
  import { VoxelGeometryTransform } from "Mesher/Geomtry/Geometry.types";
6
6
  export interface VoxelRuleGeometryData {
@@ -4,6 +4,7 @@ export function BuildFinalInputs(model) {
4
4
  const conditionalShapeStateVoxelInputs = {};
5
5
  for (const [voxelId, voxel] of model.voxels) {
6
6
  const voxelModData = model.voxelModData.get(voxelId);
7
+ voxel.inputs;
7
8
  for (const modVoxelInputKey in voxel.inputs) {
8
9
  const modVoxelInput = voxel.inputs[modVoxelInputKey];
9
10
  const baseStates = [];
@@ -17,17 +18,31 @@ export function BuildFinalInputs(model) {
17
18
  throw new Error(`Geometry does not exist`);
18
19
  geo.input.resetDefaults();
19
20
  for (const geoArg in node.inputs) {
20
- const constructorArg = node.inputs[geoArg];
21
- if (geo.input.isArgString(constructorArg)) {
22
- const arg = constructorArg.replace("@", "");
23
- if (!Object.hasOwn(modVoxelInput, arg)) {
24
- console.warn(`Could not input for voxel ${voxelId} and geo ${geo.data.id}. ${geoArg} does not exist`);
21
+ const arg = geo.input.arguments[geoArg];
22
+ const keys = [];
23
+ let proxyValue = null;
24
+ if (arg.type === "arg-list") {
25
+ keys.push(...arg.arguments);
26
+ proxyValue = node.inputs[geoArg];
27
+ }
28
+ else {
29
+ keys.push(geoArg);
30
+ }
31
+ geo.input.currentModel = voxel;
32
+ geo.input.currentModelState = state;
33
+ for (const key of keys) {
34
+ const constructorArg = proxyValue ?? node.inputs[key];
35
+ if (geo.input.isArgString(constructorArg)) {
36
+ const arg = constructorArg.replace("@", "");
37
+ if (!Object.hasOwn(modVoxelInput, arg)) {
38
+ console.warn(`Could not input for voxel ${voxelId} and geo ${geo.data.id}. ${key} does not exist`);
39
+ continue;
40
+ }
41
+ geo.input.proxy[key] = modVoxelInput[arg];
25
42
  continue;
26
43
  }
27
- geo.input.proxy[geoArg] = modVoxelInput[arg];
28
- continue;
44
+ geo.input.proxy[key] = constructorArg;
29
45
  }
30
- geo.input.proxy[geoArg] = constructorArg;
31
46
  }
32
47
  geoNodes[model.stateData.geometryLinkStateMap[state][n]] =
33
48
  geo.input.cloneArgs();
@@ -1,4 +1,4 @@
1
- import { CompiledGeomtryNodes } from "../../../../../Mesher/Models/Nodes/Types/GeomtryNode.types";
1
+ import { CompiledGeomtryNodes } from "../../../../../Mesher/Voxels/Models/Nodes/Types/GeomtryNode.types";
2
2
  import { VoxelRuleGeometryData } from "../../Classes/VoxelRulesGeometry";
3
3
  import { GeomtryInput } from "../../Classes/GeomtryInput";
4
4
  export declare function CompileGeomtryNodes(buildRules: boolean, input: GeomtryInput, data: VoxelRuleGeometryData["nodes"]): CompiledGeomtryNodes[];
@@ -1,5 +1,5 @@
1
1
  import { VoxelGeometryTransform } from "../../../../../../Mesher/Geomtry/Geometry.types";
2
- import { CompiledQuadVoxelGeomtryNode } from "Mesher/Models/Nodes/Types/QuadVoxelGometryNodeTypes";
2
+ import { CompiledQuadVoxelGeomtryNode } from "Mesher/Voxels/Models/Nodes/Types/QuadVoxelGometryNodeTypes";
3
3
  import { GeomtryInput } from "../../../../../../Voxels/Models/Rules/Classes/GeomtryInput";
4
4
  import { VoxelBoxGeometryNode } from "Voxels/Models/VoxelModel.types";
5
5
  export declare function CompileBoxGeometryNode(buildRules: boolean, input: GeomtryInput, data: VoxelBoxGeometryNode, transform: VoxelGeometryTransform): CompiledQuadVoxelGeomtryNode[];
@@ -1,6 +1,6 @@
1
1
  import { Vec3Array } from "@amodx/math";
2
2
  import { VoxelGeometryTransform } from "../../../../../../Mesher/Geomtry/Geometry.types";
3
- import { CompiledQuadVoxelGeomtryNode } from "../../../../../../Mesher/Models/Nodes/Types/QuadVoxelGometryNodeTypes";
3
+ import { CompiledQuadVoxelGeomtryNode } from "../../../../../../Mesher/Voxels/Models/Nodes/Types/QuadVoxelGometryNodeTypes";
4
4
  import { GeomtryInput } from "Voxels/Models/Rules/Classes/GeomtryInput";
5
5
  import { BaseVoxelQuadData } from "Voxels/Models/VoxelModel.types";
6
6
  export declare function CompileQuadGeometryNode(buildRules: boolean, input: GeomtryInput, points: [Vec3Array, Vec3Array, Vec3Array, Vec3Array], node: BaseVoxelQuadData, transform?: VoxelGeometryTransform): CompiledQuadVoxelGeomtryNode;