NodeToPython icon indicating copy to clipboard operation
NodeToPython copied to clipboard

Node setting reorganization

Open BrendanParmer opened this issue 1 year ago • 0 comments

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

  • #89
  • #91

BrendanParmer avatar May 05 '24 06:05 BrendanParmer