@divinevoxel/vlox 0.0.78 → 0.0.79
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Builder/Tools/Wrench/WrenchTool.js +26 -21
- package/Builder/VoxelBuildSpace.d.ts +2 -2
- package/Builder/VoxelBuildSpace.js +4 -4
- package/Builder/World/InitTasks.js +1 -1
- package/Cache/Cache.types.d.ts +0 -4
- package/Cache/CacheManager.d.ts +1 -2
- package/Cache/CacheManager.js +0 -2
- package/Contexts/Base/Main/InitDataGenerator.js +10 -2
- package/Contexts/Base/Remote/DataSync.types.d.ts +10 -4
- package/Contexts/Base/Remote/InitDataSync.js +10 -20
- package/Init/StartMesher.js +2 -1
- package/Init/StartRenderer.js +2 -1
- package/Mesher/{Geomtry → Geometry}/Geometry.types.d.ts +1 -0
- package/Mesher/InitMesher.d.ts +1 -2
- package/Mesher/InitMesher.js +7 -14
- package/Mesher/Items/{Geomtry → Geometry}/ItemGeometryBuilder.d.ts +2 -2
- package/Mesher/Items/{Geomtry → Geometry}/ItemGeometryBuilder.js +1 -1
- package/Mesher/Items/MeshTexture.d.ts +2 -1
- package/Mesher/Items/MeshTexture.js +7 -6
- package/Mesher/Items/MeshTextureO.js +1 -1
- package/Mesher/Items/Models/ItemModelBuilder.d.ts +1 -1
- package/Mesher/Items/Models/ItemModelBuilder.js +2 -2
- package/Mesher/Voxels/Base/CompactTemplateMesh.js +1 -1
- package/Mesher/Voxels/Base/CompactVoxelSectionMesh.js +2 -2
- package/Mesher/Voxels/Base/MeshSectionBase.js +1 -3
- package/Mesher/Voxels/{Geomtry → Geometry}/CompactedSectionVoxelMesh.js +3 -3
- package/Mesher/Voxels/{Geomtry → Geometry}/VoxelGeometryBuilder.d.ts +2 -2
- package/Mesher/Voxels/{Geomtry → Geometry}/VoxelGeometryBuilder.js +1 -1
- package/Mesher/Voxels/{Geomtry → Geometry}/VoxelMeshBVHBuilder.js +1 -1
- package/Mesher/Voxels/{Geomtry → Geometry}/VoxelMeshBVHStructCursor.d.ts +1 -1
- package/Mesher/Voxels/{Geomtry → Geometry}/VoxelMeshBVHStructCursor.js +1 -1
- package/Mesher/Voxels/MeshTemplate.js +0 -3
- package/Mesher/Voxels/MeshVoxel.js +0 -2
- package/Mesher/Voxels/Models/Common/Calc/CalcConstants.d.ts +1 -1
- package/Mesher/Voxels/Models/Common/Calc/CalcConstants.js +2 -2
- package/Mesher/Voxels/Models/Common/Calc/FaceDataCalc.js +4 -1
- package/Mesher/Voxels/Models/Common/Faces/CullRulledFace.js +29 -18
- package/Mesher/Voxels/Models/Common/Faces/ShadeRulelessFace.d.ts +1 -1
- package/Mesher/Voxels/Models/Common/Faces/ShadeRulledFace.d.ts +1 -1
- package/Mesher/Voxels/Models/Common/Faces/ShadeRulledFace.js +31 -21
- package/Mesher/Voxels/Models/Common/GetTexture.d.ts +4 -4
- package/Mesher/Voxels/Models/Nodes/Custom/Liquid/FlowGradient.d.ts +1 -1
- package/Mesher/Voxels/Models/Nodes/Custom/Liquid/FlowGradient.js +1 -1
- package/Mesher/Voxels/Models/Nodes/Custom/Liquid/{LiquidGeomtryNode.d.ts → LiquidGeometryNode.d.ts} +2 -2
- package/Mesher/Voxels/Models/Nodes/Custom/Liquid/{LiquidGeomtryNode.js → LiquidGeometryNode.js} +5 -5
- package/Mesher/Voxels/Models/Nodes/Default/QuadVoxelGeometryNode.d.ts +3 -3
- package/Mesher/Voxels/Models/Nodes/Default/QuadVoxelGeometryNode.js +2 -2
- package/Mesher/Voxels/Models/Nodes/Default/TriangleVoxelGeometryNode.d.ts +3 -3
- package/Mesher/Voxels/Models/Nodes/Default/TriangleVoxelGeometryNode.js +2 -2
- package/Mesher/Voxels/Models/Nodes/GeometryNode.d.ts +3 -3
- package/Mesher/Voxels/Models/Nodes/GeometryNode.js +3 -3
- package/Mesher/Voxels/Models/Nodes/Types/GeometryNode.types.d.ts +7 -0
- package/Mesher/Voxels/Models/Nodes/Types/QuadVoxelGometryNodeTypes.d.ts +3 -3
- package/Mesher/Voxels/Models/Nodes/Types/TriangleVoxelGometryNodeTypes.d.ts +2 -2
- package/Mesher/Voxels/Models/Nodes/VoxelGeometryConstructor.d.ts +2 -3
- package/Mesher/Voxels/Models/Nodes/VoxelGeometryConstructor.js +6 -5
- package/Mesher/Voxels/Models/Procedures/Default/ConsistentRotationTextureProcedure.d.ts +4 -4
- package/Mesher/Voxels/Models/Procedures/Default/OutlinedTextureProcedure.d.ts +4 -4
- package/Mesher/Voxels/Models/Procedures/Default/PillarTextureProcedure.d.ts +4 -4
- package/Mesher/Voxels/Models/Procedures/Default/PillarTextureProcedure.js +20 -6
- package/Mesher/Voxels/Models/Procedures/TextureProcedure.d.ts +2 -2
- package/Mesher/Voxels/Models/VoxelConstructor.d.ts +1 -16
- package/Mesher/Voxels/Models/VoxelConstructor.js +50 -56
- package/Mesher/Voxels/Models/VoxelGeometryBuilderCacheSpace.d.ts +3 -6
- package/Mesher/Voxels/Models/VoxelGeometryBuilderCacheSpace.js +40 -44
- package/Mesher/Voxels/Models/VoxelModelBuilder.d.ts +4 -4
- package/Mesher/Voxels/Models/VoxelModelBuilder.js +4 -4
- package/Mesher/Voxels/Models/VoxelModelConstructorRegister.d.ts +1 -14
- package/Mesher/Voxels/Models/VoxelModelConstructorRegister.js +7 -21
- package/Mesher/Voxels/Models/VoxelModelEffect.d.ts +1 -7
- package/Mesher/Voxels/Models/VoxelModelEffect.js +23 -26
- package/Renderer/Classes/DVESectionMeshes.d.ts +1 -1
- package/Renderer/MeshManager.js +1 -1
- package/Settings/EngineSettings.types.d.ts +2 -1
- package/Settings/EngineSettings.types.js +1 -0
- package/Stats/EngineStats.d.ts +5 -3
- package/Stats/EngineStats.js +8 -6
- package/Templates/Archive/ArchivedVoxelTemplate.d.ts +1 -1
- package/Templates/Archive/ArchivedVoxelTemplate.js +5 -5
- package/Templates/Archive/Functions/CreateArchivedTemplate.d.ts +1 -1
- package/Templates/Archive/Functions/CreateArchivedTemplate.js +2 -2
- package/Templates/Cursor/TemplateCursor.d.ts +1 -1
- package/Templates/Cursor/TemplateCursor.js +1 -1
- package/Templates/Full/FullVoxelTemplate.d.ts +1 -1
- package/Templates/Full/FullVoxelTemplate.js +1 -1
- package/Templates/Full/Functions/CreateFullTemplate.d.ts +1 -1
- package/Templates/Selection/VoxelBFSSelection.d.ts +1 -1
- package/Templates/Selection/VoxelBFSSelection.js +1 -1
- package/Templates/Selection/VoxelBoundsSelection.d.ts +1 -1
- package/Templates/Selection/VoxelBoundsSelection.js +1 -1
- package/Templates/Selection/VoxelPointSelection.d.ts +1 -1
- package/Templates/Selection/VoxelPointSelection.js +1 -1
- package/Templates/Selection/VoxelSelection.d.ts +1 -1
- package/Templates/Selection/VoxelSurfaceSelection.d.ts +1 -1
- package/Templates/Selection/VoxelSurfaceSelection.js +1 -1
- package/Templates/Selection/VoxelTemplateSelection.d.ts +1 -1
- package/Templates/Selection/VoxelTemplateSelection.js +1 -1
- package/Templates/Shapes/Selections/BoxVoxelShapeSelection.d.ts +1 -1
- package/Templates/Shapes/Selections/BoxVoxelShapeSelection.js +1 -1
- package/Templates/Shapes/Selections/ConeVoxelShapeSelection.d.ts +1 -1
- package/Templates/Shapes/Selections/ConeVoxelShapeSelection.js +1 -1
- package/Templates/Shapes/Selections/CylinderVoxelShapeSelection.d.ts +1 -1
- package/Templates/Shapes/Selections/CylinderVoxelShapeSelection.js +1 -1
- package/Templates/Shapes/Selections/EllipsoidVoxelShapeSelection.d.ts +1 -1
- package/Templates/Shapes/Selections/EllipsoidVoxelShapeSelection.js +1 -1
- package/Templates/Shapes/Selections/OctahedronVoxelShapeSelection.d.ts +1 -1
- package/Templates/Shapes/Selections/OctahedronVoxelShapeSelection.js +1 -1
- package/Templates/Shapes/Selections/PyramidVoxelShapeSelection.d.ts +1 -1
- package/Templates/Shapes/Selections/PyramidVoxelShapeSelection.js +1 -1
- package/Templates/Shapes/Selections/SphereVoxelShapeSelection.d.ts +1 -1
- package/Templates/Shapes/Selections/SphereVoxelShapeSelection.js +1 -1
- package/Templates/Shapes/Selections/TorusVoxelShapeSelection.d.ts +1 -1
- package/Templates/Shapes/Selections/TorusVoxelShapeSelection.js +1 -1
- package/Templates/Shapes/VoxelShapeTemplate.d.ts +1 -1
- package/Templates/Shapes/VoxelShapeTemplate.js +1 -1
- package/Templates/VoxelTemplates.types.d.ts +1 -1
- package/Textures/Functions/BuildTextureData.js +4 -52
- package/Tools/Brush/Brush.js +5 -5
- package/Util/StringPalette.js +2 -0
- package/Voxels/Archive/VoxelPaletteArchiveReader.js +7 -6
- package/Voxels/Archive/VoxelPaletteArechive.js +8 -8
- package/Voxels/Cursor/DataCursor.interface.d.ts +1 -1
- package/Voxels/Cursor/VoxelCursor.interface.d.ts +0 -2
- package/Voxels/Cursor/VoxelCursor.interface.js +14 -16
- package/Voxels/Cursor/VoxelCursor.js +5 -5
- package/Voxels/Data/GeometryLUT.d.ts +32 -0
- package/Voxels/Data/GeometryLUT.js +50 -0
- package/Voxels/Data/VoxelLUT.d.ts +83 -0
- package/Voxels/Data/VoxelLUT.js +119 -0
- package/Voxels/Data/VoxelTagsRegister.d.ts +2 -2
- package/Voxels/Data/VoxelTagsRegister.js +2 -2
- package/Voxels/Functions/BuildLUTs.d.ts +6 -0
- package/Voxels/Functions/BuildLUTs.js +361 -0
- package/Voxels/Functions/BuildTagData.d.ts +4 -2
- package/Voxels/Functions/BuildTagData.js +15 -32
- package/Voxels/Functions/Geometry/BuildGeometryLUT.d.ts +11 -0
- package/Voxels/Functions/Geometry/BuildGeometryLUT.js +395 -0
- package/Voxels/{Models/Rules/Functions/Compile/Nodes → Functions/Geometry}/CalcFunctions.d.ts +3 -3
- package/Voxels/{Models/Rules/Functions/Compile/Nodes → Functions/Geometry}/CalcFunctions.js +2 -2
- package/Voxels/Functions/Geometry/Compile/BuildCompiled.d.ts +4 -0
- package/Voxels/Functions/Geometry/Compile/BuildCompiled.js +25 -0
- package/Voxels/Functions/Geometry/Compile/BuildCompiledBox.d.ts +4 -0
- package/Voxels/Functions/Geometry/Compile/BuildCompiledBox.js +13 -0
- package/Voxels/Functions/Geometry/Compile/BuildCompiledQuad.d.ts +4 -0
- package/Voxels/Functions/Geometry/Compile/BuildCompiledQuad.js +41 -0
- package/Voxels/Functions/Geometry/Compile/BuildCompiledTri.d.ts +4 -0
- package/Voxels/Functions/Geometry/Compile/BuildCompiledTri.js +44 -0
- package/Voxels/Functions/Geometry/GeometryLUT.types.d.ts +7 -0
- package/Voxels/Functions/Geometry/Inputs/BaseFunctions.d.ts +4 -0
- package/Voxels/Functions/Geometry/Inputs/BaseFunctions.js +28 -0
- package/Voxels/Functions/Geometry/Inputs/BuildBoxInputs.d.ts +5 -0
- package/Voxels/Functions/Geometry/Inputs/BuildBoxInputs.js +8 -0
- package/Voxels/Functions/Geometry/Inputs/BuildCustomInputs.d.ts +5 -0
- package/Voxels/Functions/Geometry/Inputs/BuildCustomInputs.js +41 -0
- package/Voxels/Functions/Geometry/Inputs/BuildQuadInputs.d.ts +5 -0
- package/Voxels/Functions/Geometry/Inputs/BuildQuadInputs.js +103 -0
- package/Voxels/Functions/Geometry/Inputs/BuildTriangleInputs.d.ts +5 -0
- package/Voxels/Functions/Geometry/Inputs/BuildTriangleInputs.js +101 -0
- package/Voxels/Functions/Geometry/Inputs/BuldInputs.d.ts +4 -0
- package/Voxels/Functions/Geometry/Inputs/BuldInputs.js +22 -0
- package/Voxels/Functions/Geometry/Rules/BuildRules.d.ts +1 -0
- package/Voxels/{Models/Rules/Functions → Functions/Geometry/Rules}/BuildRules.js +23 -23
- package/Voxels/{Models/Rules/Classes → Functions/Geometry/Rules}/OcclusionFaceRegister.d.ts +2 -2
- package/Voxels/{Models/Rules/Classes → Functions/Geometry/Rules}/OcclusionQuadFace.js +1 -1
- package/Voxels/{Models/Rules/Classes → Functions/Geometry/Rules}/OcclusionTriangleFace.js +1 -1
- package/Voxels/{Models/Indexing → Geometry}/AOOcclusionFaceIndex.d.ts +2 -2
- package/Voxels/Geometry/AOOcclusionFaceIndex.js +28 -0
- package/Voxels/{Models/Indexing → Geometry}/CulledOcclusionFaceIndex.d.ts +2 -2
- package/Voxels/Geometry/CulledOcclusionFaceIndex.js +27 -0
- package/Voxels/Geometry/VoxelGeometry.types.d.ts +105 -0
- package/Voxels/Geometry/VoxelGeometry.types.js +1 -0
- package/Voxels/Indexes/VoxelIndex.js +15 -21
- package/Voxels/InitVoxelData.d.ts +4 -3
- package/Voxels/InitVoxelData.js +53 -110
- package/Voxels/Interaction/Functions/PickVoxel.js +1 -1
- package/Voxels/Logic/Classes/Types/VoxelLogicStateType.js +2 -2
- package/Voxels/Logic/Classes/VoxelLogic.d.ts +2 -2
- package/Voxels/Logic/Classes/VoxelLogic.js +2 -2
- package/Voxels/Logic/VoxelLogicRegister.js +2 -2
- package/Voxels/Models/Defaults/CubeVoxelGeometry.d.ts +1 -1
- package/Voxels/Models/Defaults/CubeVoxelModels.d.ts +1 -0
- package/Voxels/Models/Defaults/CubeVoxelModels.js +45 -0
- package/Voxels/Models/Defaults/Examples.d.ts +2 -1
- package/Voxels/Models/Defaults/Examples.js +28 -28
- package/Voxels/Models/Defaults/FarmVoxelModels.d.ts +3 -2
- package/Voxels/Models/Defaults/FarmVoxelModels.js +3 -3
- package/Voxels/Models/Defaults/LiquidVoxelModel.d.ts +2 -1
- package/Voxels/Models/Defaults/PanelVoxelGeometry.d.ts +1 -1
- package/Voxels/Models/VoxelModel.types.d.ts +2 -109
- package/Voxels/State/{Schema → Reltional}/Conditions/SameVoxelConditions.d.ts +2 -2
- package/Voxels/State/Reltional/Conditions/SameVoxelConditions.js +19 -0
- package/Voxels/State/Reltional/Conditions/ShapeStateSchemaRelationsCondition.d.ts +6 -0
- package/Voxels/State/Reltional/Conditions/ShapeStateSchemaRelationsCondition.js +6 -0
- package/Voxels/State/Reltional/ReltionalStateBuilder.d.ts +18 -0
- package/Voxels/State/Reltional/ReltionalStateBuilder.js +42 -0
- package/Voxels/State/Schema/BinarySchema.d.ts +1 -0
- package/Voxels/State/Schema/BinarySchema.js +3 -0
- package/Voxels/State/State.types.d.ts +0 -25
- package/Voxels/State/State.types.js +1 -22
- package/Voxels/State/VoxelSchemas.d.ts +22 -0
- package/Voxels/State/VoxelSchemas.js +60 -0
- package/Voxels/Types/PaintVoxelData.js +55 -45
- package/Voxels/Types/VoxelModelCompiledData.types.d.ts +4 -22
- package/World/Archive/Classes/ImportedSection.js +8 -8
- package/World/Archive/Functions/Sector/ArchiveSector.js +3 -3
- package/World/Cursor/SectionCursor.d.ts +1 -1
- package/World/Cursor/SectionCursor.js +1 -1
- package/World/Cursor/SectorCursor.d.ts +1 -1
- package/World/Cursor/SectorCursor.js +1 -1
- package/World/Cursor/WorldCursor.d.ts +1 -1
- package/World/Cursor/WorldCursor.js +1 -1
- package/World/Lock/Function/LockSectors.d.ts +1 -1
- package/World/Lock/Function/UnLockSectors.d.ts +1 -1
- package/World/SnapShot/SectionSnapShotCursor.d.ts +1 -1
- package/World/SnapShot/SectionSnapShotCursor.js +1 -1
- package/World/SnapShot/SnapShots.d.ts +1 -1
- package/World/SnapShot/SnapShots.js +1 -1
- package/WorldSimulation/Dimensions/SimulationSector.d.ts +1 -1
- package/WorldSimulation/Dimensions/SimulationSector.js +2 -2
- package/WorldSimulation/Tools/SimulationBrush.js +9 -9
- package/WorldSimulation/Voxels/Behaviors/Types/CropVoxelBehavior.js +4 -2
- package/WorldSimulation/Voxels/Behaviors/Types/FarmlandVoxelBehavior.js +5 -2
- package/WorldSimulation/WorldSimulation.d.ts +1 -0
- package/WorldSimulation/WorldSimulation.js +2 -1
- package/package.json +1 -1
- package/Mesher/Voxels/Models/Nodes/Types/GeomtryNode.types.d.ts +0 -7
- package/Voxels/Data/VoxelPalettesRegister.d.ts +0 -18
- package/Voxels/Data/VoxelPalettesRegister.js +0 -24
- package/Voxels/Functions/BuildPaletteData.d.ts +0 -6
- package/Voxels/Functions/BuildPaletteData.js +0 -87
- package/Voxels/Functions/BuildStateData.d.ts +0 -23
- package/Voxels/Functions/BuildStateData.js +0 -327
- package/Voxels/Models/CompiledVoxelModel.types.d.ts +0 -46
- package/Voxels/Models/Indexing/AOOcclusionFaceIndex.js +0 -28
- package/Voxels/Models/Indexing/CulledOcclusionFaceIndex.js +0 -27
- package/Voxels/Models/Rules/Classes/GeomtryInput.d.ts +0 -16
- package/Voxels/Models/Rules/Classes/GeomtryInput.js +0 -85
- package/Voxels/Models/Rules/Classes/VoxelRulesGeometry.d.ts +0 -22
- package/Voxels/Models/Rules/Classes/VoxelRulesGeometry.js +0 -15
- package/Voxels/Models/Rules/Classes/VoxelRulesModel.d.ts +0 -19
- package/Voxels/Models/Rules/Classes/VoxelRulesModel.js +0 -29
- package/Voxels/Models/Rules/Functions/BuildFinalInputs.d.ts +0 -5
- package/Voxels/Models/Rules/Functions/BuildFinalInputs.js +0 -87
- package/Voxels/Models/Rules/Functions/BuildRules.d.ts +0 -7
- package/Voxels/Models/Rules/Functions/Compile/CompileGeomtryNodes.d.ts +0 -4
- package/Voxels/Models/Rules/Functions/Compile/CompileGeomtryNodes.js +0 -39
- package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileBoxGeometryNode.d.ts +0 -5
- package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileBoxGeometryNode.js +0 -14
- package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileQuadGeometryNode.d.ts +0 -6
- package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileQuadGeometryNode.js +0 -92
- package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileTriangleGeometryNode.d.ts +0 -6
- package/Voxels/Models/Rules/Functions/Compile/Nodes/CompileTriangleGeometryNode.js +0 -115
- package/Voxels/Models/Rules/VoxelModelRuleBuilderRegister.d.ts +0 -18
- package/Voxels/Models/Rules/VoxelModelRuleBuilderRegister.js +0 -202
- package/Voxels/State/CondiotnalTreeReader.d.ts +0 -10
- package/Voxels/State/CondiotnalTreeReader.js +0 -23
- package/Voxels/State/LogicStatementReader.d.ts +0 -9
- package/Voxels/State/LogicStatementReader.js +0 -50
- package/Voxels/State/Schema/Conditions/SameVoxelConditions.js +0 -19
- package/Voxels/State/Schema/Conditions/ShapeStateSchemaRelationsCondition.d.ts +0 -6
- package/Voxels/State/Schema/Conditions/ShapeStateSchemaRelationsCondition.js +0 -6
- package/Voxels/State/Schema/ShapeStateRelationsNode.d.ts +0 -10
- package/Voxels/State/Schema/ShapeStateRelationsNode.js +0 -26
- package/Voxels/State/Schema/StateSchema.d.ts +0 -13
- package/Voxels/State/Schema/StateSchema.js +0 -17
- package/Voxels/State/Schema/VoxelSchema.d.ts +0 -7
- package/Voxels/State/Schema/VoxelSchema.js +0 -10
- package/Voxels/State/SchemaRegister.d.ts +0 -18
- package/Voxels/State/SchemaRegister.js +0 -76
- package/Voxels/State/StateTreeReader.d.ts +0 -9
- package/Voxels/State/StateTreeReader.js +0 -37
- /package/Mesher/{Geomtry → Geometry}/Functions/GetBounds.d.ts +0 -0
- /package/Mesher/{Geomtry → Geometry}/Functions/GetBounds.js +0 -0
- /package/Mesher/{Geomtry → Geometry}/Geometry.types.js +0 -0
- /package/Mesher/{Geomtry → Geometry}/Primitives/Quad.d.ts +0 -0
- /package/Mesher/{Geomtry → Geometry}/Primitives/Quad.js +0 -0
- /package/Mesher/{Geomtry → Geometry}/Primitives/QuadVertexData.d.ts +0 -0
- /package/Mesher/{Geomtry → Geometry}/Primitives/QuadVertexData.js +0 -0
- /package/Mesher/{Geomtry → Geometry}/Primitives/Triangle.d.ts +0 -0
- /package/Mesher/{Geomtry → Geometry}/Primitives/Triangle.js +0 -0
- /package/Mesher/{Geomtry → Geometry}/Primitives/TriangleVertexData.d.ts +0 -0
- /package/Mesher/{Geomtry → Geometry}/Primitives/TriangleVertexData.js +0 -0
- /package/Mesher/{Geomtry → Geometry}/Primitives/index.d.ts +0 -0
- /package/Mesher/{Geomtry → Geometry}/Primitives/index.js +0 -0
- /package/Mesher/{Geomtry → Geometry}/Proto/ProtoMesh.d.ts +0 -0
- /package/Mesher/{Geomtry → Geometry}/Proto/ProtoMesh.js +0 -0
- /package/Mesher/{Geomtry → Geometry}/Proto/ProtoMeshBuffer.d.ts +0 -0
- /package/Mesher/{Geomtry → Geometry}/Proto/ProtoMeshBuffer.js +0 -0
- /package/Mesher/{Geomtry → Geometry}/Shapes/Box.d.ts +0 -0
- /package/Mesher/{Geomtry → Geometry}/Shapes/Box.js +0 -0
- /package/Mesher/{Geomtry → Geometry}/Transform/TransformBox.d.ts +0 -0
- /package/Mesher/{Geomtry → Geometry}/Transform/TransformBox.js +0 -0
- /package/Mesher/{Geomtry → Geometry}/Transform/TransformQuad.d.ts +0 -0
- /package/Mesher/{Geomtry → Geometry}/Transform/TransformQuad.js +0 -0
- /package/Mesher/{Geomtry → Geometry}/Transform/TransformTriangle.d.ts +0 -0
- /package/Mesher/{Geomtry → Geometry}/Transform/TransformTriangle.js +0 -0
- /package/Mesher/{Geomtry → Geometry}/index.d.ts +0 -0
- /package/Mesher/{Geomtry → Geometry}/index.js +0 -0
- /package/Mesher/Items/{Geomtry → Geometry}/ItemMeshVertexStructCursor.d.ts +0 -0
- /package/Mesher/Items/{Geomtry → Geometry}/ItemMeshVertexStructCursor.js +0 -0
- /package/Mesher/Voxels/{Geomtry → Geometry}/CompactedSectionVoxelMesh.d.ts +0 -0
- /package/Mesher/Voxels/{Geomtry → Geometry}/VoxelMeshBVHBuilder.d.ts +0 -0
- /package/Mesher/Voxels/{Geomtry → Geometry}/VoxelMeshVertexStructCursor.d.ts +0 -0
- /package/Mesher/Voxels/{Geomtry → Geometry}/VoxelMeshVertexStructCursor.js +0 -0
- /package/Mesher/Voxels/{Geomtry → Geometry}/VoxelShaderData.d.ts +0 -0
- /package/Mesher/Voxels/{Geomtry → Geometry}/VoxelShaderData.js +0 -0
- /package/Mesher/Voxels/Models/Nodes/Types/{GeomtryNode.types.js → GeometryNode.types.js} +0 -0
- /package/Voxels/{Models/CompiledVoxelModel.types.js → Functions/Geometry/GeometryLUT.types.js} +0 -0
- /package/Voxels/{Models/Rules/Classes → Functions/Geometry/Rules}/OcclusionFace.d.ts +0 -0
- /package/Voxels/{Models/Rules/Classes → Functions/Geometry/Rules}/OcclusionFace.js +0 -0
- /package/Voxels/{Models/Rules/Classes → Functions/Geometry/Rules}/OcclusionFaceRegister.js +0 -0
- /package/Voxels/{Models/Rules/Classes → Functions/Geometry/Rules}/OcclusionQuadFace.d.ts +0 -0
- /package/Voxels/{Models/Rules/Classes → Functions/Geometry/Rules}/OcclusionTriangleFace.d.ts +0 -0
- /package/Voxels/{Models/Indexing → Geometry}/VoxelRelativeCubeIndex.d.ts +0 -0
- /package/Voxels/{Models/Indexing → Geometry}/VoxelRelativeCubeIndex.js +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { PaintVoxelData } from "../../../Voxels";
|
|
2
2
|
import { VoxelPointSelection } from "../../../Templates/Selection/VoxelPointSelection";
|
|
3
3
|
import { BuilderToolBase } from "../BuilderToolBase";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { VoxelSchemas } from "../../../Voxels/State/VoxelSchemas";
|
|
5
|
+
import { VoxelLUT } from "../../../Voxels/Data/VoxelLUT";
|
|
6
6
|
var WrenchToolModes;
|
|
7
7
|
(function (WrenchToolModes) {
|
|
8
8
|
WrenchToolModes["Pick"] = "Pick";
|
|
@@ -64,28 +64,30 @@ export class WrenchTool extends BuilderToolBase {
|
|
|
64
64
|
if (!this._pickedResult)
|
|
65
65
|
return;
|
|
66
66
|
const trueVoxelId = this._pickedResult.voxel.getVoxelId();
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
const stringId = this._pickedResult.voxel.getStringId();
|
|
68
|
+
const stateSchema = VoxelSchemas.getStateSchema(stringId);
|
|
69
|
+
const modSchema = VoxelSchemas.mod.get(stringId);
|
|
70
|
+
stateSchema.startEncoding(this._pickedResult.voxel.getState());
|
|
71
|
+
modSchema.startEncoding(this._pickedResult.voxel.getMod());
|
|
70
72
|
for (const node of schema.stateSchema) {
|
|
71
73
|
if (node.type == "string") {
|
|
72
|
-
|
|
74
|
+
stateSchema.setValue(node.id, node.value);
|
|
73
75
|
}
|
|
74
76
|
else {
|
|
75
|
-
|
|
77
|
+
stateSchema.setNumber(node.id, node.value);
|
|
76
78
|
}
|
|
77
79
|
}
|
|
78
80
|
for (const node of schema.modSchema) {
|
|
79
81
|
if (node.type == "string") {
|
|
80
|
-
|
|
82
|
+
modSchema.setValue(node.id, node.value);
|
|
81
83
|
}
|
|
82
84
|
else {
|
|
83
|
-
|
|
85
|
+
modSchema.setNumber(node.id, node.value);
|
|
84
86
|
}
|
|
85
87
|
}
|
|
86
88
|
const currentRaw = this._pickedResult.voxel.getRaw();
|
|
87
89
|
const rawVoxelData = [
|
|
88
|
-
|
|
90
|
+
VoxelLUT.getVoxelId(trueVoxelId, stateSchema.getEncoded(), modSchema.getEncoded()),
|
|
89
91
|
currentRaw[1],
|
|
90
92
|
currentRaw[2],
|
|
91
93
|
currentRaw[3],
|
|
@@ -96,13 +98,16 @@ export class WrenchTool extends BuilderToolBase {
|
|
|
96
98
|
getPickedSchema() {
|
|
97
99
|
if (!this._pickedResult)
|
|
98
100
|
return null;
|
|
99
|
-
const
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
const stringId = this._pickedResult.voxel.getStringId();
|
|
102
|
+
const stateSchema = VoxelSchemas.getStateSchema(stringId);
|
|
103
|
+
const modSchema = VoxelSchemas.mod.get(stringId);
|
|
104
|
+
stateSchema.startEncoding(this._pickedResult.voxel.getState());
|
|
105
|
+
modSchema.startEncoding(this._pickedResult.voxel.getMod());
|
|
106
|
+
stateSchema.startEncoding(this._pickedResult.voxel.getState());
|
|
107
|
+
modSchema.startEncoding(this._pickedResult.voxel.getMod());
|
|
103
108
|
return {
|
|
104
|
-
stateSchema: this.processSchema(
|
|
105
|
-
modSchema: this.processSchema(
|
|
109
|
+
stateSchema: this.processSchema(stateSchema),
|
|
110
|
+
modSchema: this.processSchema(modSchema),
|
|
106
111
|
};
|
|
107
112
|
}
|
|
108
113
|
/**Get an array of all possible state varations for the current mod of the selected voxel. */
|
|
@@ -111,8 +116,8 @@ export class WrenchTool extends BuilderToolBase {
|
|
|
111
116
|
return null;
|
|
112
117
|
const voxelStates = [];
|
|
113
118
|
const voxelId = this._pickedResult.voxel.id;
|
|
114
|
-
const [trueId, , mod] =
|
|
115
|
-
const stateArray =
|
|
119
|
+
const [trueId, , mod] = VoxelLUT.voxels[voxelId];
|
|
120
|
+
const stateArray = VoxelLUT.voxelRecord[trueId][mod];
|
|
116
121
|
const rawVoxelData = [0, 0, 0, 0];
|
|
117
122
|
for (let i = 0; i < stateArray.length; i++) {
|
|
118
123
|
const value = stateArray[i];
|
|
@@ -129,8 +134,8 @@ export class WrenchTool extends BuilderToolBase {
|
|
|
129
134
|
return null;
|
|
130
135
|
const voxelStates = [];
|
|
131
136
|
const voxelId = this._pickedResult.voxel.id;
|
|
132
|
-
const [trueId, state] =
|
|
133
|
-
const modArray =
|
|
137
|
+
const [trueId, state] = VoxelLUT.voxels[voxelId];
|
|
138
|
+
const modArray = VoxelLUT.voxelRecord[trueId];
|
|
134
139
|
const rawVoxelData = [0, 0, 0, 0];
|
|
135
140
|
for (let i = 0; i < modArray.length; i++) {
|
|
136
141
|
const stateArray = modArray[i];
|
|
@@ -138,7 +143,7 @@ export class WrenchTool extends BuilderToolBase {
|
|
|
138
143
|
continue;
|
|
139
144
|
let id = -1;
|
|
140
145
|
for (let j = 0; j < stateArray.length; j++) {
|
|
141
|
-
id =
|
|
146
|
+
id = VoxelLUT.voxelRecord[trueId][i][state];
|
|
142
147
|
if (id === undefined || id < 0)
|
|
143
148
|
continue;
|
|
144
149
|
rawVoxelData[0] = id;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Vec3Array, Vector3Like } from "@amodx/math";
|
|
2
|
-
import { BoundingBox } from "@amodx/math/
|
|
2
|
+
import { BoundingBox } from "@amodx/math/Geometry/Bounds/BoundingBox";
|
|
3
3
|
import { DivineVoxelEngineRender } from "../Contexts/Render";
|
|
4
4
|
import { VoxelPathData } from "../Templates/Path/VoxelPath.types";
|
|
5
5
|
import { IVoxelTemplateData } from "../Templates/VoxelTemplates.types";
|
|
@@ -7,7 +7,7 @@ import { PaintVoxelData } from "../Voxels";
|
|
|
7
7
|
import { VoxelPickResult } from "../Voxels/Interaction/VoxelPickResult";
|
|
8
8
|
import { RayProvider } from "./RayProvider";
|
|
9
9
|
import { FullVoxelTemplate } from "../Templates/Full/FullVoxelTemplate";
|
|
10
|
-
import { BoundsMinMaxData } from "@amodx/math/
|
|
10
|
+
import { BoundsMinMaxData } from "@amodx/math/Geometry/Bounds/BoundsInterface";
|
|
11
11
|
import type { VoxelSurfaceSelectionData } from "../Templates/Selection/VoxelSurfaceSelection";
|
|
12
12
|
import type { VoxelBFSSelectionData } from "../Templates/Selection/VoxelBFSSelection";
|
|
13
13
|
import { IVoxelSelectionData } from "../Templates/Selection/VoxelSelection";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Vector3Like } from "@amodx/math";
|
|
2
|
-
import { BoundingBox } from "@amodx/math/
|
|
2
|
+
import { BoundingBox } from "@amodx/math/Geometry/Bounds/BoundingBox";
|
|
3
3
|
import { PaintVoxelData } from "../Voxels";
|
|
4
4
|
import { VoxelPlacingStrategyRegister } from "../Voxels/Interaction/Placing/VoxelPlacingStrategyRegister";
|
|
5
5
|
import { VoxelPickResult } from "../Voxels/Interaction/VoxelPickResult";
|
|
6
|
-
import {
|
|
6
|
+
import { VoxelSchemas } from "../Voxels/State/VoxelSchemas";
|
|
7
7
|
import { FullVoxelTemplate } from "../Templates/Full/FullVoxelTemplate";
|
|
8
8
|
import { VoxelShapeTemplate } from "../Templates/Shapes/VoxelShapeTemplate";
|
|
9
9
|
import { BoxVoxelShapeSelection } from "../Templates/Shapes/Selections/BoxVoxelShapeSelection";
|
|
@@ -80,8 +80,8 @@ export class VoxelBuildSpace {
|
|
|
80
80
|
data.state = 0;
|
|
81
81
|
return data;
|
|
82
82
|
}
|
|
83
|
-
const schema =
|
|
84
|
-
data.state = schema.
|
|
83
|
+
const schema = VoxelSchemas.getStateSchema(data.id);
|
|
84
|
+
data.state = schema.readString(state);
|
|
85
85
|
}
|
|
86
86
|
async clear() {
|
|
87
87
|
const size = this.bounds.size;
|
|
@@ -7,7 +7,7 @@ import PickVoxelWorld from "../../Voxels/Interaction/Functions/PickVoxelWorld";
|
|
|
7
7
|
import { WorldCursor } from "../../World";
|
|
8
8
|
import LockSectors from "../../World/Lock/Function/LockSectors";
|
|
9
9
|
import UnLockSectors from "../../World/Lock/Function/UnLockSectors";
|
|
10
|
-
import { BoundingBox } from "@amodx/math/
|
|
10
|
+
import { BoundingBox } from "@amodx/math/Geometry/Bounds/BoundingBox";
|
|
11
11
|
import { VoxelSurfaceSelection } from "../../Templates/Selection/VoxelSurfaceSelection";
|
|
12
12
|
import { VoxelBFSSelection } from "../../Templates/Selection/VoxelBFSSelection";
|
|
13
13
|
import CreateFullTemplate from "../../Templates/Full/Functions/CreateFullTemplate";
|
package/Cache/Cache.types.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { CompactMeshData } from "../Mesher/Types/Mesher.types";
|
|
2
2
|
import { TextureData } from "../Textures/Texture.types";
|
|
3
|
-
import { FinalCompiledVoxelModelData } from "../Voxels/Models/CompiledVoxelModel.types";
|
|
4
|
-
export interface CachedVoxelModelData extends FinalCompiledVoxelModelData {
|
|
5
|
-
}
|
|
6
3
|
export interface CachedDisplayIndex {
|
|
7
4
|
textures: Record<string, Record<string, string>>;
|
|
8
5
|
meshes: Record<string, Record<string, {
|
|
@@ -11,7 +8,6 @@ export interface CachedDisplayIndex {
|
|
|
11
8
|
}>>;
|
|
12
9
|
}
|
|
13
10
|
export interface CacheData {
|
|
14
|
-
models: FinalCompiledVoxelModelData;
|
|
15
11
|
textures: TextureData[];
|
|
16
12
|
displayIndex: CachedDisplayIndex;
|
|
17
13
|
}
|
package/Cache/CacheManager.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { TextureData } from "Textures/Texture.types";
|
|
2
|
-
import { CacheData, CachedDisplayIndex
|
|
2
|
+
import { CacheData, CachedDisplayIndex } from "./Cache.types";
|
|
3
3
|
export declare class CacheManager {
|
|
4
4
|
static cacheStoreEnabled: boolean;
|
|
5
5
|
static cacheLoadEnabled: boolean;
|
|
6
6
|
static cachedData: CacheData | null;
|
|
7
|
-
static cachedModelData: CachedVoxelModelData | null;
|
|
8
7
|
static cachedTextureData: TextureData[] | null;
|
|
9
8
|
static cachedDisplayData: CachedDisplayIndex | null;
|
|
10
9
|
static getCachedData(): CacheData;
|
package/Cache/CacheManager.js
CHANGED
|
@@ -2,14 +2,12 @@ export class CacheManager {
|
|
|
2
2
|
static cacheStoreEnabled = false;
|
|
3
3
|
static cacheLoadEnabled = false;
|
|
4
4
|
static cachedData = null;
|
|
5
|
-
static cachedModelData = null;
|
|
6
5
|
static cachedTextureData = null;
|
|
7
6
|
static cachedDisplayData = null;
|
|
8
7
|
static getCachedData() {
|
|
9
8
|
if (!this.cacheStoreEnabled)
|
|
10
9
|
throw new Error(`cacheStoreEnabled must be set to true`);
|
|
11
10
|
return {
|
|
12
|
-
models: this.cachedModelData,
|
|
13
11
|
textures: this.cachedTextureData,
|
|
14
12
|
displayIndex: this.cachedDisplayData,
|
|
15
13
|
};
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
import { EngineSettings } from "../../../Settings/EngineSettings";
|
|
2
2
|
import { InitVoxelData } from "../../../Voxels/InitVoxelData";
|
|
3
|
+
import { VoxelLUT } from "../../../Voxels/Data/VoxelLUT";
|
|
4
|
+
import { GeometryLUT } from "../../../Voxels/Data/GeometryLUT";
|
|
5
|
+
import { VoxelSchemas } from "../../../Voxels/State/VoxelSchemas";
|
|
3
6
|
export default function InitDataGenerator(data) {
|
|
4
|
-
const
|
|
7
|
+
const tags = InitVoxelData(data);
|
|
5
8
|
return {
|
|
6
9
|
settings: EngineSettings.settings,
|
|
7
10
|
threads: data.threads,
|
|
8
|
-
|
|
11
|
+
tags,
|
|
12
|
+
luts: {
|
|
13
|
+
voxel: VoxelLUT.export(),
|
|
14
|
+
geometry: GeometryLUT.export(),
|
|
15
|
+
},
|
|
16
|
+
schemas: VoxelSchemas.export(),
|
|
9
17
|
};
|
|
10
18
|
}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { LocationData } from "Math/index.js";
|
|
2
2
|
import { EngineSettingsData } from "../../../Settings/EngineSettings.types";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { VoxelLUTExport } from "../../../Voxels/Data/VoxelLUT";
|
|
4
|
+
import { GeometryLUTExport } from "../../../Voxels/Data/GeometryLUT";
|
|
5
|
+
import { VoxelSchemasExport } from "../../../Voxels/State/VoxelSchemas";
|
|
6
|
+
import { CompiledvVxelTags } from "Voxels/Types/VoxelModelCompiledData.types";
|
|
5
7
|
export type DataSyncData = {
|
|
6
8
|
settings: EngineSettingsData;
|
|
7
|
-
voxels: CompiledVoxelData;
|
|
8
|
-
modelData?: CachedVoxelModelData;
|
|
9
9
|
threads: {
|
|
10
10
|
nexus: boolean;
|
|
11
11
|
};
|
|
12
|
+
tags: CompiledvVxelTags;
|
|
13
|
+
luts: {
|
|
14
|
+
voxel: VoxelLUTExport;
|
|
15
|
+
geometry: GeometryLUTExport;
|
|
16
|
+
};
|
|
17
|
+
schemas: VoxelSchemasExport;
|
|
12
18
|
};
|
|
13
19
|
export type WorldDataSync = [location: LocationData, buffer: SharedArrayBuffer];
|
|
@@ -1,31 +1,21 @@
|
|
|
1
1
|
import { Threads } from "@amodx/threads/";
|
|
2
2
|
import { EngineSettings } from "../../../Settings/EngineSettings";
|
|
3
3
|
//objects
|
|
4
|
-
import {
|
|
5
|
-
import { VoxelPalettesRegister } from "../../../Voxels/Data/VoxelPalettesRegister";
|
|
4
|
+
import { VoxelLUT } from "../../../Voxels/Data/VoxelLUT";
|
|
6
5
|
import { VoxelTagsRegister } from "../../../Voxels/Data/VoxelTagsRegister";
|
|
7
6
|
import { VoxelLogicRegister } from "../../../Voxels/Logic/VoxelLogicRegister";
|
|
7
|
+
import { GeometryLUT } from "../../../Voxels/Data/GeometryLUT";
|
|
8
|
+
import { VoxelSchemas } from "../../../Voxels/State/VoxelSchemas";
|
|
8
9
|
export default function InitDataSync(props) {
|
|
9
10
|
Threads.registerTask("sync-data", (data) => {
|
|
10
11
|
EngineSettings.syncSettings(data.settings);
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
VoxelPalettesRegister.voxelRecord = data.voxels.data.record;
|
|
19
|
-
VoxelPalettesRegister.material.load(data.voxels.materials.palette);
|
|
20
|
-
const modelData = data.voxels.models;
|
|
21
|
-
for (const model of modelData.models) {
|
|
22
|
-
SchemaRegister.registerModel(model.id, model.schema);
|
|
23
|
-
}
|
|
24
|
-
for (const voxel of modelData.voxels) {
|
|
25
|
-
SchemaRegister.registerVoxel(voxel.id, voxel.modelId, voxel.modSchema);
|
|
26
|
-
}
|
|
27
|
-
for (const id in data.voxels.data.logic) {
|
|
28
|
-
VoxelLogicRegister.register(id, data.voxels.data.logic[id]);
|
|
12
|
+
VoxelSchemas.import(data.schemas);
|
|
13
|
+
VoxelLUT.import(data.luts.voxel);
|
|
14
|
+
GeometryLUT.import(data.luts.geometry);
|
|
15
|
+
VoxelTagsRegister.VoxelTags = data.tags.tags;
|
|
16
|
+
VoxelTagsRegister.SubstanceTags = data.tags.substanceTags;
|
|
17
|
+
for (const id in data.tags.logic) {
|
|
18
|
+
VoxelLogicRegister.register(id, data.tags.logic[id]);
|
|
29
19
|
}
|
|
30
20
|
props.onSync(data);
|
|
31
21
|
});
|
package/Init/StartMesher.js
CHANGED
|
@@ -20,7 +20,8 @@ export async function StartMesher(data = {}) {
|
|
|
20
20
|
let ready = false;
|
|
21
21
|
InitDataSync({
|
|
22
22
|
onSync(data) {
|
|
23
|
-
InitMesher(data.voxels.materials.palette, data.voxels.models);
|
|
23
|
+
// InitMesher(data.voxels.materials.palette, data.voxels.models);
|
|
24
|
+
InitMesher();
|
|
24
25
|
ready = true;
|
|
25
26
|
},
|
|
26
27
|
});
|
package/Init/StartRenderer.js
CHANGED
|
@@ -72,7 +72,8 @@ export async function StartRenderer(initData) {
|
|
|
72
72
|
await progress.wait(100);
|
|
73
73
|
InitRendererTasks();
|
|
74
74
|
InitWorldDataSync(DVER.threads.world);
|
|
75
|
-
InitMesher(
|
|
75
|
+
InitMesher();
|
|
76
|
+
// InitMesher(syncData.voxels.materials.palette, syncData.voxels.models);
|
|
76
77
|
progress.completeWorkItems(1);
|
|
77
78
|
progress.setStatus("Waiting For Threads");
|
|
78
79
|
await Promise.all(proms);
|
|
@@ -6,6 +6,7 @@ export interface VoxelGeometryTransform {
|
|
|
6
6
|
rotationPivot?: Vec3Array;
|
|
7
7
|
lockUVs?: true;
|
|
8
8
|
flip?: [flipX: 0 | 1, flipY: 0 | 1, flipZ: 0 | 1];
|
|
9
|
+
divisor?: Vec3Array;
|
|
9
10
|
}
|
|
10
11
|
export type QuadVertexVec3Data = [Vec3Array, Vec3Array, Vec3Array, Vec3Array];
|
|
11
12
|
export type QuadVertexFloatData = [number, number, number, number];
|
package/Mesher/InitMesher.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export default function (materials: string[], modelData: FinalCompiledVoxelModelData): void;
|
|
1
|
+
export default function (): void;
|
package/Mesher/InitMesher.js
CHANGED
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
import { RenderedMaterials } from "./Voxels/Models/RenderedMaterials";
|
|
2
2
|
import { VoxelModelConstructorRegister } from "./Voxels/Models/VoxelModelConstructorRegister.js";
|
|
3
|
-
import { LiquidGeometryNode } from "./Voxels/Models/Nodes/Custom/Liquid/
|
|
3
|
+
import { LiquidGeometryNode } from "./Voxels/Models/Nodes/Custom/Liquid/LiquidGeometryNode.js";
|
|
4
4
|
import { VoxelConstructor } from "./Voxels/Models/VoxelConstructor.js";
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
RenderedMaterials.register(materials);
|
|
5
|
+
import { VoxelLUT } from "../Voxels/Data/VoxelLUT";
|
|
6
|
+
export default function () {
|
|
7
|
+
RenderedMaterials.register(VoxelLUT.material._palette);
|
|
9
8
|
VoxelModelConstructorRegister.registerCustomNode("liquid", LiquidGeometryNode);
|
|
10
|
-
VoxelModelConstructorRegister.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
VoxelModelConstructorRegister.aoIndex = new AOOcclusionFaceIndex(modelData.aoIndex);
|
|
14
|
-
VoxelModelConstructorRegister.faceCullIndex = new CulledOcclusionFaceIndex(modelData.faceCullIndex);
|
|
15
|
-
VoxelModelConstructorRegister.vertexHitMap = modelData.vertexHitMap;
|
|
16
|
-
VoxelModelConstructorRegister.faceCullMap = modelData.faceCullMap;
|
|
17
|
-
for (const voxel of modelData.voxels) {
|
|
18
|
-
VoxelModelConstructorRegister.registerVoxel(new VoxelConstructor(voxel.id, RenderedMaterials.meshersMap.get(voxel.materialId), VoxelModelConstructorRegister.modelData.get(voxel.modelId), voxel));
|
|
9
|
+
VoxelModelConstructorRegister.init();
|
|
10
|
+
for (const voxel of VoxelLUT.voxelIds._palette) {
|
|
11
|
+
VoxelModelConstructorRegister.registerVoxel(new VoxelConstructor(voxel, RenderedMaterials.meshersMap.get(VoxelLUT.material.getStringId(VoxelLUT.materialMap[VoxelLUT.voxelIds.getNumberId(voxel)]))));
|
|
19
12
|
}
|
|
20
13
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ItemModelBuilder } from "../Models/ItemModelBuilder";
|
|
2
|
-
import { Quad } from "../../
|
|
3
|
-
import { Triangle } from "../../
|
|
2
|
+
import { Quad } from "../../Geometry/Primitives/Quad";
|
|
3
|
+
import { Triangle } from "../../Geometry/Primitives";
|
|
4
4
|
export declare function addItemTriangle(builder: ItemModelBuilder, tri: Triangle): void;
|
|
5
5
|
export declare function addItemQuad(builder: ItemModelBuilder, quad: Quad): void;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Vector3Like } from "@amodx/math";
|
|
2
|
+
export declare function MeshTexture(textureId: number, textureData: number[], origin?: Vector3Like, thickness?: number | null): import("../Types").CompactMeshData;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { QuadVerticies } from "../
|
|
2
|
-
import { Quad } from "../
|
|
1
|
+
import { QuadVerticies } from "../Geometry/Geometry.types";
|
|
2
|
+
import { Quad } from "../Geometry/Primitives/Quad";
|
|
3
3
|
import { ItemModelBuilder } from "./Models/ItemModelBuilder";
|
|
4
|
-
import { addItemQuad } from "./
|
|
5
|
-
import { Flat2DIndex } from "@amodx/math";
|
|
6
|
-
import { Box } from "../
|
|
4
|
+
import { addItemQuad } from "./Geometry/ItemGeometryBuilder";
|
|
5
|
+
import { Flat2DIndex, Vector3Like } from "@amodx/math";
|
|
6
|
+
import { Box } from "../Geometry/Shapes/Box";
|
|
7
7
|
import { VoxelFaces } from "../../Math";
|
|
8
8
|
import { CompactItemMesh } from "./Base/CompactItemMesh";
|
|
9
9
|
const { quads: Quads } = Box.Create([
|
|
@@ -48,11 +48,12 @@ class TextureVoxelData {
|
|
|
48
48
|
Quads[VoxelFaces.North].setUVs(Quad.FullUVs);
|
|
49
49
|
Quads[VoxelFaces.South].setUVs(Quad.FullUVs);
|
|
50
50
|
const tool = new ItemModelBuilder("dve_item");
|
|
51
|
-
export function MeshTexture(textureId, textureData) {
|
|
51
|
+
export function MeshTexture(textureId, textureData, origin = Vector3Like.Create(), thickness = null) {
|
|
52
52
|
const width = Math.sqrt(textureData.length / 4);
|
|
53
53
|
const height = Math.sqrt(textureData.length / 4);
|
|
54
54
|
const factor = 1 / width;
|
|
55
55
|
const data = new TextureVoxelData(width, height, textureData);
|
|
56
|
+
tool.origin = origin;
|
|
56
57
|
{
|
|
57
58
|
//south face
|
|
58
59
|
tool.vars.textureIndex = textureId;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ProtoMesh } from "../../
|
|
1
|
+
import { ProtoMesh } from "../../Geometry/Proto/ProtoMesh";
|
|
2
2
|
import { Vector3Like } from "@amodx/math";
|
|
3
|
-
import { ItemMeshVertexStructCursor } from "../
|
|
3
|
+
import { ItemMeshVertexStructCursor } from "../Geometry/ItemMeshVertexStructCursor";
|
|
4
4
|
class ItemVars {
|
|
5
5
|
textureIndex = 0;
|
|
6
6
|
reset() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { VoxelMeshVertexStructCursor } from "../
|
|
1
|
+
import { VoxelMeshVertexStructCursor } from "../Geometry/VoxelMeshVertexStructCursor";
|
|
2
2
|
const structCursor = new VoxelMeshVertexStructCursor();
|
|
3
3
|
/*
|
|
4
4
|
function MakeWebGPUMesh(tool: VoxelMesherDataTool): CompactMeshData {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { VoxelMeshVertexStructCursor } from "../
|
|
2
|
-
import { CompactedSectionVoxelMesh, CompactedMeshData, } from "../
|
|
1
|
+
import { VoxelMeshVertexStructCursor } from "../Geometry/VoxelMeshVertexStructCursor";
|
|
2
|
+
import { CompactedSectionVoxelMesh, CompactedMeshData, } from "../Geometry/CompactedSectionVoxelMesh";
|
|
3
3
|
const meshData = new CompactedMeshData();
|
|
4
4
|
const compactedMesh = new CompactedSectionVoxelMesh();
|
|
5
5
|
/** Utility to ensure a value is aligned to 4 bytes. */
|
|
@@ -3,7 +3,7 @@ import { WorldSpaces } from "../../../World/WorldSpaces.js";
|
|
|
3
3
|
//tools
|
|
4
4
|
import { VoxelGeometryBuilderCacheSpace } from "../Models/VoxelGeometryBuilderCacheSpace.js";
|
|
5
5
|
import { VoxelModelConstructorRegister } from "../Models/VoxelModelConstructorRegister.js";
|
|
6
|
-
import { VoxelMeshBVHBuilder } from "../
|
|
6
|
+
import { VoxelMeshBVHBuilder } from "../Geometry/VoxelMeshBVHBuilder";
|
|
7
7
|
import { Vector3Like } from "@amodx/math";
|
|
8
8
|
import { RenderedMaterials } from "../Models/RenderedMaterials";
|
|
9
9
|
import { CompactVoxelSectionMesh } from "./CompactVoxelSectionMesh";
|
|
@@ -12,8 +12,6 @@ const bvhTool = new VoxelMeshBVHBuilder();
|
|
|
12
12
|
function meshVoxel(x, y, z, voxel, worldCursor, sectionCursor) {
|
|
13
13
|
let added = false;
|
|
14
14
|
const constructor = VoxelModelConstructorRegister.constructorsPaltte[voxel.getVoxelId()];
|
|
15
|
-
constructor.schema.dataCursor = worldCursor;
|
|
16
|
-
constructor.schema.voxel = voxel;
|
|
17
15
|
const builder = constructor.builder;
|
|
18
16
|
builder.origin.x = sectionCursor._voxelPosition.x;
|
|
19
17
|
builder.origin.y = sectionCursor._voxelPosition.y;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { VoxelLUT } from "../../../Voxels/Data/VoxelLUT";
|
|
2
2
|
import { VoxelMeshVertexStructCursor } from "./VoxelMeshVertexStructCursor";
|
|
3
3
|
export class CompactedMeshData {
|
|
4
4
|
material;
|
|
@@ -81,7 +81,7 @@ export class CompactedSectionVoxelMesh {
|
|
|
81
81
|
let startByte = CompactedSectionVoxelMesh.GetHeaderByteSize(0) +
|
|
82
82
|
CompactedSectionVoxelMesh.GetMeshHeaderByteSize() * index;
|
|
83
83
|
//material index
|
|
84
|
-
this.data.setUint8(startByte,
|
|
84
|
+
this.data.setUint8(startByte, VoxelLUT.material.getNumberId(material));
|
|
85
85
|
startByte++;
|
|
86
86
|
//min bounds
|
|
87
87
|
this.data.setFloat32(startByte, minBounds[0]);
|
|
@@ -113,7 +113,7 @@ export class CompactedSectionVoxelMesh {
|
|
|
113
113
|
CompactedSectionVoxelMesh.GetMeshHeaderByteSize() * index;
|
|
114
114
|
// material index
|
|
115
115
|
mesh.material = this.data.getUint8(startByte);
|
|
116
|
-
mesh.materialId =
|
|
116
|
+
mesh.materialId = VoxelLUT.material.getStringId(mesh.material);
|
|
117
117
|
startByte++;
|
|
118
118
|
// min bounds
|
|
119
119
|
mesh.minBounds[0] = this.data.getFloat32(startByte);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { VoxelModelBuilder } from "../Models/VoxelModelBuilder";
|
|
2
|
-
import { Quad } from "../../
|
|
3
|
-
import { Triangle } from "../../
|
|
2
|
+
import { Quad } from "../../Geometry/Primitives/Quad";
|
|
3
|
+
import { Triangle } from "../../Geometry/Primitives";
|
|
4
4
|
export declare function addVoxelTriangle(builder: VoxelModelBuilder, tri: Triangle): void;
|
|
5
5
|
export declare function addVoxelQuad(builder: VoxelModelBuilder, quad: Quad): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Vector4Like } from "@amodx/math";
|
|
2
2
|
import { VoxelShaderData } from "./VoxelShaderData";
|
|
3
|
-
import { QuadVerticies } from "../../
|
|
3
|
+
import { QuadVerticies } from "../../Geometry/Geometry.types";
|
|
4
4
|
import { VoxelMeshVertexConstants } from "./VoxelMeshVertexStructCursor";
|
|
5
5
|
const vector1ShaderData = Vector4Like.Create();
|
|
6
6
|
const vector2ShaderData = Vector4Like.Create();
|
|
@@ -36,7 +36,7 @@ export class VoxelMeshBVHBuilder {
|
|
|
36
36
|
this.structCursor.updateMin(minX, minY, minZ);
|
|
37
37
|
this.structCursor.updateMax(maxX, maxY, maxZ);
|
|
38
38
|
this.structCursor.setVoxelIndex(voxelIndex);
|
|
39
|
-
this.structCursor.
|
|
39
|
+
this.structCursor.setGeometryNode();
|
|
40
40
|
let current = leafIndex;
|
|
41
41
|
for (let level = 1; level < 13; level++) {
|
|
42
42
|
let parentNode = this.treeIndex.getParent(current);
|
|
@@ -16,7 +16,7 @@ export declare class VoxelMeshBVHStructCursor {
|
|
|
16
16
|
setActive(): void;
|
|
17
17
|
setVoxelIndex(value: number): void;
|
|
18
18
|
setInnerNode(): void;
|
|
19
|
-
|
|
19
|
+
setGeometryNode(): void;
|
|
20
20
|
updateMin(x: number, y: number, z: number): void;
|
|
21
21
|
updateMax(x: number, y: number, z: number): void;
|
|
22
22
|
}
|
|
@@ -14,9 +14,6 @@ function meshVoxel(x, y, z, voxel, templateCursor) {
|
|
|
14
14
|
return false;
|
|
15
15
|
let added = false;
|
|
16
16
|
const constructor = VoxelModelConstructorRegister.constructorsPaltte[voxel.getVoxelId()];
|
|
17
|
-
constructor.schema.dataCursor = templateCursor;
|
|
18
|
-
constructor.schema.dataCursor = templateCursor;
|
|
19
|
-
constructor.schema.voxel = voxel;
|
|
20
17
|
const builder = constructor.builder;
|
|
21
18
|
builder.origin.x = x;
|
|
22
19
|
builder.origin.y = y;
|
|
@@ -19,8 +19,6 @@ export function MeshVoxel(rawVoxelData) {
|
|
|
19
19
|
if (!constructor) {
|
|
20
20
|
throw new Error(`Could not find constructor for voxel [id:${voxel.getStringId()} name:${voxel.getName()}] `);
|
|
21
21
|
}
|
|
22
|
-
constructor.schema.dataCursor = templateCursor;
|
|
23
|
-
constructor.schema.voxel = voxel;
|
|
24
22
|
const builder = constructor.builder;
|
|
25
23
|
if (!builder) {
|
|
26
24
|
console.error(builder, constructor.id, constructor);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { QuadVerticies } from "../../../../
|
|
1
|
+
import { QuadVerticies } from "../../../../Geometry/Geometry.types";
|
|
2
2
|
import { VoxelFaces } from "../../../../../Math";
|
|
3
3
|
import { Vec4Array } from "@amodx/math";
|
|
4
4
|
export declare const GradientCheckSets: Record<VoxelFaces, Record<QuadVerticies, number[]>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { QuadVerticies } from "../../../../
|
|
1
|
+
import { QuadVerticies } from "../../../../Geometry/Geometry.types";
|
|
2
2
|
import { VoxelFaces, VoxelFacesArray } from "../../../../../Math";
|
|
3
|
-
import { VoxelRelativeCubeIndex } from "../../../../../Voxels/
|
|
3
|
+
import { VoxelRelativeCubeIndex } from "../../../../../Voxels/Geometry/VoxelRelativeCubeIndex";
|
|
4
4
|
import { VoxelLightData } from "../../../../../Voxels/Cursor/VoxelLightData";
|
|
5
5
|
export const GradientCheckSets = [];
|
|
6
6
|
GradientCheckSets[VoxelFaces.Up] = [];
|
|
@@ -17,7 +17,10 @@ export default function calculateFaceData(face, builder) {
|
|
|
17
17
|
startLight =
|
|
18
18
|
nVoxel
|
|
19
19
|
.getVoxel(x + VoxelFaceDirections[face][0], y + VoxelFaceDirections[face][1], z + VoxelFaceDirections[face][2])
|
|
20
|
-
?.getLight() ||
|
|
20
|
+
?.getLight() || -1;
|
|
21
|
+
if (startLight <= 0) {
|
|
22
|
+
startLight = nVoxel.getVoxel(x, y, z)?.getLight() || 0;
|
|
23
|
+
}
|
|
21
24
|
}
|
|
22
25
|
if (startLight < 0)
|
|
23
26
|
startLight = 0;
|