user: Give a detailed overview of I: syntax, arguments, return values, common patterns.

assistant: bpy.types.GeometryNodeViewportTransform class method)](bpy.types.GeometryNodeViewportTransform.html#bpy.types.GeometryNodeViewportTransform.input_template)   - [(bpy.types.GeometryNodeVolumeCube class method)](bpy.types.GeometryNodeVolumeCube.html#bpy.types.GeometryNodeVolumeCube.input_template)   - [(bpy.types.GeometryNodeVolumeToMesh class method)](bpy.types.GeometryNodeVolumeToMesh.html#bpy.types.GeometryNodeVolumeToMesh.input_template)   - [(bpy.types.GeometryNodeWarning class method)](bpy.types.GeometryNodeWarning.html#bpy.types.GeometryNodeWarning.input_template)   - [(bpy.types.NodeClosureInput class method)](bpy.types.NodeClosureInput.html#bpy.types.NodeClosureInput.input_template)   - [(bpy.types.NodeClosureOutput class method)](bpy.types.NodeClosureOutput.html#bpy.types.NodeClosureOutput.input_template)   - [(bpy.types.NodeCombineBundle class method)](bpy.types.NodeCombineBundle.html#bpy.types.NodeCombineBundle.input_template)   - [(bpy.types.NodeEnableOutput class method)](bpy.types.NodeEnableOutput.html#bpy.types.NodeEnableOutput.input_template)   - [(bpy.types.NodeEvaluateClosure class method)](bpy.types.NodeEvaluateClosure.html#bpy.types.NodeEvaluateClosure.input_template)   - [(bpy.types.NodeFrame class method)](bpy.types.NodeFrame.html#bpy.types.NodeFrame.input_template)   - [(bpy.types.NodeGroup class method)](bpy.types.NodeGroup.html#bpy.types.NodeGroup.input_template)   - [(bpy.types.NodeGroupInput class method)](bpy.types.NodeGroupInput.html#bpy.types.NodeGroupInput.input_template)   - [(bpy.types.NodeGroupOutput class method)](bpy.types.NodeGroupOutput.html#bpy.types.NodeGroupOutput.input_template)   - [(bpy.types.NodeJoinBundle class method)](bpy.types.NodeJoinBundle.html#bpy.types.NodeJoinBundle.input_template)   - [(bpy.types.NodeReroute class method)](bpy.types.NodeReroute.html#bpy.types.NodeReroute.input_template)   - [(bpy.types.NodeSeparateBundle class method)](bpy.types.NodeSeparateBundle.html#bpy.types.NodeSeparateBundle.input_template)   - [(bpy.types.ShaderNodeAddShader class method)](bpy.types.ShaderNodeAddShader.html#bpy.types.ShaderNodeAddShader.input_template)   - [(bpy.types.ShaderNodeAmbientOcclusion class method)](bpy.types.ShaderNodeAmbientOcclusion.html#bpy.types.ShaderNodeAmbientOcclusion.input_template)   - [(bpy.types.ShaderNodeAttribute class method)](bpy.types.ShaderNodeAttribute.html#bpy.types.ShaderNodeAttribute.input_template)   - [(bpy.types.ShaderNodeBackground class method)](bpy.types.ShaderNodeBackground.html#bpy.types.ShaderNodeBackground.input_template)   - [(bpy.types.ShaderNodeBevel class method)](bpy.types.ShaderNodeBevel.html#bpy.types.ShaderNodeBevel.input_template)   - [(bpy.types.ShaderNodeBlackbody class method)](bpy.types.ShaderNodeBlackbody.html#bpy.types.ShaderNodeBlackbody.input_template)   - [(bpy.types.ShaderNodeBrightContrast class method)](bpy.types.ShaderNodeBrightContrast.html#bpy.types.ShaderNodeBrightContrast.input_template)   - [(bpy.types.ShaderNodeBsdfAnisotropic class method)](bpy.types.ShaderNodeBsdfAnisotropic.html#bpy.types.ShaderNodeBsdfAnisotropic.input_template)   - [(bpy.types.ShaderNodeBsdfDiffuse class method)](bpy.types.ShaderNodeBsdfDiffuse.html#bpy.types.ShaderNodeBsdfDiffuse.input_template)   - [(bpy.types.ShaderNodeBsdfGlass class method)](bpy.types.ShaderNodeBsdfGlass.html#bpy.types.ShaderNodeBsdfGlass.input_template)   - [(bpy.types.ShaderNodeBsdfHair class method)](bpy.types.ShaderNodeBsdfHair.html#bpy.types.ShaderNodeBsdfHair.input_template)   - [(bpy.types.ShaderNodeBsdfHairPrincipled class method)](bpy.types.ShaderNodeBsdfHairPrincipled.html#bpy.types.ShaderNodeBsdfHairPrincipled.input_template)   - [(bpy.types.ShaderNodeBsdfMetallic class method)](bpy.types.ShaderNodeBsdfMetallic.html#bpy.types.ShaderNodeBsdfMetallic.input_template)   - [(bpy.types.ShaderNodeBsdfPrincipled class method)](bpy.types.ShaderNodeBsdfPrincipled.html#bpy.types.ShaderNodeBsdfPrincipled.input_template)   - [(bpy.types.ShaderNodeBsdfRayPortal class method)](bpy.types.ShaderNodeBsdfRayPortal.html#bpy.types.ShaderNodeBsdfRayPortal.input_template)   - [(bpy.types.ShaderNodeBsdfRefraction class method)](bpy.types.ShaderNodeBsdfRefraction.html#bpy.types.ShaderNodeBsdfRefraction.input_template)   - [(bpy.types.ShaderNodeBsdfSheen class method)](bpy.types.ShaderNodeBsdfSheen.html#bpy.types.ShaderNodeBsdfSheen.input_template)   - [(bpy.types.ShaderNodeBsdfToon class method)](bpy.types.ShaderNodeBsdfToon.html#bpy.types.ShaderNodeBsdfToon.input_template)   - [(bpy.types.ShaderNodeBsdfTranslucent class method)](bpy.types.ShaderNodeBsdfTranslucent.html#bpy.types.ShaderNodeBsdfTranslucent.input_template)   - [(bpy.types.ShaderNodeBsdfTransparent class method)](bpy.types.ShaderNodeBsdfTransparent.html#bpy.types.ShaderNodeBsdfTransparent.input_template)   - [(bpy.types.ShaderNodeBump class method)](bpy.types.ShaderNodeBump.html#bpy.types.ShaderNodeBump.input_template)   - [(bpy.types.ShaderNodeCameraData class method)](bpy.types.ShaderNodeCameraData.html#bpy.types.ShaderNodeCameraData.input_template)   - [(bpy.types.ShaderNodeClamp class method)](bpy.types.ShaderNodeClamp.html#bpy.types.ShaderNodeClamp.input_template)   - [(bpy.types.ShaderNodeCombineColor class method)](bpy.types.ShaderNodeCombineColor.html#bpy.types.ShaderNodeCombineColor.input_template)   - [(bpy.types.ShaderNodeCombineXYZ class method)](bpy.types.ShaderNodeCombineXYZ.html#bpy.types.ShaderNodeCombineXYZ.input_template)   - [(bpy.types.ShaderNodeDisplacement class method)](bpy.types.ShaderNodeDisplacement.html#bpy.types.ShaderNodeDisplacement.input_template)   - [(bpy.types.ShaderNodeEeveeSpecular class method)](bpy.types.ShaderNodeEeveeSpecular.html#bpy.types.ShaderNodeEeveeSpecular.input_template)   - [(bpy.types.ShaderNodeEmission class method)](bpy.types.ShaderNodeEmission.html#bpy.types.ShaderNodeEmission.input_template)   - [(bpy.types.ShaderNodeFloatCurve class method)](bpy.types.ShaderNodeFloatCurve.html#bpy.types.ShaderNodeFloatCurve.input_template)   - [(bpy.types.ShaderNodeFresnel class method)](bpy.types.ShaderNodeFresnel.html#bpy.types.ShaderNodeFresnel.input_template)   - [(bpy.types.ShaderNodeGamma class method)](bpy.types.ShaderNodeGamma.html#bpy.types.ShaderNodeGamma.input_template)   - [(bpy.types.ShaderNodeGroup class method)](bpy.types.ShaderNodeGroup.html#bpy.types.ShaderNodeGroup.input_template)   - [(bpy.types.ShaderNodeHairInfo class method)](bpy.types.ShaderNodeHairInfo.html#bpy.types.ShaderNodeHairInfo.input_template)   - [(bpy.types.ShaderNodeHoldout class method)](bpy.types.ShaderNodeHoldout.html#bpy.types.ShaderNodeHoldout.input_template)   - [(bpy.types.ShaderNodeHueSaturation class method)](bpy.types.ShaderNodeHueSaturation.html#bpy.types.ShaderNodeHueSaturation.input_template)   - [(bpy.types.ShaderNodeInvert class method)](bpy.types.ShaderNodeInvert.html#bpy.types.ShaderNodeInvert.input_template)   - [(bpy.types.ShaderNodeLayerWeight class method)](bpy.types.ShaderNodeLayerWeight.html#bpy.types.ShaderNodeLayerWeight.input_template)   - [(bpy.types.ShaderNodeLightFalloff class method)](bpy.types.ShaderNodeLightFalloff.html#bpy.types.ShaderNodeLightFalloff.input_template)   - [(bpy.types.ShaderNodeLightPath class method)](bpy.types.ShaderNodeLightPath.html#bpy.types.ShaderNodeLightPath.input_template)   - [(bpy.types.ShaderNodeMapping class method)](bpy.types.ShaderNodeMapping.html#bpy.types.ShaderNodeMapping.input_template)   - [(bpy.types.ShaderNodeMapRange class method)](bpy.types.ShaderNodeMapRange.html#bpy.types.ShaderNodeMapRange.input_template)   - [(bpy.types.ShaderNodeMath class method)](bpy.types.ShaderNodeMath.html#bpy.types.ShaderNodeMath.input_template)   - [(bpy.types.ShaderNodeMix class method)](bpy.types.ShaderNodeMix.html#bpy.types.ShaderNodeMix.input_template)   - [(bpy.types.ShaderNodeMixRGB class method)](bpy.types.ShaderNodeMixRGB.html#bpy.types.ShaderNodeMixRGB.input_template)   - [(bpy.types.ShaderNodeMixShader class method)](bpy.types.ShaderNodeMixShader.html#bpy.types.ShaderNodeMixShader.input_template)   - [(bpy.types.ShaderNodeNewGeometry class method)](bpy.types.ShaderNodeNewGeometry.html#bpy.types.ShaderNodeNewGeometry.input_template)   - [(bpy.types.ShaderNodeNormal class method)](bpy.types.ShaderNodeNormal.html#bpy.types.ShaderNodeNormal.input_template)   - [(bpy.types.ShaderNodeNormalMap class method)](bpy.types.ShaderNodeNormalMap.html#bpy.types.ShaderNodeNormalMap.input_template)   - [(bpy.types.ShaderNodeObjectInfo class method)](bpy.types.ShaderNodeObjectInfo.html#bpy.types.ShaderNodeObjectInfo.input_template)   - [(bpy.types.ShaderNodeOutputAOV class method)](bpy.types.ShaderNodeOutputAOV.html#bpy.types.ShaderNodeOutputAOV.input_template)   - [(bpy.types.ShaderNodeOutputLight class method)](bpy.types.ShaderNodeOutputLight.html#bpy.types.ShaderNodeOutputLight.input_template)   - [(bpy.types.ShaderNodeOutputLineStyle class method)](bpy.types.ShaderNodeOutputLineStyle.html#bpy.types.ShaderNodeOutputLineStyle.input_template)   - [(bpy.types.ShaderNodeOutputMaterial class method)](bpy.types.ShaderNodeOutputMaterial.html#bpy.types.ShaderNodeOutputMaterial.input_template)   - [(bpy.types.ShaderNodeOutputWorld class method)](bpy.types.ShaderNodeOutputWorld.html#bpy.types.ShaderNodeOutputWorld.input_template)   - [(bpy.types.ShaderNodeParticleInfo class method)](bpy.types.ShaderNodeParticleInfo.html#bpy.types.ShaderNodeParticleInfo.input_template)   - [(bpy.types.ShaderNodePointInfo class method)](bpy.types.ShaderNodePointInfo.html#bpy.types.ShaderNodePointInfo.input_template)   - [(bpy.types.ShaderNodeRadialTiling class method)](bpy.types.ShaderNodeRadialTiling.html#bpy.types.ShaderNodeRadialTiling.input_template)   - [(bpy.types.ShaderNodeRGB class method)](bpy.types.ShaderNodeRGB.html#bpy.types.ShaderNodeRGB.input_template)   - [(bpy.types.ShaderNodeRGBCurve class method)](bpy.types.ShaderNodeRGBCurve.html#bpy.types.ShaderNodeRGBCurve.input_template)   - [(bpy.types.ShaderNodeRGBToBW class method)](bpy.types.ShaderNodeRGBToBW.html#bpy.types.ShaderNodeRGBToBW.input_template)   - [(bpy.types.ShaderNodeScript class method)](bpy.types.ShaderNodeScript.html#bpy.types.ShaderNodeScript.input_template)   - [(bpy.types.ShaderNodeSeparateColor class method)](bpy.types.ShaderNodeSeparateColor.html#bpy.types.ShaderNodeSeparateColor.input_template)   - [(bpy.types.ShaderNodeSeparateXYZ class method)](bpy.types.ShaderNodeSeparateXYZ.html#bpy.types.ShaderNodeSeparateXYZ.input_template)   - [(bpy.types.ShaderNodeShaderToRGB class method)](bpy.types.ShaderNodeShaderToRGB.html#bpy.types.ShaderNodeShaderToRGB.input_template)   - [(bpy.types.ShaderNodeSqueeze class method)](bpy.types.ShaderNodeSqueeze.html#bpy.types.ShaderNodeSqueeze.input_template)   - [(bpy.types.ShaderNodeSubsurfaceScattering class method)](bpy.types.ShaderNodeSubsurfaceScattering.html#bpy.types.ShaderNodeSubsurfaceScattering.input_template)   - [(bpy.types.ShaderNodeTangent class method)](bpy.types.ShaderNodeTangent.html#bpy.types.ShaderNodeTangent.input_template)   - [(bpy.types.ShaderNodeTexBrick class method)](bpy.types.ShaderNodeTexBrick.html#bpy.types.ShaderNodeTexBrick.input_template)   - [(bpy.types.ShaderNodeTexChecker class method)](bpy.types.ShaderNodeTexChecker.html#bpy.types.ShaderNodeTexChecker.input_template)   - [(bpy.types.ShaderNodeTexCoord class method)](bpy.types.ShaderNodeTexCoord.html#bpy.types.ShaderNodeTexCoord.input_template)   - [(bpy.types.ShaderNodeTexEnvironment class method)](bpy.types.ShaderNodeTexEnvironment.html#bpy.types.ShaderNodeTexEnvironment.input_template)   - [(bpy.types.ShaderNodeTexGabor class method)](bpy.types.ShaderNodeTexGabor.html#bpy.types.ShaderNodeTexGabor.input_template)   - [(bpy.types.ShaderNodeTexGradient class method)](bpy.types.ShaderNodeTexGradient.html#bpy.types.ShaderNodeTexGradient.input_template)   - [(bpy.types.ShaderNodeTexIES class method)](bpy.types.ShaderNodeTexIES.html#bpy.types.ShaderNodeTexIES.input_template)   - [(bpy.types.ShaderNodeTexImage class method)](bpy.types.ShaderNodeTexImage.html#bpy.types.ShaderNodeTexImage.input_template)   - [(bpy.types.ShaderNodeTexMagic class method)](bpy.types.ShaderNodeTexMagic.html#bpy.types.ShaderNodeTexMagic.input_template)   - [(bpy.types.ShaderNodeTexNoise class method)](bpy.types.ShaderNodeTexNoise.html#bpy.types.ShaderNodeTexNoise.input_template)   - [(bpy.types.ShaderNodeTexSky class method)](bpy.types.ShaderNodeTexSky.html#bpy.types.ShaderNodeTexSky.input_template)   - [(bpy.types.ShaderNodeTexVoronoi class method)](bpy.types.ShaderNodeTexVoronoi.html#bpy.types.ShaderNodeTexVoronoi.input_template)   - [(bpy.types.ShaderNodeTexWave class method)](bpy.types.ShaderNodeTexWave.html#bpy.types.ShaderNodeTexWave.input_template)   - [(bpy.types.ShaderNodeTexWhiteNoise class method)](bpy.types.ShaderNodeTexWhiteNoise.html#bpy.types.ShaderNodeTexWhiteNoise.input_template)   - [(bpy.types.ShaderNodeUVAlongStroke class method)](bpy.types.ShaderNodeUVAlongStroke.html#bpy.types.ShaderNodeUVAlongStroke.input_template)   - [(bpy.types.ShaderNodeUVMap class method)](bpy.types.ShaderNodeUVMap.html#bpy.types.ShaderNodeUVMap.input_template)   - [(bpy.types.ShaderNodeValToRGB class method)](bpy.types.ShaderNodeValToRGB.html#bpy.types.ShaderNodeValToRGB.input_template)   - [(bpy.types.ShaderNodeValue class method)](bpy.types.ShaderNodeValue.html#bpy.types.ShaderNodeValue.input_template)   - [(bpy.types.ShaderNodeVectorCurve class method)](bpy.types.ShaderNodeVectorCurve.html#bpy.types.ShaderNodeVectorCurve.input_template)   - [(bpy.types.ShaderNodeVectorDisplacement class method)](bpy.types.ShaderNodeVectorDisplacement.html#bpy.types.ShaderNodeVectorDisplacement.input_template)   - [(bpy.types.ShaderNodeVectorMath class method)](bpy.types.ShaderNodeVectorMath.html#bpy.types.ShaderNodeVectorMath.input_template)   - [(bpy.types.ShaderNodeVectorRotate class method)](bpy.types.ShaderNodeVectorRotate.html#bpy.types.ShaderNodeVectorRotate.input_template)   - [(bpy.types.ShaderNodeVectorTransform class method)](bpy.types.ShaderNodeVectorTransform.html#bpy.types.ShaderNodeVectorTransform.input_template)   - [(bpy.types.ShaderNodeVertexColor class method)](bpy.types.ShaderNodeVertexColor.html#bpy.types.ShaderNodeVertexColor.input_template)   - [(bpy.types.ShaderNodeVolumeAbsorption class method)](bpy.types.ShaderNodeVolumeAbsorption.html#bpy.types.ShaderNodeVolumeAbsorption.input_template)   - [(bpy.types.ShaderNodeVolumeCoefficients class method)](bpy.types.ShaderNodeVolumeCoefficients.html#bpy.types.ShaderNodeVolumeCoefficients.input_template)   - [(bpy.types.ShaderNodeVolumeInfo class method)](bpy.types.ShaderNodeVolumeInfo.html#bpy.types.ShaderNodeVolumeInfo.input_template)   - [(bpy.types.ShaderNodeVolumePrincipled class method)](bpy.types.ShaderNodeVolumePrincipled.html#bpy.types.ShaderNodeVolumePrincipled.input_template)   - [(bpy.types.ShaderNodeVolumeScatter class method)](bpy.types.ShaderNodeVolumeScatter.html#bpy.types.ShaderNodeVolumeScatter.input_template)   - [(bpy.types.ShaderNodeWavelength class method)](bpy.types.ShaderNodeWavelength.html#bpy.types.ShaderNodeWavelength.input_template)   - [(bpy.types.ShaderNodeWireframe class method)](bpy.types.ShaderNodeWireframe.html#bpy.types.ShaderNodeWireframe.input_template)   - [(bpy.types.TextureNodeAt class method)](bpy.types.TextureNodeAt.html#bpy.types.TextureNodeAt.input_template)   - [(bpy.types.TextureNodeBricks class method)](bpy.types.TextureNodeBricks.html#bpy.types.TextureNodeBricks.input_template)   - [(bpy.types.TextureNodeChecker class method)](bpy.types.TextureNodeChecker.html#bpy.types.TextureNodeChecker.input_template)   - [(bpy.types.TextureNodeCombineColor class method)](bpy.types.TextureNodeCombineColor.html#bpy.types.TextureNodeCombineColor.input_template)   - [(bpy.types.TextureNodeCompose class method)](bpy.types.TextureNodeCompose.html#bpy.types.TextureNodeCompose.input_template)   - [(bpy.types.TextureNodeCoordinates class method)](bpy.types.TextureNodeCoordinates.html#bpy.types.TextureNodeCoordinates.input_template)   - [(bpy.types.TextureNodeCurveRGB class method)](bpy.types.TextureNodeCurveRGB.html#bpy.types.TextureNodeCurveRGB.input_template)   - [(bpy.types.TextureNodeCurveTime class method)](bpy.types.TextureNodeCurveTime.html#bpy.types.TextureNodeCurveTime.input_template)   - [(bpy.types.TextureNodeDecompose class method)](bpy.types.TextureNodeDecompose.html#bpy.types.TextureNodeDecompose.input_template)   - [(bpy.types.TextureNodeDistance class method)](bpy.types.TextureNodeDistance.html#bpy.types.TextureNodeDistance.input_template)   - [(bpy.types.TextureNodeGroup class method)](bpy.types.TextureNodeGroup.html#bpy.types.TextureNodeGroup.input_template)   - [(bpy.types.TextureNodeHueSaturation class method)](bpy.types.TextureNodeHueSaturation.html#bpy.types.TextureNodeHueSaturation.input_template)   - [(bpy.types.TextureNodeImage class method)](bpy.types.TextureNodeImage.html#bpy.types.TextureNodeImage.input_template)   - [(bpy.types.TextureNodeInvert class method)](bpy.types.TextureNodeInvert.html#bpy.types.TextureNodeInvert.input_template)   - [(bpy.types.TextureNodeMath class method)](bpy.types.TextureNodeMath.html#bpy.types.TextureNodeMath.input_template)   - [(bpy.types.TextureNodeMixRGB class method)](bpy.types.TextureNodeMixRGB.html#bpy.types.TextureNodeMixRGB.input_template)   - [(bpy.types.TextureNodeOutput class method)](bpy.types.TextureNodeOutput.html#bpy.types.TextureNodeOutput.input_template)   - [(bpy.types.TextureNodeRGBToBW class method)](bpy.types.TextureNodeRGBToBW.html#bpy.types.TextureNodeRGBToBW.input_template)   - [(bpy.types.TextureNodeRotate class method)](bpy.types.TextureNodeRotate.html#bpy.types.TextureNodeRotate.input_template)   - [(bpy.types.TextureNodeScale class method)](bpy.types.TextureNodeScale.html#bpy.types.TextureNodeScale.input_template)   - [(bpy.types.TextureNodeSeparateColor class method)](bpy.types.TextureNodeSeparateColor.html#bpy.types.TextureNodeSeparateColor.input_template)   - [(bpy.types.TextureN