Node setting reorganization
Changes
- The
material module has been renamed to shader, in line with Blender terminology
- Geometry Node zone output nodes now use the node settings pattern to set their items rather than special logic in the operator
- All operators now use the same settings dictionary for attribute lookups
- No longer have to maintain the same node in two spots, as with many Shader and Function nodes
- The settings dictionary is now automatically generated using the
bpy API documentation, eliminating a lot of human error and effort in maintaining NodeToPython across multiple versions. See NodeToPython-Dev-Tools
- The new node list contains many version adjustments, adds nodes that were previously overlooked and missing, and some Blender 4.1 additions added since I last looked at it. The full list of changes and error corrections is given below:
Compositor Nodes
CompositorNodeColorBalance, CompositorNodeCryptomatte, and CompositorNodeCryptomatteV2 settings pre-3.5 now use proper vector type
- Added
CompositorNodeCombHSVA, CompositorNodeCombRGBA, CompositorNodeCombYCCA, CompositorNodeCombYUVA, CompositorNodeSepHSVA, CompositorNodeSepRGBA, CompositorNodeSepYCCA, CompositorNodeSepYUVA
- Added
CompositorNodeCustomGroup
- Added
smoothness attribute to CompositorNodeKeyingScreen
Function Nodes
- Added
FunctionNodeLegacyRandomFloat
Geometry Nodes
- Marked minimum versions for
GeometryNodeAccumulateField
- Added
GeometryNodeCornersOfEdge, GeometryNodeCustomGroup, GeometryNodeGetNamedGrid, GeometryNodeInputNamedLayerSelection, GeometryNodeInputSignedDistance, GeometryNodeMeanFilterSDFVolume, GeometryNodeMeshToSDFVolume, GeometryNodeOffsetSDFVolume, GeometryNodePointsToSDFVolume, GeometryNodeSDFVolumeSphere, GeometryNodeSampleVolume, GeometryNodeSplitToInstances, GeometryNodeStoreNamedGrid,
- Removed bad
min_versions from GeometryNodeImageTexture
- Corrected
GeometryNodeMergeByDistance mode attribute min_version
GeometryNodeSimulationOutput and GeometryNodeRepeatOutput now use the NTP attribute pattern for setting repeat items
- Added
GeometryNodeToolSetSelection domain attribute
Legacy Nodes
- Added old attribute nodes still present in 3.0, including
GeometryNodeAttributeRemove, GeometryNodeLegacyAlignRotationToVector, GeometryNodeLegacyAttributeClamp, GeometryNodeLegacyAttributeCombineXYZ, GeometryNodeLegacyAttributeCompare, GeometryNodeLegacyAttributeConvert, GeometryNodeLegacyAttributeCurveMap, GeometryNodeLegacyAttributeFill, GeometryNodeLegacyAttributeMapRange, GeometryNodeLegacyAttributeMath, GeometryNodeLegacyAttributeMix, GeometryNodeLegacyAttributeProximity, GeometryNodeLegacyAttributeRandomize, GeometryNodeLegacyAttributeSampleTexture, GeometryNodeLegacyAttributeSeparateXYZ, GeometryNodeLegacyAttributeTransfer, GeometryNodeLegacyAttributeVectorMath, GeometryNodeLegacyAttributeVectorRotate
- Added legacy curve nodes:
GeometryNodeLegacyCurveEndpoints, GeometryNodeLegacyCurveReverse, GeometryNodeLegacyCurveSelectHandles, GeometryNodeLegacyCurveSetHandles, GeometryNodeLegacyCurveSplineType, GeometryNodeLegacyCurveSubdivide, GeometryNodeLegacyCurveToPoints
- Added misc. legacy nodes:
GeometryNodeLegacyDeleteGeometry, GeometryNodeLegacyEdgeSplit, GeometryNodeLegacyMaterialAssign, GeometryNodeLegacyPointDistribute, GeometryNodeLegacyPointScale, GeometryNodeLegacyPointSeparate, GeometryNodeLegacyPointTranslate, GeometryNodeLegacyPointsToVolume, GeometryNodeLegacyRaycast, GeometryNodeLegacyRotatePoints, GeometryNodeLegacySelectByMaterial, GeometryNodeLegacySubdivisionSurface, GeometryNodeLegacyVolumeToMesh
- Added
GeometryNodeCurveParameter
- Marked maximum version for deprecated
GeometryNodeAttributeTransfer
Shader Nodes
- Added max version for
ShaderNodeBsdfGlossy
- Added minimum version for
model attribute of ShaderNodeBsdfHairPrincipled
- Added
ShaderNodeCombineHSV, ShaderNodeCombineRGB, ShaderNodeSeparateHSV, ShaderNodeSeparateRGB
- Added
ShaderNodeCustomGroup
- Added
ShaderNodeSqueeze
Resolves