user: Give a detailed overview of TextureNode(NodeInternal): syntax, arguments, return values, common patterns.

assistant: # TextureNode(NodeInternal)

base classes — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct"), [`Node`](bpy.types.Node.html#bpy.types.Node "bpy.types.Node"), [`NodeInternal`](bpy.types.NodeInternal.html#bpy.types.NodeInternal "bpy.types.NodeInternal")

subclasses —
[`TextureNodeAt`](bpy.types.TextureNodeAt.html#bpy.types.TextureNodeAt "bpy.types.TextureNodeAt"), [`TextureNodeBricks`](bpy.types.TextureNodeBricks.html#bpy.types.TextureNodeBricks "bpy.types.TextureNodeBricks"), [`TextureNodeChecker`](bpy.types.TextureNodeChecker.html#bpy.types.TextureNodeChecker "bpy.types.TextureNodeChecker"), [`TextureNodeCombineColor`](bpy.types.TextureNodeCombineColor.html#bpy.types.TextureNodeCombineColor "bpy.types.TextureNodeCombineColor"), [`TextureNodeCompose`](bpy.types.TextureNodeCompose.html#bpy.types.TextureNodeCompose "bpy.types.TextureNodeCompose"), [`TextureNodeCoordinates`](bpy.types.TextureNodeCoordinates.html#bpy.types.TextureNodeCoordinates "bpy.types.TextureNodeCoordinates"), [`TextureNodeCurveRGB`](bpy.types.TextureNodeCurveRGB.html#bpy.types.TextureNodeCurveRGB "bpy.types.TextureNodeCurveRGB"), [`TextureNodeCurveTime`](bpy.types.TextureNodeCurveTime.html#bpy.types.TextureNodeCurveTime "bpy.types.TextureNodeCurveTime"), [`TextureNodeDecompose`](bpy.types.TextureNodeDecompose.html#bpy.types.TextureNodeDecompose "bpy.types.TextureNodeDecompose"), [`TextureNodeDistance`](bpy.types.TextureNodeDistance.html#bpy.types.TextureNodeDistance "bpy.types.TextureNodeDistance"), [`TextureNodeGroup`](bpy.types.TextureNodeGroup.html#bpy.types.TextureNodeGroup "bpy.types.TextureNodeGroup"), [`TextureNodeHueSaturation`](bpy.types.TextureNodeHueSaturation.html#bpy.types.TextureNodeHueSaturation "bpy.types.TextureNodeHueSaturation"), [`TextureNodeImage`](bpy.types.TextureNodeImage.html#bpy.types.TextureNodeImage "bpy.types.TextureNodeImage"), [`TextureNodeInvert`](bpy.types.TextureNodeInvert.html#bpy.types.TextureNodeInvert "bpy.types.TextureNodeInvert"), [`TextureNodeMath`](bpy.types.TextureNodeMath.html#bpy.types.TextureNodeMath "bpy.types.TextureNodeMath"), [`TextureNodeMixRGB`](bpy.types.TextureNodeMixRGB.html#bpy.types.TextureNodeMixRGB "bpy.types.TextureNodeMixRGB"), [`TextureNodeOutput`](bpy.types.TextureNodeOutput.html#bpy.types.TextureNodeOutput "bpy.types.TextureNodeOutput"), [`TextureNodeRGBToBW`](bpy.types.TextureNodeRGBToBW.html#bpy.types.TextureNodeRGBToBW "bpy.types.TextureNodeRGBToBW"), [`TextureNodeRotate`](bpy.types.TextureNodeRotate.html#bpy.types.TextureNodeRotate "bpy.types.TextureNodeRotate"), [`TextureNodeScale`](bpy.types.TextureNodeScale.html#bpy.types.TextureNodeScale "bpy.types.TextureNodeScale"), [`TextureNodeSeparateColor`](bpy.types.TextureNodeSeparateColor.html#bpy.types.TextureNodeSeparateColor "bpy.types.TextureNodeSeparateColor"), [`TextureNodeTexBlend`](bpy.types.TextureNodeTexBlend.html#bpy.types.TextureNodeTexBlend "bpy.types.TextureNodeTexBlend"), [`TextureNodeTexClouds`](bpy.types.TextureNodeTexClouds.html#bpy.types.TextureNodeTexClouds "bpy.types.TextureNodeTexClouds"), [`TextureNodeTexDistNoise`](bpy.types.TextureNodeTexDistNoise.html#bpy.types.TextureNodeTexDistNoise "bpy.types.TextureNodeTexDistNoise"), [`TextureNodeTexMagic`](bpy.types.TextureNodeTexMagic.html#bpy.types.TextureNodeTexMagic "bpy.types.TextureNodeTexMagic"), [`TextureNodeTexMarble`](bpy.types.TextureNodeTexMarble.html#bpy.types.TextureNodeTexMarble "bpy.types.TextureNodeTexMarble"), [`TextureNodeTexMusgrave`](bpy.types.TextureNodeTexMusgrave.html#bpy.types.TextureNodeTexMusgrave "bpy.types.TextureNodeTexMusgrave"), [`TextureNodeTexNoise`](bpy.types.TextureNodeTexNoise.html#bpy.types.TextureNodeTexNoise "bpy.types.TextureNodeTexNoise"), [`TextureNodeTexStucci`](bpy.types.TextureNodeTexStucci.html#bpy.types.TextureNodeTexStucci "bpy.types.TextureNodeTexStucci"), [`TextureNodeTexVoronoi`](bpy.types.TextureNodeTexVoronoi.html#bpy.types.TextureNodeTexVoronoi "bpy.types.TextureNodeTexVoronoi"), [`TextureNodeTexWood`](bpy.types.TextureNodeTexWood.html#bpy.types.TextureNodeTexWood "bpy.types.TextureNodeTexWood"), [`TextureNodeTexture`](bpy.types.TextureNodeTexture.html#bpy.types.TextureNodeTexture "bpy.types.TextureNodeTexture"), [`TextureNodeTranslate`](bpy.types.TextureNodeTranslate.html#bpy.types.TextureNodeTranslate "bpy.types.TextureNodeTranslate"), [`TextureNodeValToNor`](bpy.types.TextureNodeValToNor.html#bpy.types.TextureNodeValToNor "bpy.types.TextureNodeValToNor"), [`TextureNodeValToRGB`](bpy.types.TextureNodeValToRGB.html#bpy.types.TextureNodeValToRGB "bpy.types.TextureNodeValToRGB"), [`TextureNodeViewer`](bpy.types.TextureNodeViewer.html#bpy.types.TextureNodeViewer "bpy.types.TextureNodeViewer")

*class* bpy.types.TextureNode(*NodeInternal*)
:   *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type