@divinevoxel/vlox 0.0.75 → 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 (330) hide show
  1. package/Builder/RayProvider.d.ts +6 -0
  2. package/Builder/Tools/Brush/BrushTool.d.ts +55 -0
  3. package/Builder/Tools/Brush/BrushTool.js +352 -0
  4. package/Builder/Tools/BuilderToolBase.d.ts +39 -0
  5. package/Builder/Tools/BuilderToolBase.js +42 -0
  6. package/Builder/Tools/Hand/HandTool.d.ts +24 -0
  7. package/Builder/Tools/Hand/HandTool.js +73 -0
  8. package/Builder/Tools/Path/PahtTool.d.ts +34 -0
  9. package/Builder/Tools/Path/PahtTool.js +128 -0
  10. package/Builder/Tools/Sculpt/SculptTool.d.ts +34 -0
  11. package/Builder/Tools/Sculpt/SculptTool.js +102 -0
  12. package/Builder/Tools/Shape/ShapeTool.d.ts +32 -0
  13. package/Builder/Tools/Shape/ShapeTool.js +78 -0
  14. package/Builder/Tools/Template/TemplateTool.d.ts +35 -0
  15. package/Builder/Tools/Template/TemplateTool.js +73 -0
  16. package/Builder/Tools/Wand/WandTool.d.ts +30 -0
  17. package/Builder/Tools/Wand/WandTool.js +90 -0
  18. package/Builder/Tools/Wrench/WrenchTool.d.ts +47 -0
  19. package/Builder/Tools/Wrench/WrenchTool.js +184 -0
  20. package/Builder/Util/FreeBoxSelection.d.ts +12 -0
  21. package/Builder/Util/FreeBoxSelection.js +21 -0
  22. package/Builder/Util/FreePointSelection.d.ts +14 -0
  23. package/Builder/Util/FreePointSelection.js +39 -0
  24. package/Builder/Util/SurfaceBoxSelection.d.ts +12 -0
  25. package/Builder/Util/SurfaceBoxSelection.js +25 -0
  26. package/Builder/VoxelBuildSpace.d.ts +73 -0
  27. package/Builder/VoxelBuildSpace.js +224 -0
  28. package/Builder/World/InitTasks.d.ts +1 -0
  29. package/Builder/World/InitTasks.js +129 -0
  30. package/Builder/World/VoxelBuildSpaceWorld.d.ts +4 -0
  31. package/Builder/World/VoxelBuildSpaceWorld.js +10 -0
  32. package/Contexts/Render/DivineVoxelEngineRender.d.ts +5 -5
  33. package/Contexts/World/DivineVoxelEngineWorld.d.ts +5 -5
  34. package/Mesher/Geomtry/Proto/ProtoMesh.d.ts +18 -0
  35. package/Mesher/Geomtry/Proto/ProtoMesh.js +73 -0
  36. package/Mesher/Geomtry/{VoxelMeshBuffers.d.ts → Proto/ProtoMeshBuffer.d.ts} +2 -2
  37. package/Mesher/Geomtry/{VoxelMeshBuffers.js → Proto/ProtoMeshBuffer.js} +2 -2
  38. package/Mesher/Geomtry/Shapes/Box.d.ts +2 -9
  39. package/Mesher/Geomtry/Shapes/Box.js +7 -12
  40. package/Mesher/Geomtry/Transform/TransformBox.js +5 -2
  41. package/Mesher/InitMesher.js +4 -4
  42. package/Mesher/InitTask.js +2 -2
  43. package/Mesher/Items/Base/CompactItemMesh.d.ts +3 -0
  44. package/Mesher/Items/Base/CompactItemMesh.js +20 -0
  45. package/Mesher/Items/Geomtry/ItemGeometryBuilder.d.ts +5 -0
  46. package/Mesher/Items/Geomtry/ItemGeometryBuilder.js +131 -0
  47. package/Mesher/Items/Geomtry/ItemMeshVertexStructCursor.d.ts +48 -0
  48. package/Mesher/Items/Geomtry/ItemMeshVertexStructCursor.js +114 -0
  49. package/Mesher/Items/MeshTexture.d.ts +1 -0
  50. package/Mesher/Items/MeshTexture.js +214 -0
  51. package/Mesher/Items/MeshTextureO.js +277 -0
  52. package/Mesher/Items/Models/ItemModelBuilder.d.ts +27 -0
  53. package/Mesher/Items/Models/ItemModelBuilder.js +64 -0
  54. package/Mesher/Types/ItemMesh.types.d.ts +5 -0
  55. package/Mesher/Types/ItemMesh.types.js +12 -0
  56. package/Mesher/Types/Mesher.types.d.ts +15 -9
  57. package/Mesher/Types/Mesher.types.js +14 -0
  58. package/Mesher/Types/VoxelMesh.types.js +7 -6
  59. package/Mesher/Voxels/Base/CompactTemplateMesh.d.ts +3 -0
  60. package/Mesher/{Functions/CompactVoxelMesh.js → Voxels/Base/CompactTemplateMesh.js} +4 -40
  61. package/Mesher/{Functions → Voxels/Base}/CompactVoxelSectionMesh.d.ts +2 -2
  62. package/Mesher/{Functions → Voxels}/Base/MeshSectionBase.d.ts +1 -1
  63. package/Mesher/{Functions → Voxels}/Base/MeshSectionBase.js +11 -7
  64. package/Mesher/{Geomtry → Voxels/Geomtry}/CompactedSectionVoxelMesh.d.ts +1 -1
  65. package/Mesher/{Geomtry → Voxels/Geomtry}/CompactedSectionVoxelMesh.js +1 -1
  66. package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelGeometryBuilder.d.ts +2 -2
  67. package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelGeometryBuilder.js +1 -1
  68. package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelMeshBVHBuilder.d.ts +3 -3
  69. package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelMeshBVHBuilder.js +2 -2
  70. package/Mesher/Voxels/MeshTemplate.d.ts +3 -0
  71. package/Mesher/Voxels/MeshTemplate.js +81 -0
  72. package/Mesher/{Functions → Voxels}/MeshVoxel.d.ts +1 -1
  73. package/Mesher/{Functions → Voxels}/MeshVoxel.js +6 -4
  74. package/Mesher/{Models → Voxels/Models}/Common/Calc/CalcConstants.d.ts +3 -3
  75. package/Mesher/{Models → Voxels/Models}/Common/Calc/CalcConstants.js +4 -4
  76. package/Mesher/{Models → Voxels/Models}/Common/Calc/FaceDataCalc.d.ts +1 -1
  77. package/Mesher/{Models → Voxels/Models}/Common/Calc/FaceDataCalc.js +2 -2
  78. package/Mesher/{Models → Voxels/Models}/Common/Faces/CullRulledFace.js +1 -1
  79. package/Mesher/{Models → Voxels/Models}/Common/Faces/ShadeRulelessFace.d.ts +1 -1
  80. package/Mesher/{Models → Voxels/Models}/Common/Faces/ShadeRulledFace.d.ts +1 -1
  81. package/Mesher/{Models → Voxels/Models}/Common/Faces/ShadeRulledFace.js +1 -1
  82. package/Mesher/{Models → Voxels/Models}/Common/GetTexture.d.ts +3 -3
  83. package/Mesher/{Models → Voxels/Models}/Nodes/Custom/Liquid/FlowGradient.d.ts +1 -1
  84. package/Mesher/{Models → Voxels/Models}/Nodes/Custom/Liquid/FlowGradient.js +1 -1
  85. package/Mesher/{Models → Voxels/Models}/Nodes/Custom/Liquid/LiquidGeomtryNode.d.ts +3 -3
  86. package/Mesher/{Models → Voxels/Models}/Nodes/Custom/Liquid/LiquidGeomtryNode.js +14 -16
  87. package/Mesher/{Models → Voxels/Models}/Nodes/Default/QuadVoxelGeometryNode.d.ts +2 -2
  88. package/Mesher/{Models → Voxels/Models}/Nodes/Default/QuadVoxelGeometryNode.js +1 -1
  89. package/Mesher/{Models → Voxels/Models}/Nodes/Default/TriangleVoxelGeometryNode.d.ts +2 -2
  90. package/Mesher/{Models → Voxels/Models}/Nodes/Default/TriangleVoxelGeometryNode.js +1 -1
  91. package/Mesher/{Models → Voxels/Models}/Nodes/Types/QuadVoxelGometryNodeTypes.d.ts +2 -2
  92. package/Mesher/{Models → Voxels/Models}/Nodes/Types/TriangleVoxelGometryNodeTypes.d.ts +1 -1
  93. package/Mesher/{Models → Voxels/Models}/Nodes/VoxelGeometryConstructor.d.ts +2 -2
  94. package/Mesher/Voxels/Models/Procedures/Default/ConsistentRotationTextureProcedure.d.ts +24 -0
  95. package/Mesher/{Models → Voxels/Models}/Procedures/Default/ConsistentRotationTextureProcedure.js +2 -2
  96. package/Mesher/{Models → Voxels/Models}/Procedures/Default/OutlinedTextureProcedure.d.ts +4 -5
  97. package/Mesher/Voxels/Models/Procedures/Default/OutlinedTextureProcedure.js +205 -0
  98. package/Mesher/Voxels/Models/Procedures/Default/PillarTextureProcedure.d.ts +28 -0
  99. package/Mesher/Voxels/Models/Procedures/Default/PillarTextureProcedure.js +109 -0
  100. package/Mesher/{Models → Voxels/Models}/Procedures/TextureProcedure.d.ts +3 -3
  101. package/Mesher/{Models → Voxels/Models}/Procedures/TextureProcedureRegister.js +2 -0
  102. package/Mesher/{Models → Voxels/Models}/VoxelConstructor.d.ts +4 -4
  103. package/Mesher/{Models → Voxels/Models}/VoxelConstructor.js +3 -3
  104. package/Mesher/{Models → Voxels/Models}/VoxelGeometryBuilderCacheSpace.d.ts +2 -2
  105. package/Mesher/{Models → Voxels/Models}/VoxelGeometryBuilderCacheSpace.js +2 -2
  106. package/Mesher/{Models → Voxels/Models}/VoxelModelBuilder.d.ts +7 -7
  107. package/Mesher/{Models → Voxels/Models}/VoxelModelBuilder.js +6 -5
  108. package/Mesher/{Models → Voxels/Models}/VoxelModelConstructorRegister.d.ts +4 -4
  109. package/Mesher/{Models → Voxels/Models}/VoxelModelConstructorRegister.js +2 -2
  110. package/Mesher/{Models → Voxels/Models}/VoxelModelEffect.d.ts +1 -1
  111. package/Mesher/{Models → Voxels/Models}/VoxelModelEffect.js +1 -1
  112. package/Renderer/Classes/DVESectionMeshes.d.ts +1 -1
  113. package/Renderer/MeshManager.js +1 -1
  114. package/Settings/EngineSettings.types.d.ts +2 -1
  115. package/Settings/EngineSettings.types.js +3 -1
  116. package/Tasks/Paint/Common.js +14 -9
  117. package/Tasks/Paint/Erase/EraseVoxel.js +1 -1
  118. package/Tasks/Paint/Erase/EraseVoxelSelection.d.ts +4 -0
  119. package/Tasks/Paint/Erase/EraseVoxelSelection.js +33 -0
  120. package/Tasks/Paint/Erase/EraseVoxelTemplate.js +1 -2
  121. package/Tasks/Paint/Paint/PaintVoxelTemplate.js +1 -1
  122. package/Tasks/Propagation/Illumanation/RGBUpdate.js +1 -1
  123. package/Tasks/Tasks.types.d.ts +2 -0
  124. package/Tasks/TasksIds.d.ts +1 -0
  125. package/Tasks/TasksIds.js +1 -0
  126. package/Tasks/WorldGeneration/InitTasks.js +3 -1
  127. package/Templates/Archive/ArchivedVoxelTemplate.d.ts +6 -5
  128. package/Templates/Archive/ArchivedVoxelTemplate.js +56 -49
  129. package/Templates/Archive/Functions/CreateArchivedTemplate.js +4 -4
  130. package/Templates/Archive/Functions/ExportArchiedTemplateJSON.js +0 -1
  131. package/Templates/Archive/Functions/ImportArchivedTemplateJSON.js +0 -2
  132. package/Templates/Cursor/TemplateCursor.d.ts +6 -1
  133. package/Templates/Cursor/TemplateCursor.js +16 -3
  134. package/Templates/Cursor/TemplateProxy.d.ts +1 -0
  135. package/Templates/Cursor/TemplateProxy.js +9 -0
  136. package/Templates/Cursor/TemplateVoxelCursor.d.ts +1 -0
  137. package/Templates/Cursor/TemplateVoxelCursor.js +6 -0
  138. package/Templates/Full/FullVoxelTemplate.d.ts +5 -4
  139. package/Templates/Full/FullVoxelTemplate.js +32 -17
  140. package/Templates/Functions/ExtrudeSelection.d.ts +5 -0
  141. package/Templates/Functions/ExtrudeSelection.js +44 -0
  142. package/Templates/Functions/FillSelection.d.ts +4 -0
  143. package/Templates/Functions/FillSelection.js +20 -0
  144. package/Templates/Functions/FlipTemplate.d.ts +2 -2
  145. package/Templates/Functions/FlipTemplate.js +8 -8
  146. package/Templates/Functions/RotateTemplate.d.ts +2 -2
  147. package/Templates/Path/VoxelPath.d.ts +4 -0
  148. package/Templates/Path/VoxelPath.js +18 -0
  149. package/Templates/Path/VoxelPath.types.d.ts +1 -0
  150. package/Templates/Selection/VoxelBFSSelection.d.ts +6 -6
  151. package/Templates/Selection/VoxelBFSSelection.js +29 -22
  152. package/Templates/Selection/VoxelBoundsSelection.d.ts +20 -0
  153. package/Templates/Selection/{VoxelBoxSelection.js → VoxelBoundsSelection.js} +38 -20
  154. package/Templates/Selection/VoxelPointSelection.d.ts +19 -0
  155. package/Templates/Selection/VoxelPointSelection.js +49 -0
  156. package/Templates/Selection/VoxelSelection.d.ts +18 -0
  157. package/Templates/Selection/VoxelSelection.js +1 -0
  158. package/Templates/Selection/VoxelSurfaceSelection.d.ts +8 -12
  159. package/Templates/Selection/VoxelSurfaceSelection.js +88 -84
  160. package/Templates/Selection/VoxelTemplateSelection.d.ts +13 -4
  161. package/Templates/Selection/VoxelTemplateSelection.js +27 -9
  162. package/Templates/Shapes/Selections/BoxVoxelShapeSelection.d.ts +28 -0
  163. package/Templates/Shapes/Selections/BoxVoxelShapeSelection.js +77 -0
  164. package/Templates/Shapes/Selections/ConeVoxelShapeSelection.d.ts +28 -0
  165. package/Templates/Shapes/Selections/ConeVoxelShapeSelection.js +77 -0
  166. package/Templates/Shapes/Selections/CylinderVoxelShapeSelection.d.ts +28 -0
  167. package/Templates/Shapes/Selections/CylinderVoxelShapeSelection.js +77 -0
  168. package/Templates/Shapes/Selections/EllipsoidVoxelShapeSelection.d.ts +28 -0
  169. package/Templates/Shapes/Selections/EllipsoidVoxelShapeSelection.js +92 -0
  170. package/Templates/Shapes/Selections/OctahedronVoxelShapeSelection.d.ts +28 -0
  171. package/Templates/Shapes/Selections/OctahedronVoxelShapeSelection.js +76 -0
  172. package/Templates/Shapes/Selections/PyramidVoxelShapeSelection.d.ts +37 -0
  173. package/Templates/Shapes/Selections/PyramidVoxelShapeSelection.js +137 -0
  174. package/Templates/Shapes/Selections/SphereVoxelShapeSelection.d.ts +20 -0
  175. package/Templates/Shapes/Selections/SphereVoxelShapeSelection.js +61 -0
  176. package/Templates/Shapes/Selections/TorusVoxelShapeSelection.d.ts +28 -0
  177. package/Templates/Shapes/Selections/TorusVoxelShapeSelection.js +76 -0
  178. package/Templates/Shapes/Selections/VoxelShapeSelection.d.ts +5 -0
  179. package/Templates/Shapes/Selections/VoxelShapeSelection.js +1 -0
  180. package/Templates/Shapes/VoxelShape.types.d.ts +2 -0
  181. package/Templates/Shapes/VoxelShape.types.js +8 -0
  182. package/Templates/Shapes/VoxelShapeTemplate.d.ts +37 -0
  183. package/Templates/Shapes/{BasicVoxelShapeTemplate.js → VoxelShapeTemplate.js} +43 -37
  184. package/Templates/Shapes/VoxelShapeTemplate.types.d.ts +5 -12
  185. package/Templates/Shapes/VoxelShapeTemplate.types.js +5 -1
  186. package/Templates/{VoxelTempateRegister.d.ts → VoxelTemplateRegister.d.ts} +4 -0
  187. package/Templates/VoxelTemplateRegister.js +60 -0
  188. package/Templates/VoxelTemplates.types.d.ts +3 -3
  189. package/Textures/Classes/CompiledTexture.d.ts +2 -0
  190. package/Textures/Classes/CompiledTexture.js +19 -1
  191. package/Textures/Classes/TextureAnimationTexture.d.ts +1 -1
  192. package/Textures/Functions/BuildTextureData.js +13 -0
  193. package/Textures/TextureManager.d.ts +1 -0
  194. package/Textures/TextureManager.js +11 -5
  195. package/Tools/Brush/Brush.d.ts +2 -0
  196. package/Tools/Brush/Brush.js +19 -0
  197. package/Tools/Tasks/TasksTool.d.ts +2 -1
  198. package/Tools/Tasks/TasksTool.js +2 -0
  199. package/Util/BinaryBuffer/Functions/BinaryBufferConvert.d.ts +1 -1
  200. package/Util/BinaryBuffer/Functions/BinaryBufferToTypedArray.d.ts +1 -1
  201. package/Util/LocationData.d.ts +1 -1
  202. package/Voxels/Cursor/DataCursor.interface.d.ts +4 -0
  203. package/Voxels/Cursor/VoxelCursor.interface.d.ts +2 -0
  204. package/Voxels/Cursor/VoxelCursor.interface.js +2 -0
  205. package/Voxels/Cursor/VoxelLightData.js +2 -2
  206. package/Voxels/Functions/BuildTagData.js +1 -1
  207. package/Voxels/Indexes/VoxelIndex.d.ts +1 -0
  208. package/Voxels/Indexes/VoxelIndex.js +11 -13
  209. package/Voxels/InitVoxelData.js +5 -14
  210. package/Voxels/Interaction/Functions/PickVoxel.d.ts +0 -5
  211. package/Voxels/Interaction/Functions/PickVoxel.js +64 -85
  212. package/Voxels/Interaction/Functions/PickVoxelWorld.js +21 -46
  213. package/Voxels/Interaction/VoxelPickResult.d.ts +1 -0
  214. package/Voxels/Interaction/VoxelPickResult.js +3 -0
  215. package/Voxels/Models/CompiledVoxelModel.types.d.ts +1 -1
  216. package/Voxels/Models/Defaults/CubeVoxelGeometry.js +11 -0
  217. package/Voxels/Models/Defaults/CubeVoxelModels.js +44 -99
  218. package/Voxels/Models/Defaults/PanelVoxelGeometry.d.ts +1 -3
  219. package/Voxels/Models/Defaults/PanelVoxelGeometry.js +2 -226
  220. package/Voxels/Models/Defaults/PanelVoxelModels.d.ts +1 -0
  221. package/Voxels/Models/Defaults/PanelVoxelModels.js +100 -258
  222. package/Voxels/Models/Defaults/StairVoxelModel.js +2 -2
  223. package/Voxels/Models/Rules/Classes/GeomtryInput.d.ts +4 -1
  224. package/Voxels/Models/Rules/Classes/GeomtryInput.js +26 -5
  225. package/Voxels/Models/Rules/Classes/VoxelRulesGeometry.d.ts +1 -1
  226. package/Voxels/Models/Rules/Functions/BuildFinalInputs.js +23 -8
  227. package/Voxels/Models/Rules/Functions/Compile/CompileGeomtryNodes.d.ts +1 -1
  228. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileBoxGeometryNode.d.ts +1 -1
  229. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileQuadGeometryNode.d.ts +1 -1
  230. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileQuadGeometryNode.js +1 -1
  231. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileTriangleGeometryNode.d.ts +1 -1
  232. package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileTriangleGeometryNode.js +1 -1
  233. package/Voxels/Models/VoxelModel.types.d.ts +6 -1
  234. package/Voxels/State/Schema/BinarySchemaNode.d.ts +2 -1
  235. package/Voxels/State/Schema/BinarySchemaNode.js +5 -2
  236. package/Voxels/State/Schema/Conditions/SameVoxelConditions.js +2 -0
  237. package/Voxels/Types/PaintVoxelData.d.ts +13 -1
  238. package/Voxels/Types/PaintVoxelData.js +151 -14
  239. package/World/Archive/Functions/Shared/LightSegments.d.ts +1 -1
  240. package/World/Cursor/SectionCursor.d.ts +4 -0
  241. package/World/Cursor/SectionCursor.js +13 -16
  242. package/World/Cursor/SectorCursor.d.ts +4 -0
  243. package/World/Cursor/SectorCursor.js +13 -16
  244. package/World/Cursor/WorldCursor.d.ts +4 -0
  245. package/World/Cursor/WorldCursor.js +8 -0
  246. package/World/Sector/Sector.d.ts +1 -1
  247. package/World/Sector/SectorHeightMap.d.ts +6 -0
  248. package/World/Sector/SectorHeightMap.js +6 -0
  249. package/World/SnapShot/SectionSnapShotCursor.d.ts +3 -0
  250. package/World/SnapShot/SectionSnapShotCursor.js +6 -0
  251. package/World/WorldSpaces.js +3 -3
  252. package/WorldSimulation/Dimensions/DimensionSimulation.d.ts +5 -1
  253. package/WorldSimulation/Dimensions/DimensionSimulation.js +12 -0
  254. package/WorldSimulation/Dimensions/Generator.d.ts +1 -0
  255. package/WorldSimulation/Dimensions/Generator.js +1 -0
  256. package/WorldSimulation/Dimensions/SimulationSector.d.ts +4 -1
  257. package/WorldSimulation/Dimensions/SimulationSector.js +71 -41
  258. package/WorldSimulation/Internal/WorldSimulationTasks.js +5 -2
  259. package/WorldSimulation/Procedures/BuildOnly.d.ts +10 -0
  260. package/WorldSimulation/Procedures/BuildOnly.js +55 -0
  261. package/WorldSimulation/Procedures/InitalLoad.js +3 -0
  262. package/WorldSimulation/Tasks/SimulationTaskBase.d.ts +2 -0
  263. package/WorldSimulation/Tasks/SimulationTaskBase.js +11 -3
  264. package/WorldSimulation/Tasks/TaskSegment.d.ts +2 -1
  265. package/WorldSimulation/Tasks/TaskSegment.js +3 -1
  266. package/WorldSimulation/Tick/TickQueue.d.ts +2 -0
  267. package/WorldSimulation/Tick/TickQueue.js +26 -0
  268. package/WorldSimulation/Tools/SimulationBrush.d.ts +3 -0
  269. package/WorldSimulation/Tools/SimulationBrush.js +52 -0
  270. package/WorldSimulation/Voxels/Behaviors/Types/DefaultVoxelBehavior.js +3 -0
  271. package/WorldSimulation/Voxels/Behaviors/Types/LiquidVoxelBehavior.js +21 -1
  272. package/WorldSimulation/Voxels/Behaviors/VoxelBehaviors.d.ts +2 -0
  273. package/WorldSimulation/Voxels/Behaviors/VoxelBehaviors.js +6 -0
  274. package/WorldSimulation/Voxels/Ticks/Types/LiquidVoxelUpdate.js +39 -14
  275. package/WorldSimulation/WorldSimulation.d.ts +10 -0
  276. package/WorldSimulation/WorldSimulation.js +41 -1
  277. package/package.json +1 -30
  278. package/Mesher/Functions/CompactVoxelMesh.d.ts +0 -3
  279. package/Mesher/Functions/MeshTexture.js +0 -278
  280. package/Mesher/Geomtry/VoxelMesh.d.ts +0 -12
  281. package/Mesher/Geomtry/VoxelMesh.js +0 -25
  282. package/Mesher/Models/Procedures/Default/ConsistentRotationTextureProcedure.d.ts +0 -25
  283. package/Mesher/Models/Procedures/Default/OutlinedTextureProcedure.js +0 -162
  284. package/Templates/Selection/VoxelBoxSelection.d.ts +0 -14
  285. package/Templates/Selection/VoxelSelecton.d.ts +0 -6
  286. package/Templates/Shapes/BasicVoxelShapeTemplate.d.ts +0 -35
  287. package/Templates/Shapes/BoxVoxelTemplate.d.ts +0 -22
  288. package/Templates/Shapes/BoxVoxelTemplate.js +0 -75
  289. package/Templates/Shapes/ConeVoxelTemplate.d.ts +0 -22
  290. package/Templates/Shapes/ConeVoxelTemplate.js +0 -69
  291. package/Templates/Shapes/CylinderVoxelTemplate.d.ts +0 -22
  292. package/Templates/Shapes/CylinderVoxelTemplate.js +0 -69
  293. package/Templates/Shapes/OctahedronVoxelTemplate.d.ts +0 -22
  294. package/Templates/Shapes/OctahedronVoxelTemplate.js +0 -69
  295. package/Templates/Shapes/PyramidVoxelTemplate.d.ts +0 -30
  296. package/Templates/Shapes/PyramidVoxelTemplate.js +0 -140
  297. package/Templates/Shapes/SphereVoxelTemplate.d.ts +0 -24
  298. package/Templates/Shapes/SphereVoxelTemplate.js +0 -97
  299. package/Templates/Shapes/TorusVoxelTemplate.d.ts +0 -22
  300. package/Templates/Shapes/TorusVoxelTemplate.js +0 -69
  301. package/Templates/VoxelTempateRegister.js +0 -30
  302. /package/{Mesher/Models/Nodes/Types/GeomtryNode.types.js → Builder/RayProvider.js} +0 -0
  303. /package/Mesher/{Functions/MeshTexture.d.ts → Items/MeshTextureO.d.ts} +0 -0
  304. /package/Mesher/{Functions → Voxels/Base}/CompactVoxelSectionMesh.js +0 -0
  305. /package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelMeshBVHStructCursor.d.ts +0 -0
  306. /package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelMeshBVHStructCursor.js +0 -0
  307. /package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelMeshVertexStructCursor.d.ts +0 -0
  308. /package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelMeshVertexStructCursor.js +0 -0
  309. /package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelShaderData.d.ts +0 -0
  310. /package/Mesher/{Geomtry → Voxels/Geomtry}/VoxelShaderData.js +0 -0
  311. /package/Mesher/{Functions → Voxels}/MeshSection.d.ts +0 -0
  312. /package/Mesher/{Functions → Voxels}/MeshSection.js +0 -0
  313. /package/Mesher/{Functions → Voxels}/MeshSectionSnapShot.d.ts +0 -0
  314. /package/Mesher/{Functions → Voxels}/MeshSectionSnapShot.js +0 -0
  315. /package/Mesher/{Models → Voxels/Models}/Common/Faces/CullRulledFace.d.ts +0 -0
  316. /package/Mesher/{Models → Voxels/Models}/Common/Faces/ShadeRulelessFace.js +0 -0
  317. /package/Mesher/{Models → Voxels/Models}/Common/GetTexture.js +0 -0
  318. /package/Mesher/{Models → Voxels/Models}/Nodes/Custom/index.d.ts +0 -0
  319. /package/Mesher/{Models → Voxels/Models}/Nodes/Custom/index.js +0 -0
  320. /package/Mesher/{Models → Voxels/Models}/Nodes/GeometryNode.d.ts +0 -0
  321. /package/Mesher/{Models → Voxels/Models}/Nodes/GeometryNode.js +0 -0
  322. /package/Mesher/{Models → Voxels/Models}/Nodes/Types/GeomtryNode.types.d.ts +0 -0
  323. /package/{Templates/Selection/VoxelSelecton.js → Mesher/Voxels/Models/Nodes/Types/GeomtryNode.types.js} +0 -0
  324. /package/Mesher/{Models → Voxels/Models}/Nodes/Types/QuadVoxelGometryNodeTypes.js +0 -0
  325. /package/Mesher/{Models → Voxels/Models}/Nodes/Types/TriangleVoxelGometryNodeTypes.js +0 -0
  326. /package/Mesher/{Models → Voxels/Models}/Nodes/VoxelGeometryConstructor.js +0 -0
  327. /package/Mesher/{Models → Voxels/Models}/Procedures/TextureProcedure.js +0 -0
  328. /package/Mesher/{Models → Voxels/Models}/Procedures/TextureProcedureRegister.d.ts +0 -0
  329. /package/Mesher/{Models → Voxels/Models}/RenderedMaterials.d.ts +0 -0
  330. /package/Mesher/{Models → Voxels/Models}/RenderedMaterials.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;