- Introduced tests for boundary smoothing in `test_boundary_smoothing.py`, verifying that smoothing reduces stair-step artifacts while preserving boundary integrity. - Added tests for cutout boundary behavior in `test_cutout_boundary.py`, ensuring proper handling of boundary triangles and normal blending. - Created `test_temporary_attributes.py` to check the cleanup of temporary attributes across depth modifier branches, ensuring no warnings are raised. - Implemented point culling functionality in `test_validity.py`, confirming that invalid points are removed without affecting adjacent geometry. - Developed boundary smoothing logic in `boundary_smoothing.py`, allowing for depth smoothing while maintaining edge integrity. - Added cutout boundary management in `cutout_boundary.py`, including functions for removing boundary triangles and tapering thickness profiles. - Implemented validity checks in `validity.py` to ensure proper deletion of invalid vertices and associated wire edges.
78 lines
2.4 KiB
JSON
78 lines
2.4 KiB
JSON
{
|
|
"blender_version": "4.5",
|
|
"header": 32,
|
|
"row": 24,
|
|
"padding": 12,
|
|
"width": 180,
|
|
"wide_width": 220,
|
|
"collapsed_height": 36,
|
|
"controls": {
|
|
"FunctionNodeBooleanMath": 1,
|
|
"FunctionNodeCompare": 2,
|
|
"FunctionNodeFloatToInt": 1,
|
|
"FunctionNodeIntegerMath": 1,
|
|
"FunctionNodeSeparateColor": 1,
|
|
"GeometryNodeAccumulateField": 2,
|
|
"GeometryNodeAttributeStatistic": 2,
|
|
"GeometryNodeAttributeDomainSize": 1,
|
|
"GeometryNodeBlurAttribute": 1,
|
|
"GeometryNodeBoundBox": 0,
|
|
"GeometryNodeCornersOfEdge": 0,
|
|
"GeometryNodeCornersOfFace": 0,
|
|
"GeometryNodeDeleteGeometry": 2,
|
|
"GeometryNodeEdgesOfCorner": 0,
|
|
"GeometryNodeExtrudeMesh": 1,
|
|
"GeometryNodeFaceOfCorner": 0,
|
|
"GeometryNodeFieldAtIndex": 2,
|
|
"GeometryNodeFieldOnDomain": 2,
|
|
"GeometryNodeForeachGeometryElementInput": 0,
|
|
"GeometryNodeForeachGeometryElementOutput": 4,
|
|
"GeometryNodeFlipFaces": 0,
|
|
"GeometryNodeGroup": 1,
|
|
"GeometryNodeImageTexture": 2,
|
|
"GeometryNodeImageInfo": 0,
|
|
"GeometryNodeSetMaterial": 0,
|
|
"GeometryNodeInputIndex": 0,
|
|
"GeometryNodeInputMeshEdgeNeighbors": 0,
|
|
"GeometryNodeInputMeshEdgeVertices": 0,
|
|
"GeometryNodeInputMeshFaceArea": 0,
|
|
"GeometryNodeInputMeshFaceNeighbors": 0,
|
|
"GeometryNodeInputMeshIsland": 0,
|
|
"GeometryNodeInputMeshVertexNeighbors": 0,
|
|
"GeometryNodeInputNamedAttribute": 1,
|
|
"GeometryNodeInputNormal": 0,
|
|
"GeometryNodeInputPosition": 0,
|
|
"GeometryNodeJoinGeometry": 0,
|
|
"GeometryNodeMenuSwitch": 3,
|
|
"GeometryNodeMergeByDistance": 1,
|
|
"GeometryNodeMeshCube": 0,
|
|
"GeometryNodeMeshGrid": 0,
|
|
"GeometryNodeOffsetCornerInFace": 0,
|
|
"GeometryNodeRemoveAttribute": 1,
|
|
"GeometryNodeRepeatInput": 0,
|
|
"GeometryNodeRepeatOutput": 3,
|
|
"GeometryNodeSampleIndex": 3,
|
|
"GeometryNodeSampleNearest": 1,
|
|
"GeometryNodeSeparateGeometry": 1,
|
|
"GeometryNodeSetMaterialIndex": 0,
|
|
"GeometryNodeSetPosition": 0,
|
|
"GeometryNodeSetShadeSmooth": 1,
|
|
"GeometryNodeSimulationInput": 0,
|
|
"GeometryNodeSimulationOutput": 3,
|
|
"GeometryNodeSplitEdges": 0,
|
|
"GeometryNodeStoreNamedAttribute": 2,
|
|
"GeometryNodeSwitch": 1,
|
|
"GeometryNodeTransform": 1,
|
|
"GeometryNodeVertexOfCorner": 0,
|
|
"NodeGroupInput": 0,
|
|
"NodeGroupOutput": 0,
|
|
"ShaderNodeClamp": 1,
|
|
"ShaderNodeCombineXYZ": 0,
|
|
"ShaderNodeMapRange": 3,
|
|
"ShaderNodeMath": 2,
|
|
"ShaderNodeMix": 3,
|
|
"ShaderNodeSeparateXYZ": 0,
|
|
"ShaderNodeVectorMath": 1
|
|
}
|
|
}
|