[User] Provide the full official documentation entry for Bpy.Ops.Texture, preserving all code examples.

[Assistant] deClosureInput(NodeInternal) NodeClosureInputItem(bpy_struct) NodeClosureInputItems(bpy_struct) NodeClosureOutput(NodeInternal) NodeClosureOutputItem(bpy_struct) NodeClosureOutputItems(bpy_struct) NodeCombineBundle(NodeInternal) NodeCombineBundleItem(bpy_struct) NodeCombineBundleItems(bpy_struct) NodeCompositorFileOutputItem(bpy_struct) NodeCompositorFileOutputItems(bpy_struct) NodeCustomGroup(Node) NodeEnableOutput(NodeInternal) NodeEnumItem(bpy_struct) NodeEvaluateClosure(NodeInternal) NodeEvaluateClosureInputItem(bpy_struct) NodeEvaluateClosureInputItems(bpy_struct) NodeEvaluateClosureOutputItem(bpy_struct) NodeEvaluateClosureOutputItems(bpy_struct) NodeFrame(NodeInternal) NodeFunctionFormatStringItem(bpy_struct) NodeFunctionFormatStringItems(bpy_struct) NodeGeometryBakeItem(bpy_struct) NodeGeometryBakeItems(bpy_struct) NodeGeometryCaptureAttributeItem(bpy_struct) NodeGeometryCaptureAttributeItems(bpy_struct) NodeGeometryForeachGeometryElementGenerationItems(bpy_struct) NodeGeometryForeachGeometryElementInputItems(bpy_struct) NodeGeometryForeachGeometryElementMainItems(bpy_struct) NodeGeometryRepeatOutputItems(bpy_struct) NodeGeometrySimulationOutputItems(bpy_struct) NodeGeometryViewerItem(bpy_struct) NodeGeometryViewerItems(bpy_struct) NodeGroup(NodeInternal) NodeGroupInput(NodeInternal) NodeGroupOutput(NodeInternal) NodeIndexSwitchItems(bpy_struct) NodeInputs(bpy_struct) NodeInstanceHash(bpy_struct) NodeInternal(Node) NodeInternalSocketTemplate(bpy_struct) NodeJoinBundle(NodeInternal) NodeLink(bpy_struct) NodeLinks(bpy_struct) NodeMenuSwitchItems(bpy_struct) NodeOutputs(bpy_struct) NodeReroute(NodeInternal) NodeSeparateBundle(NodeInternal) NodeSeparateBundleItem(bpy_struct) NodeSeparateBundleItems(bpy_struct) NodeSocket(bpy_struct) NodeSocketBool(NodeSocketStandard) NodeSocketBundle(NodeSocketStandard) NodeSocketClosure(NodeSocketStandard) NodeSocketCollection(NodeSocketStandard) NodeSocketColor(NodeSocketStandard) NodeSocketFloat(NodeSocketStandard) NodeSocketFloatAngle(NodeSocketStandard) NodeSocketFloatColorTemperature(NodeSocketStandard) NodeSocketFloatDistance(NodeSocketStandard) NodeSocketFloatFactor(NodeSocketStandard) NodeSocketFloatFrequency(NodeSocketStandard) NodeSocketFloatPercentage(NodeSocketStandard) NodeSocketFloatTime(NodeSocketStandard) NodeSocketFloatTimeAbsolute(NodeSocketStandard) NodeSocketFloatUnsigned(NodeSocketStandard) NodeSocketFloatWavelength(NodeSocketStandard) NodeSocketGeometry(NodeSocketStandard) NodeSocketImage(NodeSocketStandard) NodeSocketInt(NodeSocketStandard) NodeSocketIntFactor(NodeSocketStandard) NodeSocketIntPercentage(NodeSocketStandard) NodeSocketIntUnsigned(NodeSocketStandard) NodeSocketMaterial(NodeSocketStandard) NodeSocketMatrix(NodeSocketStandard) NodeSocketMenu(NodeSocketStandard) NodeSocketObject(NodeSocketStandard) NodeSocketRotation(NodeSocketStandard) NodeSocketShader(NodeSocketStandard) NodeSocketStandard(NodeSocket) NodeSocketString(NodeSocketStandard) NodeSocketStringFilePath(NodeSocketStandard) NodeSocketTexture(NodeSocketStandard) NodeSocketVector(NodeSocketStandard) NodeSocketVector2D(NodeSocketStandard) NodeSocketVector4D(NodeSocketStandard) NodeSocketVectorAcceleration(NodeSocketStandard) NodeSocketVectorAcceleration2D(NodeSocketStandard) NodeSocketVectorAcceleration4D(NodeSocketStandard) NodeSocketVectorDirection(NodeSocketStandard) NodeSocketVectorDirection2D(NodeSocketStandard) NodeSocketVectorDirection4D(NodeSocketStandard) NodeSocketVectorEuler(NodeSocketStandard) NodeSocketVectorEuler2D(NodeSocketStandard) NodeSocketVectorEuler4D(NodeSocketStandard) NodeSocketVectorFactor(NodeSocketStandard) NodeSocketVectorFactor2D(NodeSocketStandard) NodeSocketVectorFactor4D(NodeSocketStandard) NodeSocketVectorPercentage(NodeSocketStandard) NodeSocketVectorPercentage2D(NodeSocketStandard) NodeSocketVectorPercentage4D(NodeSocketStandard) NodeSocketVectorTranslation(NodeSocketStandard) NodeSocketVectorTranslation2D(NodeSocketStandard) NodeSocketVectorTranslation4D(NodeSocketStandard) NodeSocketVectorVelocity(NodeSocketStandard) NodeSocketVectorVelocity2D(NodeSocketStandard) NodeSocketVectorVelocity4D(NodeSocketStandard) NodeSocketVectorXYZ(NodeSocketStandard) NodeSocketVectorXYZ2D(NodeSocketStandard) NodeSocketVectorXYZ4D(NodeSocketStandard) NodeSocketVirtual(NodeSocketStandard) NodeTree(ID) NodeTreeInterface(bpy_struct) NodeTreeInterfaceItem(bpy_struct) NodeTreeInterfacePanel(NodeTreeInterfaceItem) NodeTreeInterfaceSocket(NodeTreeInterfaceItem) NodeTreeInterfaceSocketBool(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketBundle(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketClosure(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketCollection(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketColor(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketFloat(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketFloatAngle(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketFloatColorTemperature(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketFloatDistance(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketFloatFactor(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketFloatFrequency(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketFloatPercentage(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketFloatTime(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketFloatTimeAbsolute(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketFloatUnsigned(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketFloatWavelength(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketGeometry(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketImage(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketInt(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketIntFactor(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketIntPercentage(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketIntUnsigned(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketMaterial(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketMatrix(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketMenu(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketObject(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketRotation(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketShader(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketString(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketStringFilePath(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketTexture(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVector(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVector2D(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVector4D(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorAcceleration(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorAcceleration2D(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorAcceleration4D(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorDirection(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorDirection2D(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorDirection4D(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorEuler(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorEuler2D(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorEuler4D(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorFactor(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorFactor2D(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorFactor4D(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorPercentage(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorPercentage2D(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorPercentage4D(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorTranslation(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorTranslation2D(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorTranslation4D(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorVelocity(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorVelocity2D(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorVelocity4D(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorXYZ(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorXYZ2D(NodeTreeInterfaceSocket) NodeTreeInterfaceSocketVectorXYZ4D(NodeTreeInterfaceSocket) NodeTreePath(bpy_struct) Nodes(bpy_struct) NodesModifier(Modifier) NodesModifierBake(bpy_struct) NodesModifierBakeDataBlocks(bpy_struct) NodesModifierBakes(bpy_struct) NodesModifierDataBlock(bpy_struct) NodesModifierPanel(bpy_struct) NodesModifierPanels(bpy_struct) NodesModifierWarning(bpy_struct) NoiseTexture(Texture) NormalEditModifier(Modifier) Object(ID) ObjectBase(bpy_struct) ObjectConstraints(bpy_struct) ObjectDisplay(bpy_struct) ObjectLightLinking(bpy_struct) ObjectLineArt(bpy_struct) ObjectModifiers(bpy_struct) ObjectShaderFx(bpy_struct) ObjectSolverConstraint(Constraint) OceanModifier(Modifier) Operator(bpy_struct) OperatorFileListElement(PropertyGroup) OperatorMacro(bpy_struct) OperatorMousePath(PropertyGroup) OperatorOptions(bpy_struct) OperatorProperties(bpy_struct) OperatorStrokeElement(PropertyGroup) PARTICLE_UL_particle_systems(UIList) PHYSICS_UL_dynapaint_surfaces(UIList) POINTCLOUD_UL_attributes(UIList) POSE_UL_selection_set(UIList) PackedFile(bpy_struct) Paint(bpy_struct) PaintCurve(ID) PaintModeSettings(bpy_struct) Palette(ID) PaletteColor(bpy_struct) PaletteColors(bpy_struct) Panel(bpy_struct) Particle(bpy_struct) ParticleBrush(bpy_struct) ParticleDupliWeight(bpy_struct) ParticleEdit(bpy_struct) ParticleHairKey(bpy_struct) ParticleInstanceModifier(Modifier) ParticleKey(bpy_struct) ParticleSettings(ID) ParticleSettingsTextureSlot(TextureSlot) ParticleSettingsTextureSlots(bpy_struct) ParticleSystem(bpy_struct) ParticleSystemModifier(Modifier) ParticleSystems(bpy_struct) ParticleTarget(bpy_struct) PathCompare(bpy_struct) PathCompareCollection(bpy_struct) PivotConstraint(Constraint) Point(bpy_struct) PointCache(bpy_struct) PointCacheItem(bpy_struct) PointCaches(bpy_struct) PointCloud(ID) PointLight(Light) PointerProperty(Property) Pose(bpy_struct) PoseBone(bpy_struct) PoseBoneConstraints(bpy_struct) Preferences(bpy_struct) PreferencesApps(bpy_struct) PreferencesEdit(bpy_struct) PreferencesExperimental(bpy_struct) PreferencesExtensions(bpy_struct) PreferencesFilePaths(bpy_struct) PreferencesInput(bpy_struct) PreferencesKeymap(bpy_struct) PreferencesSystem(bpy_struct) PreferencesView(bpy_struct) PrimitiveBoolean(bpy_struct) PrimitiveFloat(bpy_struct) PrimitiveInt(bpy_struct) PrimitiveString(bpy_struct) Property(bpy_struct) PropertyGroup(bpy_struct) PropertyGroupItem(bpy_struct) QuaternionAttribute(Attribute) QuaternionAttributeValue(bpy_struct) RENDER_UL_renderviews(UIList) RaytraceEEVEE(bpy_struct) ReadOnlyInteger(bpy_struct) Region(bpy_struct) RegionView3D(bpy_struct) RemeshModifier(Modifier) RenderEngine(bpy_struct) RenderLayer(bpy_struct) RenderPass(bpy_struct) RenderPasses(bpy_struct) RenderResult(bpy_struct) RenderSettings(bpy_struct) RenderSlot(bpy_struct) RenderSlots(bpy_struct) RenderView(bpy_struct) RenderViews(bpy_struct) RepeatItem(bpy_struct) RepeatZoneViewerPathElem(ViewerPathElem) RetimingKey(bpy_struct) RetimingKeys(bpy_struct) RigidBodyConstraint(bpy_struct) RigidBodyObject(bpy_struct) RigidBodyWorld(bpy_struct) SCENE_UL_gltf2_filter_action(UIList) SCENE_UL_keying_set_paths(UIList) SEQUENCER_FH_image_strip(FileHandler) SEQUENCER_FH_movie_strip(FileHandler) SEQUENCER_FH_sound_strip(FileHandler) SPHFluidSettings(bpy_struct) Scene(ID) SceneDisplay(bpy_struct) SceneEEVEE(bpy_struct) SceneGpencil(bpy_struct) SceneHydra(bpy_struct) SceneObjects(bpy_struct) SceneRenderView(bpy_struct) SceneStrip(Strip) Scopes(bpy_struct) Screen(ID) ScrewModifier(Modifier) ScriptDirectory(bpy_struct) ScriptDirectoryCollection(bpy_struct) Sculpt(Paint) SelectedUvElement(PropertyGroup) SequenceEditor(bpy_struct) SequenceTimelineChannel(bpy_struct) SequencerCacheOverlay(bpy_struct) SequencerCompositorModifierData(StripModifier) SequencerPreviewOverlay(bpy_struct) SequencerTimelineOverlay(bpy_struct) SequencerTonemapModifierData(StripModifier) SequencerToolSettings(bpy_struct) ShaderFx(bpy_struct) ShaderFxBlur(ShaderFx) ShaderFxColorize(ShaderFx) ShaderFxFlip(ShaderFx) ShaderFxGlow(ShaderFx) ShaderFxPixel(ShaderFx) ShaderFxRim(ShaderFx) ShaderFxShadow(ShaderFx) ShaderFxSwirl(ShaderFx) ShaderFxWave(ShaderFx) ShaderNode(NodeInternal) ShaderNodeAddShader(ShaderNode) ShaderNodeAmbientOcclusion(ShaderNode) ShaderNodeAttribute(ShaderNode) ShaderNodeBackground(ShaderNode) ShaderNodeBevel(ShaderNode) ShaderNodeBlackbody(ShaderNode) ShaderNodeBrightContrast(ShaderNode) ShaderNodeBsdfAnisotropic(ShaderNode) ShaderNodeBsdfDiffuse(ShaderNode) ShaderNodeBsdfGlass(ShaderNode) ShaderNodeBsdfHair(ShaderNode) ShaderNodeBsdfHairPrincipled(ShaderNode) ShaderNodeBsdfMetallic(ShaderNode) ShaderNodeBsdfPrincipled(ShaderNode) ShaderNodeBsdfRayPortal(ShaderNode) ShaderNodeBsdfRefraction(ShaderNode) ShaderNodeBsdfSheen(ShaderNode) ShaderNodeBsdfToon(ShaderNode) ShaderNodeBsdfTranslucent(ShaderNode) ShaderNodeBsdfTransparent(ShaderNode) ShaderNodeBump(ShaderNode) ShaderNodeCameraData(ShaderNode) ShaderNodeClamp(ShaderNode) ShaderNodeCombineColor(ShaderNode) ShaderNodeCombineXYZ(ShaderNode) ShaderNodeCustomGroup(ShaderNode) ShaderNodeDisplacement(ShaderNode) ShaderNodeEeveeSpecular(ShaderNode) ShaderNodeEmission(ShaderNode) ShaderNodeFloatCurve(ShaderNode) ShaderNodeFresnel(ShaderNode) ShaderNodeGamma(ShaderNode) ShaderNodeGroup(ShaderNode) ShaderNodeHairInfo(ShaderNode) ShaderNodeHoldout(ShaderNode) ShaderNodeHueSaturation(ShaderNode) ShaderNodeInvert(ShaderNode) ShaderNodeLayerWeight(ShaderNode) ShaderNodeLightFalloff(ShaderNode) ShaderNodeLightPath(ShaderNode) ShaderNodeMapRange(ShaderNode) ShaderNodeMapping(ShaderNode) ShaderNodeMath(ShaderNode) ShaderNodeMix(ShaderNode) ShaderNodeMixRGB(ShaderNode) ShaderNodeMixShader(ShaderNode) ShaderNodeNewGeometry(ShaderNode) ShaderNodeNormal(ShaderNode) ShaderNodeNormalMap(ShaderNode) ShaderNodeObjectInfo(ShaderNode) ShaderNodeOutputAOV(ShaderNode) ShaderNodeOutputLight(ShaderNode) ShaderNodeOutputLineStyle(ShaderNode) ShaderNodeOutputMaterial(ShaderNode) ShaderNodeOutputWorld(ShaderNode) ShaderNodeParticleInfo(ShaderNode) ShaderNodePointInfo(ShaderNode) ShaderNodeRGB(ShaderNode) ShaderNodeRGBCurve(ShaderNode) ShaderNodeRGBToBW(ShaderNode) ShaderNodeRadialTiling(ShaderNode) ShaderNodeScript(ShaderNode) ShaderNodeSeparateColor(ShaderNode) ShaderNodeSeparateXYZ(ShaderNode) ShaderNodeShaderToRGB(ShaderNode) ShaderNodeSqueeze(ShaderNode) ShaderNodeSubsurfaceScattering(ShaderNode) ShaderNodeTangent(ShaderNode) ShaderNodeTexBrick(ShaderNode) ShaderNodeTexChecker(ShaderNode) ShaderNodeTexCoord(ShaderNode) ShaderNodeTexEnvironment(ShaderNode) ShaderNodeTexGabor(ShaderNode) ShaderNodeTexGradient(ShaderNode) ShaderNodeTexIES(ShaderNode) ShaderNodeTexImage(ShaderNode) ShaderNodeTexMagic(ShaderNode) ShaderNodeTexNoise(ShaderNode) ShaderNodeTexSky(ShaderNode) ShaderNodeTexVoronoi(ShaderNode) ShaderNodeTexWave(ShaderNode) ShaderNodeTexWhiteNoise(ShaderNode) ShaderNodeTree(NodeTree) ShaderNodeUVAlongStroke(ShaderNode) ShaderNodeUVMap(ShaderNode) ShaderNodeValToRGB(ShaderNode) ShaderNodeValue(ShaderNode) ShaderNodeVectorCurve(ShaderNode) ShaderNodeVectorDisplacement(ShaderNode) ShaderNodeVectorMath(ShaderNode) ShaderNodeVectorRotate(ShaderNode) ShaderNodeVectorTransform(ShaderNode) ShaderNodeVertexColor(ShaderNode) ShaderNodeVolumeAbsorption(ShaderNode) ShaderNodeVolumeCoefficients(ShaderNode) ShaderNodeVolumeInfo(ShaderNode) ShaderNodeVolumePrincipled(ShaderNode) ShaderNodeVolumeScatter(ShaderNode) ShaderNodeWavelength(ShaderNode) ShaderNodeWireframe(ShaderNode) ShapeKey(bpy_struct) ShapeKeyBezierPoint(bpy_struct) ShapeKeyCurvePoint(bpy_struct) ShapeKeyPoint(bpy_struct) Short2Attribute(Attribute) Short2AttributeValue(bpy_struct) ShrinkwrapConstraint(Constraint) ShrinkwrapModifier(Modifier) SimpleDeformModifier(Modifier) SimulationStateItem(bpy_struct) SimulationZoneViewerPathElem(ViewerPathElem) SkinModifier(Modifier) SmoothModifier(Modifier) SoftBodyModifier(Modifier) SoftBodySettings(bpy_struct) SolidifyModifier(Modifier) Sound(ID) SoundEqualizerModifier(StripModifier) SoundStrip(Strip) Space(bpy_struct) SpaceClipEditor(Space) SpaceClipOverlay(bpy_struct) SpaceConsole(Space) SpaceDopeSheetEditor(Space) SpaceDopeSheetOverlay(bpy_struct) SpaceFileBrowser(Space) SpaceGraphEditor(Space) SpaceImageEditor(Space) SpaceImageOverlay(bpy_struct) SpaceInfo(Space) SpaceNLA(Space) SpaceNodeEditor(Space) SpaceNodeEditorPath(bpy_struct) SpaceNodeOverlay(bpy_struct) SpaceOutliner(Space) SpacePreferences(Space) SpaceProperties(Space) SpaceSequenceEditor(Space) SpaceSpreadsheet(Space) SpaceTextEditor(Space) SpaceUVEditor(bpy_struct) SpaceView3D(Space) Speaker(ID) SpeedControlStrip(EffectStrip) Spline(bpy_struct) SplineBezierPoints(bpy_struct) SplineIKConstraint(Constraint) SplinePoint(bpy_struct) SplinePoints(bpy_struct) SpotLight(Light) SpreadsheetColumn(bpy_struct) SpreadsheetColumnID(bpy_struct) SpreadsheetRowFilter(bpy_struct) SpreadsheetTable(bpy_struct) SpreadsheetTableID(bpy_struct) SpreadsheetTableIDGeometry(SpreadsheetTableID) SpreadsheetTables(bpy_struct) Stereo3dDisplay(bpy_struct) Stereo3dFormat(bpy_struct) StretchToConstraint(Constraint) StringAttribute(Attribute) StringAttributeValue(bpy_struct) StringProperty(Property) Strip(bpy_struct) StripColorBalance(StripColorBalanceData) StripColorBalanceData(bpy_struct) StripCrop(bpy_struct) StripElement(bpy_struct) StripElements(bpy_struct) StripModifier(bpy_struct) StripModifiers(bpy_struct) StripProxy(bpy_struct) StripTransform(bpy_struct) StripsMeta(bpy_struct) StripsTopLevel(bpy_struct) Struct(bpy_struct) StucciTexture(Texture) StudioLight(bpy_struct) StudioLights(bpy_struct) SubsurfModifier(Modifier) SubtractStrip(EffectStrip) SunLight(Light) SurfaceCurve(Curve) SurfaceDeformModifier(Modifier) SurfaceModifier(Modifier) TEXTURE_UL_texpaintslots(UIList) TEXTURE_UL_texslots(UIList) TexMapping(bpy_struct) TexPaintSlot(bpy_struct) Text(ID) TextBox(bpy_struct) TextCharacterFormat(bpy_struct) TextCurve(Curve) TextLine(bpy_struct) TextStrip(EffectStrip) Texture(ID) TextureNode(NodeInternal) TextureNodeAt(TextureNode) TextureNodeBricks(TextureNode) TextureNodeCheck


[User] Provide the full official documentation entry for Frame Node, preserving all code examples.

[Assistant]
# Frame Node

The *Frame* node is used to organize and group other nodes within the editor.
It helps manage complex node trees by visually grouping related nodes together.

Frames are particularly useful when the setup is too large to view easily at once,
or when you want to separate logical sections of a node tree without creating a reusable Node Group.

[image reference removed]

Example of a Frame node used to organize nodes.


[User] What is Split Concave Faces and how is it used in Blender Python scripting?

[Assistant]
Splits any selected [concave](../../../../glossary/index.xhtml#term-Concave-Face) faces so that only convex ones remain.

|  |  |
| --- | --- |
| ../../../../_images/modeling_meshes_editing_mesh_cleanup_split-concave-before.png   Original mesh. | ../../../../_images/modeling_meshes_editing_mesh_cleanup_split-concave-after.png   Result of Split Concave Faces. |


[User] Give a detailed overview of Inherited Properties: syntax, arguments, return values, common patterns.

[Assistant]
|  |  |
| --- | --- |
| - [`bpy_struct.id_data`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_data "bpy.types.bpy_struct.id_data") - [`Node.type`](bpy.types.Node.html#bpy.types.Node.type "bpy.types.Node.type") - [`Node.location`](bpy.types.Node.html#bpy.types.Node.location "bpy.types.Node.location") - [`Node.location_absolute`](bpy.types.Node.html#bpy.types.Node.location_absolute "bpy.types.Node.location_absolute") - [`Node.width`](bpy.types.Node.html#bpy.types.Node.width "bpy.types.Node.width") - [`Node.height`](bpy.types.Node.html#bpy.types.Node.height "bpy.types.Node.height") - [`Node.dimensions`](bpy.types.Node.html#bpy.types.Node.dimensions "bpy.types.Node.dimensions") - [`Node.name`](bpy.types.Node.html#bpy.types.Node.name "bpy.types.Node.name") - [`Node.label`](bpy.types.Node.html#bpy.types.Node.label "bpy.types.Node.label") - [`Node.inputs`](bpy.types.Node.html#bpy.types.Node.inputs "bpy.types.Node.inputs") - [`Node.outputs`](bpy.types.Node.html#bpy.types.Node.outputs "bpy.types.Node.outputs") - [`Node.internal_links`](bpy.types.Node.html#bpy.types.Node.internal_links "bpy.types.Node.internal_links") - [`Node.parent`](bpy.types.Node.html#bpy.types.Node.parent "bpy.types.Node.parent") - [`Node.warning_propagation`](bpy.types.Node.html#bpy.types.Node.warning_propagation "bpy.types.Node.warning_propagation") - [`Node.use_custom_color`](bpy.types.Node.html#bpy.types.Node.use_custom_color "bpy.types.Node.use_custom_color") - [`Node.color`](bpy.types.Node.html#bpy.types.Node.color "bpy.types.Node.color") - [`Node.color_tag`](bpy.types.Node.html#bpy.types.Node.color_tag "bpy.types.Node.color_tag") | - [`Node.select`](bpy.types.Node.html#bpy.types.Node.select "bpy.types.Node.select") - [`Node.show_options`](bpy.types.Node.html#bpy.types.Node.show_options "bpy.types.Node.show_options") - [`Node.show_preview`](bpy.types.Node.html#bpy.types.Node.show_preview "bpy.types.Node.show_preview") - [`Node.hide`](bpy.types.Node.html#bpy.types.Node.hide "bpy.types.Node.hide") - [`Node.mute`](bpy.types.Node.html#bpy.types.Node.mute "bpy.types.Node.mute") - [`Node.show_texture`](bpy.types.Node.html#bpy.types.Node.show_texture "bpy.types.Node.show_texture") - [`Node.bl_idname`](bpy.types.Node.html#bpy.types.Node.bl_idname "bpy.types.Node.bl_idname") - [`Node.bl_label`](bpy.types.Node.html#bpy.types.Node.bl_label "bpy.types.Node.bl_label") - [`Node.bl_description`](bpy.types.Node.html#bpy.types.Node.bl_description "bpy.types.Node.bl_description") - [`Node.bl_icon`](bpy.types.Node.html#bpy.types.Node.bl_icon "bpy.types.Node.bl_icon") - [`Node.bl_static_type`](bpy.types.Node.html#bpy.types.Node.bl_static_type "bpy.types.Node.bl_static_type") - [`Node.bl_width_default`](bpy.types.Node.html#bpy.types.Node.bl_width_default "bpy.types.Node.bl_width_default") - [`Node.bl_width_min`](bpy.types.Node.html#bpy.types.Node.bl_width_min "bpy.types.Node.bl_width_min") - [`Node.bl_width_max`](bpy.types.Node.html#bpy.types.Node.bl_width_max "bpy.types.Node.bl_width_max") - [`Node.bl_height_default`](bpy.types.Node.html#bpy.types.Node.bl_height_default "bpy.types.Node.bl_height_default") - [`Node.bl_height_min`](bpy.types.Node.html#bpy.types.Node.bl_height_min "bpy.types.Node.bl_height_min") - [`Node.bl_height_max`](bpy.types.Node.html#bpy.types.Node.bl_height_max "bpy.types.Node.bl_height_max") |


[User] Explain Tilt in complete detail according to the official Blender documentation.

[Assistant]
This setting controls how the normals (visualized as arrows)
twist around each control point – so it is only relevant with 3D curves!
The tilt will be interpolated from point to point (you can check it with the normals).

[image reference removed]

30 degree Mean Tilt of all control points.


[User] How do I use Inherited Properties in Blender? Include parameters, examples, warnings and best practices.

[Assistant]
|  |  |
| --- | --- |
| - [`bpy_struct.id_data`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_data "bpy.types.bpy_struct.id_data") - [`Node.type`](bpy.types.Node.html#bpy.types.Node.type "bpy.types.Node.type") - [`Node.location`](bpy.types.Node.html#bpy.types.Node.location "bpy.types.Node.location") - [`Node.location_absolute`](bpy.types.Node.html#bpy.types.Node.location_absolute "bpy.types.Node.location_absolute") - [`Node.width`](bpy.types.Node.html#bpy.types.Node.width "bpy.types.Node.width") - [`Node.height`](bpy.types.Node.html#bpy.types.Node.height "bpy.types.Node.height") - [`Node.dimensions`](bpy.types.Node.html#bpy.types.Node.dimensions "bpy.types.Node.dimensions") - [`Node.name`](bpy.types.Node.html#bpy.types.Node.name "bpy.types.Node.name") - [`Node.label`](bpy.types.Node.html#bpy.types.Node.label "bpy.types.Node.label") - [`Node.inputs`](bpy.types.Node.html#bpy.types.Node.inputs "bpy.types.Node.inputs") - [`Node.outputs`](bpy.types.Node.html#bpy.types.Node.outputs "bpy.types.Node.outputs") - [`Node.internal_links`](bpy.types.Node.html#bpy.types.Node.internal_links "bpy.types.Node.internal_links") - [`Node.parent`](bpy.types.Node.html#bpy.types.Node.parent "bpy.types.Node.parent") - [`Node.warning_propagation`](bpy.types.Node.html#bpy.types.Node.warning_propagation "bpy.types.Node.warning_propagation") - [`Node.use_custom_color`](bpy.types.Node.html#bpy.types.Node.use_custom_color "bpy.types.Node.use_custom_color") - [`Node.color`](bpy.types.Node.html#bpy.types.Node.color "bpy.types.Node.color") - [`Node.color_tag`](bpy.types.Node.html#bpy.types.Node.color_tag "bpy.types.Node.color_tag") | - [`Node.select`](bpy.types.Node.html#bpy.types.Node.select "bpy.types.Node.select") - [`Node.show_options`](bpy.types.Node.html#bpy.types.Node.show_options "bpy.types.Node.show_options") - [`Node.show_preview`](bpy.types.Node.html#bpy.types.Node.show_preview "bpy.types.Node.show_preview") - [`Node.hide`](bpy.types.Node.html#bpy.types.Node.hide "bpy.types.Node.hide") - [`Node.mute`](bpy.types.Node.html#bpy.types.Node.mute "bpy.types.Node.mute") - [`Node.show_texture`](bpy.types.Node.html#bpy.types.Node.show_texture "bpy.types.Node.show_texture") - [`Node.bl_idname`](bpy.types.Node.html#bpy.types.Node.bl_idname "bpy.types.Node.bl_idname") - [`Node.bl_label`](bpy.types.Node.html#bpy.types.Node.bl_label "bpy.types.Node.bl_label") - [`Node.bl_description`](bpy.types.Node.html#bpy.types.Node.bl_description "bpy.types.Node.bl_description") - [`Node.bl_icon`](bpy.types.Node.html#bpy.types.Node.bl_icon "bpy.types.Node.bl_icon") - [`Node.bl_static_type`](bpy.types.Node.html#bpy.types.Node.bl_static_type "bpy.types.Node.bl_static_type") - [`Node.bl_width_default`](bpy.types.Node.html#bpy.types.Node.bl_width_default "bpy.types.Node.bl_width_default") - [`Node.bl_width_min`](bpy.types.Node.html#bpy.types.Node.bl_width_min "bpy.types.Node.bl_width_min") - [`Node.bl_width_max`](bpy.types.Node.html#bpy.types.Node.bl_width_max "bpy.types.Node.bl_width_max") - [`Node.bl_height_default`](bpy.types.Node.html#bpy.types.Node.bl_height_default "bpy.types.Node.bl_height_default") - [`Node.bl_height_min`](bpy.types.Node.html#bpy.types.Node.bl_height_min "bpy.types.Node.bl_height_min") - [`Node.bl_height_max`](bpy.types.Node.html#bpy.types.Node.bl_height_max "bpy.types.Node.bl_height_max") |


[User] Explain Transform in complete detail according to the official Blender documentation.

[Assistant]
Strokes can be edited by transforming the locations of points.

### Move, Rotate & Scale

Like other elements in Blender, points and strokes can be
moved `G`, rotated `R` or scaled `S` as described in
the [Basic Transformations](../../../scene_layout/object/editing/transform/introduction.xhtml) section.
When in *Edit Mode*,
[Proportional Editing](../../../editors/3dview/controls/proportional_editing.xhtml)
is also available for the transformation actions.

### Transform Snapping

Basic move, rotate and scale transformations for selected points/strokes.
See [Move, Rotate, Scale Basics](../../../modeling/meshes/editing/mesh/transform/basic.xhtml) for more information.

### Tools

The *Bend*, *Shear*, *To Sphere*, *Extrude* and *Shrink Fatten* transform tools are described
in the [Editing tools](tools/index.xhtml) section.


[User] How do I use Inherited Properties in Blender? Include parameters, examples, warnings and best practices.

[Assistant]
|  |  |
| --- | --- |
| - [`bpy_struct.id_data`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_data "bpy.types.bpy_struct.id_data") - [`Node.type`](bpy.types.Node.html#bpy.types.Node.type "bpy.types.Node.type") - [`Node.location`](bpy.types.Node.html#bpy.types.Node.location "bpy.types.Node.location") - [`Node.location_absolute`](bpy.types.Node.html#bpy.types.Node.location_absolute "bpy.types.Node.location_absolute") - [`Node.width`](bpy.types.Node.html#bpy.types.Node.width "bpy.types.Node.width") - [`Node.height`](bpy.types.Node.html#bpy.types.Node.height "bpy.types.Node.height") - [`Node.dimensions`](bpy.types.Node.html#bpy.types.Node.dimensions "bpy.types.Node.dimensions") - [`Node.name`](bpy.types.Node.html#bpy.types.Node.name "bpy.types.Node.name") - [`Node.label`](bpy.types.Node.html#bpy.types.Node.label "bpy.types.Node.label") - [`Node.inputs`](bpy.types.Node.html#bpy.types.Node.inputs "bpy.types.Node.inputs") - [`Node.outputs`](bpy.types.Node.html#bpy.types.Node.outputs "bpy.types.Node.outputs") - [`Node.internal_links`](bpy.types.Node.html#bpy.types.Node.internal_links "bpy.types.Node.internal_links") - [`Node.parent`](bpy.types.Node.html#bpy.types.Node.parent "bpy.types.Node.parent") - [`Node.warning_propagation`](bpy.types.Node.html#bpy.types.Node.warning_propagation "bpy.types.Node.warning_propagation") - [`Node.use_custom_color`](bpy.types.Node.html#bpy.types.Node.use_custom_color "bpy.types.Node.use_custom_color") - [`Node.color`](bpy.types.Node.html#bpy.types.Node.color "bpy.types.Node.color") - [`Node.color_tag`](bpy.types.Node.html#bpy.types.Node.color_tag "bpy.types.Node.color_tag") | - [`Node.select`](bpy.types.Node.html#bpy.types.Node.select "bpy.types.Node.select") - [`Node.show_options`](bpy.types.Node.html#bpy.types.Node.show_options "bpy.types.Node.show_options") - [`Node.show_preview`](bpy.types.Node.html#bpy.types.Node.show_preview "bpy.types.Node.show_preview") - [`Node.hide`](bpy.types.Node.html#bpy.types.Node.hide "bpy.types.Node.hide") - [`Node.mute`](bpy.types.Node.html#bpy.types.Node.mute "bpy.types.Node.mute") - [`Node.show_texture`](bpy.types.Node.html#bpy.types.Node.show_texture "bpy.types.Node.show_texture") - [`Node.bl_idname`](bpy.types.Node.html#bpy.types.Node.bl_idname "bpy.types.Node.bl_idname") - [`Node.bl_label`](bpy.types.Node.html#bpy.types.Node.bl_label "bpy.types.Node.bl_label") - [`Node.bl_description`](bpy.types.Node.html#bpy.types.Node.bl_description "bpy.types.Node.bl_description") - [`Node.bl_icon`](bpy.types.Node.html#bpy.types.Node.bl_icon "bpy.types.Node.bl_icon") - [`Node.bl_static_type`](bpy.types.Node.html#bpy.types.Node.bl_static_type "bpy.types.Node.bl_static_type") - [`Node.bl_width_default`](bpy.types.Node.html#bpy.types.Node.bl_width_default "bpy.types.Node.bl_width_default") - [`Node.bl_width_min`](bpy.types.Node.html#bpy.types.Node.bl_width_min "bpy.types.Node.bl_width_min") - [`Node.bl_width_max`](bpy.types.Node.html#bpy.types.Node.bl_width_max "bpy.types.Node.bl_width_max") - [`Node.bl_height_default`](bpy.types.Node.html#bpy.types.Node.bl_height_default "bpy.types.Node.bl_height_default") - [`Node.bl_height_min`](bpy.types.Node.html#bpy.types.Node.bl_height_min "bpy.types.Node.bl_height_min") - [`Node.bl_height_max`](bpy.types.Node.html#bpy.types.Node.bl_height_max "bpy.types.Node.bl_height_max") |


[User] How do I use Inherited Functions in Blender? Include parameters, examples, warnings and best practices.

[Assistant]
|  |  |
| --- | --- |
| - [`bpy_struct.as_pointer`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.as_pointer "bpy.types.bpy_struct.as_pointer") - [`bpy_struct.driver_add`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.driver_add "bpy.types.bpy_struct.driver_add") - [`bpy_struct.driver_remove`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.driver_remove "bpy.types.bpy_struct.driver_remove") - [`bpy_struct.get`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.get "bpy.types.bpy_struct.get") - [`bpy_struct.id_properties_clear`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_properties_clear "bpy.types.bpy_struct.id_properties_clear") - [`bpy_struct.id_properties_ensure`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_properties_ensure "bpy.types.bpy_struct.id_properties_ensure") - [`bpy_struct.id_properties_ui`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_properties_ui "bpy.types.bpy_struct.id_properties_ui") - [`bpy_struct.is_property_hidden`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.is_property_hidden "bpy.types.bpy_struct.is_property_hidden") - [`bpy_struct.is_property_overridable_library`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.is_property_overridable_library "bpy.types.bpy_struct.is_property_overridable_library") - [`bpy_struct.is_property_readonly`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.is_property_readonly "bpy.types.bpy_struct.is_property_readonly") - [`bpy_struct.is_property_set`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.is_property_set "bpy.types.bpy_struct.is_property_set") - [`bpy_struct.items`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.items "bpy.types.bpy_struct.items") - [`bpy_struct.keyframe_delete`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.keyframe_delete "bpy.types.bpy_struct.keyframe_delete") - [`bpy_struct.keyframe_insert`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.keyframe_insert "bpy.types.bpy_struct.keyframe_insert") - [`bpy_struct.keys`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.keys "bpy.types.bpy_struct.keys") - [`bpy_struct.path_from_id`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.path_from_id "bpy.types.bpy_struct.path_from_id") - [`bpy_struct.path_from_module`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.path_from_module "bpy.types.bpy_struct.path_from_module") - [`bpy_struct.path_resolve`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.path_resolve "bpy.types.bpy_struct.path_resolve") - [`bpy_struct.pop`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.pop "bpy.types.bpy_struct.pop") - [`bpy_struct.property_overridable_library_set`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.property_overridable_library_set "bpy.types.bpy_struct.property_overridable_library_set") - [`bpy_struct.property_unset`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.property_unset "bpy.types.bpy_struct.property_unset") - [`bpy_struct.rna_ancestors`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.rna_ancestors "bpy.types.bpy_struct.rna_ancestors") - [`bpy_struct.type_recast`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.type_recast "bpy.types.bpy_struct.type_recast") - [`bpy_struct.values`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.values "bpy.types.bpy_struct.values") - [`Node.bl_system_properties_get`](bpy.types.Node.html#bpy.types.Node.bl_system_properties_get "bpy.types.Node.bl_system_properties_get") | - [`Node.socket_value_update`](bpy.types.Node.html#bpy.types.Node.socket_value_update "bpy.types.Node.socket_value_update") - [`Node.is_registered_node_type`](bpy.types.Node.html#bpy.types.Node.is_registered_node_type "bpy.types.Node.is_registered_node_type") - [`Node.poll`](bpy.types.Node.html#bpy.types.Node.poll "bpy.types.Node.poll") - [`Node.poll_instance`](bpy.types.Node.html#bpy.types.Node.poll_instance "bpy.types.Node.poll_instance") - [`Node.update`](bpy.types.Node.html#bpy.types.Node.update "bpy.types.Node.update") - [`Node.insert_link`](bpy.types.Node.html#bpy.types.Node.insert_link "bpy.types.Node.insert_link") - [`Node.init`](bpy.types.Node.html#bpy.types.Node.init "bpy.types.Node.init") - [`Node.copy`](bpy.types.Node.html#bpy.types.Node.copy "bpy.types.Node.copy") - [`Node.free`](bpy.types.Node.html#bpy.types.Node.free "bpy.types.Node.free") - [`Node.draw_buttons`](bpy.types.Node.html#bpy.types.Node.draw_buttons "bpy.types.Node.draw_buttons") - [`Node.draw_buttons_ext`](bpy.types.Node.html#bpy.types.Node.draw_buttons_ext "bpy.types.Node.draw_buttons_ext") - [`Node.draw_label`](bpy.types.Node.html#bpy.types.Node.draw_label "bpy.types.Node.draw_label") - [`Node.debug_zone_body_lazy_function_graph`](bpy.types.Node.html#bpy.types.Node.debug_zone_body_lazy_function_graph "bpy.types.Node.debug_zone_body_lazy_function_graph") - [`Node.debug_zone_lazy_function_graph`](bpy.types.Node.html#bpy.types.Node.debug_zone_lazy_function_graph "bpy.types.Node.debug_zone_lazy_function_graph") - [`Node.poll`](bpy.types.Node.html#bpy.types.Node.poll "bpy.types.Node.poll") - [`Node.bl_rna_get_subclass`](bpy.types.Node.html#bpy.types.Node.bl_rna_get_subclass "bpy.types.Node.bl_rna_get_subclass") - [`Node.bl_rna_get_subclass_py`](bpy.types.Node.html#bpy.types.Node.bl_rna_get_subclass_py "bpy.types.Node.bl_rna_get_subclass_py") - [`NodeInternal.poll`](bpy.types.NodeInternal.html#bpy.types.NodeInternal.poll "bpy.types.NodeInternal.poll") - [`NodeInternal.poll_instance`](bpy.types.NodeInternal.html#bpy.types.NodeInternal.poll_instance "bpy.types.NodeInternal.poll_instance") - [`NodeInternal.update`](bpy.types.NodeInternal.html#bpy.types.NodeInternal.update "bpy.types.NodeInternal.update") - [`NodeInternal.draw_buttons`](bpy.types.NodeInternal.html#bpy.types.NodeInternal.draw_buttons "bpy.types.NodeInternal.draw_buttons") - [`NodeInternal.draw_buttons_ext`](bpy.types.NodeInternal.html#bpy.types.NodeInternal.draw_buttons_ext "bpy.types.NodeInternal.draw_buttons_ext") - [`NodeInternal.bl_rna_get_subclass`](bpy.types.NodeInternal.html#bpy.types.NodeInternal.bl_rna_get_subclass "bpy.types.NodeInternal.bl_rna_get_subclass") - [`NodeInternal.bl_rna_get_subclass_py`](bpy.types.NodeInternal.html#bpy.types.NodeInternal.bl_rna_get_subclass_py "bpy.types.NodeInternal.bl_rna_get_subclass_py") |


[User] Describe Outputs from the Blender manual or Python API, including usage steps and snippets.

[Assistant]
Closures define outputs that return values to the node tree in which they are evaluated.
Outputs can be created by dragging a socket from within the zone into the blank socket on the closure’s output, or by
adding sockets manually in the node’s properties.


[User] Provide the full official documentation entry for Inherited Functions, preserving all code examples.

[Assistant]
|  |  |
| --- | --- |
| - [`bpy_struct.as_pointer`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.as_pointer "bpy.types.bpy_struct.as_pointer") - [`bpy_struct.driver_add`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.driver_add "bpy.types.bpy_struct.driver_add") - [`bpy_struct.driver_remove`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.driver_remove "bpy.types.bpy_struct.driver_remove") - [`bpy_struct.get`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.get "bpy.types.bpy_struct.get") - [`bpy_struct.id_properties_clear`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_properties_clear "bpy.types.bpy_struct.id_properties_clear") - [`bpy_struct.id_properties_ensure`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_properties_ensure "bpy.types.bpy_struct.id_properties_ensure") - [`bpy_struct.id_properties_ui`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_properties_ui "bpy.types.bpy_struct.id_properties_ui") - [`bpy_struct.is_property_hidden`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.is_property_hidden "bpy.types.bpy_struct.is_property_hidden") - [`bpy_struct.is_property_overridable_library`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.is_property_overridable_library "bpy.types.bpy_struct.is_property_overridable_library") - [`bpy_struct.is_property_readonly`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.is_property_readonly "bpy.types.bpy_struct.is_property_readonly") - [`bpy_struct.is_property_set`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.is_property_set "bpy.types.bpy_struct.is_property_set") - [`bpy_struct.items`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.items "bpy.types.bpy_struct.items") - [`bpy_struct.keyframe_delete`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.keyframe_delete "bpy.types.bpy_struct.keyframe_delete") - [`bpy_struct.keyframe_insert`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.keyframe_insert "bpy.types.bpy_struct.keyframe_insert") | - [`bpy_struct.keys`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.keys "bpy.types.bpy_struct.keys") - [`bpy_struct.path_from_id`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.path_from_id "bpy.types.bpy_struct.path_from_id") - [`bpy_struct.path_from_module`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.path_from_module "bpy.types.bpy_struct.path_from_module") - [`bpy_struct.path_resolve`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.path_resolve "bpy.types.bpy_struct.path_resolve") - [`bpy_struct.pop`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.pop "bpy.types.bpy_struct.pop") - [`bpy_struct.property_overridable_library_set`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.property_overridable_library_set "bpy.types.bpy_struct.property_overridable_library_set") - [`bpy_struct.property_unset`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.property_unset "bpy.types.bpy_struct.property_unset") - [`bpy_struct.rna_ancestors`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.rna_ancestors "bpy.types.bpy_struct.rna_ancestors") - [`bpy_struct.type_recast`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.type_recast "bpy.types.bpy_struct.type_recast") - [`bpy_struct.values`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.values "bpy.types.bpy_struct.values") - [`Space.bl_rna_get_subclass`](bpy.types.Space.html#bpy.types.Space.bl_rna_get_subclass "bpy.types.Space.bl_rna_get_subclass") - [`Space.bl_rna_get_subclass_py`](bpy.types.Space.html#bpy.types.Space.bl_rna_get_subclass_py "bpy.types.Space.bl_rna_get_subclass_py") - [`Space.draw_handler_add`](bpy.types.Space.html#bpy.types.Space.draw_handler_add "bpy.types.Space.draw_handler_add") - [`Space.draw_handler_remove`](bpy.types.Space.html#bpy.types.Space.draw_handler_remove "bpy.types.Space.draw_handler_remove") |


[User] Explain Install from Snap in complete detail according to the official Blender documentation.

[Assistant]
[Snap](https://snapcraft.io/) is a universal package manager designed to work across a range of distributions.
Assuming snap is already installed, Blender can be installed through snap with:

```
snap install blender --classic
```

Installing from this method has a benefit that updates to Blender are automatically installed.
Blender from Snap should have a more consistent distribution than individual package managers.


[User] How do I use Separate in Blender? Include parameters, examples, warnings and best practices.

[Assistant]
# Separate

At some point, you will come to a time when you need to cut parts away from a mesh to be separate.

To separate an object, the vertices (or faces) must be selected and then separated,
though there are several different ways to do this.

[image reference removed]

Suzanne dissected neatly.

Selection
:   Separates the selected elements.

By Material
:   Separates fragments based on the materials assigned to the different faces.

By Loose Parts
:   Creates one object for every independent (disconnected) fragment of the original mesh.


[User] What is References and how is it used in Blender Python scripting?

[Assistant]
|  |  |
| --- | --- |
| - [`AssetRepresentation.metadata`](bpy.types.AssetRepresentation.html#bpy.types.AssetRepresentation.metadata "bpy.types.AssetRepresentation.metadata") - [`FileSelectEntry.asset_data`](bpy.types.FileSelectEntry.html#bpy.types.FileSelectEntry.asset_data "bpy.types.FileSelectEntry.asset_data") | - [`ID.asset_data`](bpy.types.ID.html#bpy.types.ID.asset_data "bpy.types.ID.asset_data") |


[User] Explain Inherited Functions in complete detail according to the official Blender documentation.

[Assistant]
|  |  |
| --- | --- |
| - [`bpy_struct.as_pointer`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.as_pointer "bpy.types.bpy_struct.as_pointer") - [`bpy_struct.driver_add`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.driver_add "bpy.types.bpy_struct.driver_add") - [`bpy_struct.driver_remove`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.driver_remove "bpy.types.bpy_struct.driver_remove") - [`bpy_struct.get`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.get "bpy.types.bpy_struct.get") - [`bpy_struct.id_properties_clear`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_properties_clear "bpy.types.bpy_struct.id_properties_clear") - [`bpy_struct.id_properties_ensure`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_properties_ensure "bpy.types.bpy_struct.id_properties_ensure") - [`bpy_struct.id_properties_ui`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_properties_ui "bpy.types.bpy_struct.id_properties_ui") - [`bpy_struct.is_property_hidden`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.is_property_hidden "bpy.types.bpy_struct.is_property_hidden") - [`bpy_struct.is_property_overridable_library`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.is_property_overridable_library "bpy.types.bpy_struct.is_property_overridable_library") - [`bpy_struct.is_property_readonly`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.is_property_readonly "bpy.types.bpy_struct.is_property_readonly") - [`bpy_struct.is_property_set`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.is_property_set "bpy.types.bpy_struct.is_property_set") - [`bpy_struct.items`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.items "bpy.types.bpy_struct.items") - [`bpy_struct.keyframe_delete`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.keyframe_delete "bpy.types.bpy_struct.keyframe_delete") - [`bpy_struct.keyframe_insert`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.keyframe_insert "bpy.types.bpy_struct.keyframe_insert") - [`bpy_struct.keys`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.keys "bpy.types.bpy_struct.keys") - [`bpy_struct.path_from_id`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.path_from_id "bpy.types.bpy_struct.path_from_id") - [`bpy_struct.path_from_module`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.path_from_module "bpy.types.bpy_struct.path_from_module") - [`bpy_struct.path_resolve`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.path_resolve "bpy.types.bpy_struct.path_resolve") | - [`bpy_struct.pop`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.pop "bpy.types.bpy_struct.pop") - [`bpy_struct.property_overridable_library_set`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.property_overridable_library_set "bpy.types.bpy_struct.property_overridable_library_set") - [`bpy_struct.property_unset`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.property_unset "bpy.types.bpy_struct.property_unset") - [`bpy_struct.rna_ancestors`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.rna_ancestors "bpy.types.bpy_struct.rna_ancestors") - [`bpy_struct.type_recast`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.type_recast "bpy.types.bpy_struct.type_recast") - [`bpy_struct.values`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.values "bpy.types.bpy_struct.values") - [`NodeSocket.bl_system_properties_get`](bpy.types.NodeSocket.html#bpy.types.NodeSocket.bl_system_properties_get "bpy.types.NodeSocket.bl_system_properties_get") - [`NodeSocket.draw`](bpy.types.NodeSocket.html#bpy.types.NodeSocket.draw "bpy.types.NodeSocket.draw") - [`NodeSocket.draw_color`](bpy.types.NodeSocket.html#bpy.types.NodeSocket.draw_color "bpy.types.NodeSocket.draw_color") - [`NodeSocket.draw_color_simple`](bpy.types.NodeSocket.html#bpy.types.NodeSocket.draw_color_simple "bpy.types.NodeSocket.draw_color_simple") - [`NodeSocket.bl_rna_get_subclass`](bpy.types.NodeSocket.html#bpy.types.NodeSocket.bl_rna_get_subclass "bpy.types.NodeSocket.bl_rna_get_subclass") - [`NodeSocket.bl_rna_get_subclass_py`](bpy.types.NodeSocket.html#bpy.types.NodeSocket.bl_rna_get_subclass_py "bpy.types.NodeSocket.bl_rna_get_subclass_py") - [`NodeSocketStandard.draw`](bpy.types.NodeSocketStandard.html#bpy.types.NodeSocketStandard.draw "bpy.types.NodeSocketStandard.draw") - [`NodeSocketStandard.draw_color`](bpy.types.NodeSocketStandard.html#bpy.types.NodeSocketStandard.draw_color "bpy.types.NodeSocketStandard.draw_color") - [`NodeSocketStandard.draw_color_simple`](bpy.types.NodeSocketStandard.html#bpy.types.NodeSocketStandard.draw_color_simple "bpy.types.NodeSocketStandard.draw_color_simple") - [`NodeSocketStandard.bl_rna_get_subclass`](bpy.types.NodeSocketStandard.html#bpy.types.NodeSocketStandard.bl_rna_get_subclass "bpy.types.NodeSocketStandard.bl_rna_get_subclass") - [`NodeSocketStandard.bl_rna_get_subclass_py`](bpy.types.NodeSocketStandard.html#bpy.types.NodeSocketStandard.bl_rna_get_subclass_py "bpy.types.NodeSocketStandard.bl_rna_get_subclass_py") |


[User] Give a detailed overview of View2D(bpy_struct): syntax, arguments, return values, common patterns.

[Assistant]
# View2D(bpy_struct)

base class — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct")

*class* bpy.types.View2D(*bpy_struct*)
:   Scroll and zoom for a 2D region

    region_to_view(*x*, *y*)
    :   Transform region coordinates to 2D view

        Parameters:
        :   - **x** (*float in* *[**-inf**,* *inf**]*) – x, Region x coordinate
            - **y** (*float in* *[**-inf**,* *inf**]*) – y, Region y coordinate

        Returns:
        :   Result, View coordinates

        Return type:
        :   float array of 2 items in [-inf, inf]

    view_to_region(*x*, *y*, *\**, *clip=True*)
    :   Transform 2D view coordinates to region

        Parameters:
        :   - **x** (*float in* *[**-inf**,* *inf**]*) – x, 2D View x coordinate
            - **y** (*float in* *[**-inf**,* *inf**]*) – y, 2D View y coordinate
            - **clip** (*boolean**,* *(**optional**)*) – Clip, Clip coordinates to the visible region

        Returns:
        :   Result, Region coordinates

        Return type:
        :   int array of 2 items in [-inf, inf]

    *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


[User] Give a detailed overview of Argument Order: syntax, arguments, return values, common patterns.

[Assistant]
Arguments are executed in the order they are given. eg:

```
blender --background test.blend --render-frame 1 --render-output "/tmp"
```

…will not render to `/tmp` because `--render-frame 1` renders before the output path is set.

```
blender --background --render-output /tmp test.blend --render-frame 1
```

…will not render to `/tmp` because loading the blend-file overwrites the render output that was set.

```
blender --background test.blend --render-output /tmp --render-frame 1
```

…works as expected.


[User] Provide the full official documentation entry for Inherited Properties, preserving all code examples.

[Assistant]
|  |  |
| --- | --- |
| - [`bpy_struct.id_data`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_data "bpy.types.bpy_struct.id_data") - [`Modifier.name`](bpy.types.Modifier.html#bpy.types.Modifier.name "bpy.types.Modifier.name") - [`Modifier.type`](bpy.types.Modifier.html#bpy.types.Modifier.type "bpy.types.Modifier.type") - [`Modifier.show_viewport`](bpy.types.Modifier.html#bpy.types.Modifier.show_viewport "bpy.types.Modifier.show_viewport") - [`Modifier.show_render`](bpy.types.Modifier.html#bpy.types.Modifier.show_render "bpy.types.Modifier.show_render") - [`Modifier.show_in_editmode`](bpy.types.Modifier.html#bpy.types.Modifier.show_in_editmode "bpy.types.Modifier.show_in_editmode") - [`Modifier.show_on_cage`](bpy.types.Modifier.html#bpy.types.Modifier.show_on_cage "bpy.types.Modifier.show_on_cage") | - [`Modifier.show_expanded`](bpy.types.Modifier.html#bpy.types.Modifier.show_expanded "bpy.types.Modifier.show_expanded") - [`Modifier.is_active`](bpy.types.Modifier.html#bpy.types.Modifier.is_active "bpy.types.Modifier.is_active") - [`Modifier.use_pin_to_last`](bpy.types.Modifier.html#bpy.types.Modifier.use_pin_to_last "bpy.types.Modifier.use_pin_to_last") - [`Modifier.is_override_data`](bpy.types.Modifier.html#bpy.types.Modifier.is_override_data "bpy.types.Modifier.is_override_data") - [`Modifier.use_apply_on_spline`](bpy.types.Modifier.html#bpy.types.Modifier.use_apply_on_spline "bpy.types.Modifier.use_apply_on_spline") - [`Modifier.execution_time`](bpy.types.Modifier.html#bpy.types.Modifier.execution_time "bpy.types.Modifier.execution_time") - [`Modifier.persistent_uid`](bpy.types.Modifier.html#bpy.types.Modifier.persistent_uid "bpy.types.Modifier.persistent_uid") |


[User] Explain SpaceDopeSheetEditor(Space) in complete detail according to the official Blender documentation.

[Assistant]
# SpaceDopeSheetEditor(Space)

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

*class* bpy.types.SpaceDopeSheetEditor(*Space*)
:   Dope Sheet space data

    cache_cloth
    :   Show the active object’s cloth point cache

        Type:
        :   boolean, default False

    cache_dynamicpaint
    :   Show the active object’s Dynamic Paint cache

        Type:
        :   boolean, default False

    cache_particles
    :   Show the active object’s particle point cache

        Type:
        :   boolean, default False

    cache_rigidbody
    :   Show the active object’s Rigid Body cache

        Type:
        :   boolean, default False

    cache_simulation_nodes
    :   Show the active object’s simulation nodes cache and bake data

        Type:
        :   boolean, default False

    cache_smoke
    :   Show the active object’s smoke cache

        Type:
        :   boolean, default False

    cache_softbody
    :   Show the active object’s softbody point cache

        Type:
        :   boolean, default False

    dopesheet
    :   Settings for filtering animation data

        Type:
        :   [`DopeSheet`](bpy.types.DopeSheet.html#bpy.types.DopeSheet "bpy.types.DopeSheet"), (readonly)

    mode
    :   Editing context being displayed

        - `DOPESHEET`
          Dope Sheet – Edit all keyframes in scene.
        - `ACTION`
          Action Editor – Edit keyframes in active object’s Object-level action.
        - `SHAPEKEY`
          Shape Key Editor – Edit keyframes in active object’s Shape Keys action.
        - `GPENCIL`
          Grease Pencil – Edit timings for all Grease Pencil sketches in file.
        - `MASK`
          Mask – Edit timings for Mask Editor splines.
        - `CACHEFILE`
          Cache File – Edit timings for Cache File data-blocks.
        - `TIMELINE`
          Timeline – Simple timeline view with playback controls in the header, without channel list, side-panel, or footer.

        Type:
        :   enum in [`'DOPESHEET'`, `'ACTION'`, `'SHAPEKEY'`, `'GPENCIL'`, `'MASK'`, `'CACHEFILE'`, `'TIMELINE'`], default `'ACTION'`

    overlays
    :   Settings for display of overlays

        Type:
        :   [`SpaceDopeSheetOverlay`](bpy.types.SpaceDopeSheetOverlay.html#bpy.types.SpaceDopeSheetOverlay "bpy.types.SpaceDopeSheetOverlay"), (readonly, never None)

    show_cache
    :   Show the status of cached frames in the timeline

        Type:
        :   boolean, default False

    show_extremes
    :   Mark keyframes where the key value flow changes direction, based on comparison with adjacent keys

        Type:
        :   boolean, default False

    show_interpolation
    :   Display keyframe handle types and non-Bézier interpolation modes

        Type:
        :   boolean, default False

    show_markers
    :   If any exists, show markers in a separate row at the bottom of the editor

        Type:
        :   boolean, default False

    show_pose_markers
    :   Show markers belonging to the active action instead of Scene markers (Action and Shape Key Editors only)

        Type:
        :   boolean, default False

    show_region_channels
    :   Type:
        :   boolean, default False

    show_region_footer
    :   Type:
        :   boolean, default False

    show_region_hud
    :   Type:
        :   boolean, default False

    show_region_ui
    :   Type:
        :   boolean, default False

    show_seconds
    :   Show timing as a timecode instead of frames

        Type:
        :   boolean, default False

    show_sliders
    :   Show sliders beside F-Curve channels

        Type:
        :   boolean, default False

    ui_mode
    :   Editing context being displayed

        - `DOPESHEET`
          Dope Sheet – Edit all keyframes in scene.
        - `ACTION`
          Action Editor – Edit keyframes in active object’s Object-level action.
        - `SHAPEKEY`
          Shape Key Editor – Edit keyframes in active object’s Shape Keys action.
        - `GPENCIL`
          Grease Pencil – Edit timings for all Grease Pencil sketches in file.
        - `MASK`
          Mask – Edit timings for Mask Editor splines.
        - `CACHEFILE`
          Cache File – Edit timings for Cache File data-blocks.

        Type:
        :   enum in [`'DOPESHEET'`, `'ACTION'`, `'SHAPEKEY'`, `'GPENCIL'`, `'MASK'`, `'CACHEFILE'`], default `'ACTION'`

    use_auto_merge_keyframes
    :   Automatically merge nearby keyframes

        Type:
        :   boolean, default False

    use_marker_sync
    :   Sync Markers with keyframe edits

        Type:
        :   boolean, default False

    use_realtime_update
    :   When transforming keyframes, changes to the animation data are flushed to other views

        Type:
        :   boolean, default False

    *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

    *classmethod* draw_handler_add(*callback*, *args*, *region_type*, *draw_type*)
    :   Add a new draw handler to this space type.
        It will be called every time the specified region in the space type will be drawn.
        Note: All arguments are positional only for now.

        Parameters:
        :   - **callback** (*Callable**[**...**,* *Any**]*) – A function that will be called when the region is drawn.
              It gets the specified arguments as input, it’s return value is ignored.
            - **args** (*tuple**[**Any**,* *...**]*) – Arguments that will be passed to the callback.
            - **region_type** (*str*) – The region type the callback draws in; usually `WINDOW`. ([`bpy.types.Region.type`](bpy.types.Region.html#bpy.types.Region.type "bpy.types.Region.type"))
            - **draw_type** (*str*) – Usually `POST_PIXEL` for 2D drawing and `POST_VIEW` for 3D drawing. In some cases `PRE_VIEW` can be used. `BACKDROP` can be used for backdrops in the node editor.

        Returns:
        :   Handler that can be removed later on.

        Return type:
        :   object

    *classmethod* draw_handler_remove(*handler*, *region_type*)
    :   Remove a draw handler that was added previously.

        Parameters:
        :   - **handler** (*object*) – The draw handler that should be removed.
            - **region_type** (*str*) – Region type the callback was added to.


[User] Explain bpy_struct in complete detail according to the official Blender documentation.

[Assistant]
ncerPreviewOverlay"), [`SequencerTimelineOverlay`](bpy.types.SequencerTimelineOverlay.html#bpy.types.SequencerTimelineOverlay "bpy.types.SequencerTimelineOverlay"), [`SequencerToolSettings`](bpy.types.SequencerToolSettings.html#bpy.types.SequencerToolSettings "bpy.types.SequencerToolSettings"), [`ShaderFx`](bpy.types.ShaderFx.html#bpy.types.ShaderFx "bpy.types.ShaderFx"), [`ShapeKey`](bpy.types.ShapeKey.html#bpy.types.ShapeKey "bpy.types.ShapeKey"), [`ShapeKeyBezierPoint`](bpy.types.ShapeKeyBezierPoint.html#bpy.types.ShapeKeyBezierPoint "bpy.types.ShapeKeyBezierPoint"), [`ShapeKeyCurvePoint`](bpy.types.ShapeKeyCurvePoint.html#bpy.types.ShapeKeyCurvePoint "bpy.types.ShapeKeyCurvePoint"), [`ShapeKeyPoint`](bpy.types.ShapeKeyPoint.html#bpy.types.ShapeKeyPoint "bpy.types.ShapeKeyPoint"), [`Short2AttributeValue`](bpy.types.Short2AttributeValue.html#bpy.types.Short2AttributeValue "bpy.types.Short2AttributeValue"), [`SimulationStateItem`](bpy.types.SimulationStateItem.html#bpy.types.SimulationStateItem "bpy.types.SimulationStateItem"), [`SoftBodySettings`](bpy.types.SoftBodySettings.html#bpy.types.SoftBodySettings "bpy.types.SoftBodySettings"), [`Space`](bpy.types.Space.html#bpy.types.Space "bpy.types.Space"), [`SpaceClipOverlay`](bpy.types.SpaceClipOverlay.html#bpy.types.SpaceClipOverlay "bpy.types.SpaceClipOverlay"), [`SpaceDopeSheetOverlay`](bpy.types.SpaceDopeSheetOverlay.html#bpy.types.SpaceDopeSheetOverlay "bpy.types.SpaceDopeSheetOverlay"), [`SpaceImageOverlay`](bpy.types.SpaceImageOverlay.html#bpy.types.SpaceImageOverlay "bpy.types.SpaceImageOverlay"), [`SpaceNodeEditorPath`](bpy.types.SpaceNodeEditorPath.html#bpy.types.SpaceNodeEditorPath "bpy.types.SpaceNodeEditorPath"), [`SpaceNodeOverlay`](bpy.types.SpaceNodeOverlay.html#bpy.types.SpaceNodeOverlay "bpy.types.SpaceNodeOverlay"), [`SpaceUVEditor`](bpy.types.SpaceUVEditor.html#bpy.types.SpaceUVEditor "bpy.types.SpaceUVEditor"), [`Spline`](bpy.types.Spline.html#bpy.types.Spline "bpy.types.Spline"), [`SplineBezierPoints`](bpy.types.SplineBezierPoints.html#bpy.types.SplineBezierPoints "bpy.types.SplineBezierPoints"), [`SplinePoint`](bpy.types.SplinePoint.html#bpy.types.SplinePoint "bpy.types.SplinePoint"), [`SplinePoints`](bpy.types.SplinePoints.html#bpy.types.SplinePoints "bpy.types.SplinePoints"), [`SpreadsheetColumn`](bpy.types.SpreadsheetColumn.html#bpy.types.SpreadsheetColumn "bpy.types.SpreadsheetColumn"), [`SpreadsheetColumnID`](bpy.types.SpreadsheetColumnID.html#bpy.types.SpreadsheetColumnID "bpy.types.SpreadsheetColumnID"), [`SpreadsheetRowFilter`](bpy.types.SpreadsheetRowFilter.html#bpy.types.SpreadsheetRowFilter "bpy.types.SpreadsheetRowFilter"), [`SpreadsheetTable`](bpy.types.SpreadsheetTable.html#bpy.types.SpreadsheetTable "bpy.types.SpreadsheetTable"), [`SpreadsheetTableID`](bpy.types.SpreadsheetTableID.html#bpy.types.SpreadsheetTableID "bpy.types.SpreadsheetTableID"), [`SpreadsheetTables`](bpy.types.SpreadsheetTables.html#bpy.types.SpreadsheetTables "bpy.types.SpreadsheetTables"), [`Stereo3dDisplay`](bpy.types.Stereo3dDisplay.html#bpy.types.Stereo3dDisplay "bpy.types.Stereo3dDisplay"), [`Stereo3dFormat`](bpy.types.Stereo3dFormat.html#bpy.types.Stereo3dFormat "bpy.types.Stereo3dFormat"), [`StringAttributeValue`](bpy.types.StringAttributeValue.html#bpy.types.StringAttributeValue "bpy.types.StringAttributeValue"), [`Strip`](bpy.types.Strip.html#bpy.types.Strip "bpy.types.Strip"), [`StripColorBalanceData`](bpy.types.StripColorBalanceData.html#bpy.types.StripColorBalanceData "bpy.types.StripColorBalanceData"), [`StripCrop`](bpy.types.StripCrop.html#bpy.types.StripCrop "bpy.types.StripCrop"), [`StripElement`](bpy.types.StripElement.html#bpy.types.StripElement "bpy.types.StripElement"), [`StripElements`](bpy.types.StripElements.html#bpy.types.StripElements "bpy.types.StripElements"), [`StripModifier`](bpy.types.StripModifier.html#bpy.types.StripModifier "bpy.types.StripModifier"), [`StripModifiers`](bpy.types.StripModifiers.html#bpy.types.StripModifiers "bpy.types.StripModifiers"), [`StripProxy`](bpy.types.StripProxy.html#bpy.types.StripProxy "bpy.types.StripProxy"), [`StripTransform`](bpy.types.StripTransform.html#bpy.types.StripTransform "bpy.types.StripTransform"), [`StripsMeta`](bpy.types.StripsMeta.html#bpy.types.StripsMeta "bpy.types.StripsMeta"), [`StripsTopLevel`](bpy.types.StripsTopLevel.html#bpy.types.StripsTopLevel "bpy.types.StripsTopLevel"), [`Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct"), [`StudioLight`](bpy.types.StudioLight.html#bpy.types.StudioLight "bpy.types.StudioLight"), [`StudioLights`](bpy.types.StudioLights.html#bpy.types.StudioLights "bpy.types.StudioLights"), [`TexMapping`](bpy.types.TexMapping.html#bpy.types.TexMapping "bpy.types.TexMapping"), [`TexPaintSlot`](bpy.types.TexPaintSlot.html#bpy.types.TexPaintSlot "bpy.types.TexPaintSlot"), [`TextBox`](bpy.types.TextBox.html#bpy.types.TextBox "bpy.types.TextBox"), [`TextCharacterFormat`](bpy.types.TextCharacterFormat.html#bpy.types.TextCharacterFormat "bpy.types.TextCharacterFormat"), [`TextLine`](bpy.types.TextLine.html#bpy.types.TextLine "bpy.types.TextLine"), [`TextureSlot`](bpy.types.TextureSlot.html#bpy.types.TextureSlot "bpy.types.TextureSlot"), [`Theme`](bpy.types.Theme.html#bpy.types.Theme "bpy.types.Theme"), [`ThemeBoneColorSet`](bpy.types.ThemeBoneColorSet.html#bpy.types.ThemeBoneColorSet "bpy.types.ThemeBoneColorSet"), [`ThemeClipEditor`](bpy.types.ThemeClipEditor.html#bpy.types.ThemeClipEditor "bpy.types.ThemeClipEditor"), [`ThemeCollectionColor`](bpy.types.ThemeCollectionColor.html#bpy.types.ThemeCollectionColor "bpy.types.ThemeCollectionColor"), [`ThemeCommon`](bpy.types.ThemeCommon.html#bpy.types.ThemeCommon "bpy.types.ThemeCommon"), [`ThemeCommonAnim`](bpy.types.ThemeCommonAnim.html#bpy.types.ThemeCommonAnim "bpy.types.ThemeCommonAnim"), [`ThemeCommonCurves`](bpy.types.ThemeCommonCurves.html#bpy.types.ThemeCommonCurves "bpy.types.ThemeCommonCurves"), [`ThemeConsole`](bpy.types.ThemeConsole.html#bpy.types.ThemeConsole "bpy.types.ThemeConsole"), [`ThemeDopeSheet`](bpy.types.ThemeDopeSheet.html#bpy.types.ThemeDopeSheet "bpy.types.ThemeDopeSheet"), [`ThemeFileBrowser`](bpy.types.ThemeFileBrowser.html#bpy.types.ThemeFileBrowser "bpy.types.ThemeFileBrowser"), [`ThemeFontStyle`](bpy.types.ThemeFontStyle.html#bpy.types.ThemeFontStyle "bpy.types.ThemeFontStyle"), [`ThemeGradientColors`](bpy.types.ThemeGradientColors.html#bpy.types.ThemeGradientColors "bpy.types.ThemeGradientColors"), [`ThemeGraphEditor`](bpy.types.ThemeGraphEditor.html#bpy.types.ThemeGraphEditor "bpy.types.ThemeGraphEditor"), [`ThemeImageEditor`](bpy.types.ThemeImageEditor.html#bpy.types.ThemeImageEditor "bpy.types.ThemeImageEditor"), [`ThemeInfo`](bpy.types.ThemeInfo.html#bpy.types.ThemeInfo "bpy.types.ThemeInfo"), [`ThemeNLAEditor`](bpy.types.ThemeNLAEditor.html#bpy.types.ThemeNLAEditor "bpy.types.ThemeNLAEditor"), [`ThemeNodeEditor`](bpy.types.ThemeNodeEditor.html#bpy.types.ThemeNodeEditor "bpy.types.ThemeNodeEditor"), [`ThemeOutliner`](bpy.types.ThemeOutliner.html#bpy.types.ThemeOutliner "bpy.types.ThemeOutliner"), [`ThemePreferences`](bpy.types.ThemePreferences.html#bpy.types.ThemePreferences "bpy.types.ThemePreferences"), [`ThemeProperties`](bpy.types.ThemeProperties.html#bpy.types.ThemeProperties "bpy.types.ThemeProperties"), [`ThemeRegions`](bpy.types.ThemeRegions.html#bpy.types.ThemeRegions "bpy.types.ThemeRegions"), [`ThemeRegionsAssetShelf`](bpy.types.ThemeRegionsAssetShelf.html#bpy.types.ThemeRegionsAssetShelf "bpy.types.ThemeRegionsAssetShelf"), [`ThemeRegionsChannels`](bpy.types.ThemeRegionsChannels.html#bpy.types.ThemeRegionsChannels "bpy.types.ThemeRegionsChannels"), [`ThemeRegionsScrubbing`](bpy.types.ThemeRegionsScrubbing.html#bpy.types.ThemeRegionsScrubbing "bpy.types.ThemeRegionsScrubbing"), [`ThemeRegionsSidebars`](bpy.types.ThemeRegionsSidebars.html#bpy.types.ThemeRegionsSidebars "bpy.types.ThemeRegionsSidebars"), [`ThemeSequenceEditor`](bpy.types.ThemeSequenceEditor.html#bpy.types.ThemeSequenceEditor "bpy.types.ThemeSequenceEditor"), [`ThemeSpaceGeneric`](bpy.types.ThemeSpaceGeneric.html#bpy.types.ThemeSpaceGeneric "bpy.types.ThemeSpaceGeneric"), [`ThemeSpaceGradient`](bpy.types.ThemeSpaceGradient.html#bpy.types.ThemeSpaceGradient "bpy.types.ThemeSpaceGradient"), [`ThemeSpreadsheet`](bpy.types.ThemeSpreadsheet.html#bpy.types.ThemeSpreadsheet "bpy.types.ThemeSpreadsheet"), [`ThemeStatusBar`](bpy.types.ThemeStatusBar.html#bpy.types.ThemeStatusBar "bpy.types.ThemeStatusBar"), [`ThemeStripColor`](bpy.types.ThemeStripColor.html#bpy.types.ThemeStripColor "bpy.types.ThemeStripColor"), [`ThemeStyle`](bpy.types.ThemeStyle.html#bpy.types.ThemeStyle "bpy.types.ThemeStyle"), [`ThemeTextEditor`](bpy.types.ThemeTextEditor.html#bpy.types.ThemeTextEditor "bpy.types.ThemeTextEditor"), [`ThemeTopBar`](bpy.types.ThemeTopBar.html#bpy.types.ThemeTopBar "bpy.types.ThemeTopBar"), [`ThemeUserInterface`](bpy.types.ThemeUserInterface.html#bpy.types.ThemeUserInterface "bpy.types.ThemeUserInterface"), [`ThemeView3D`](bpy.types.ThemeView3D.html#bpy.types.ThemeView3D "bpy.types.ThemeView3D"), [`ThemeWidgetColors`](bpy.types.ThemeWidgetColors.html#bpy.types.ThemeWidgetColors "bpy.types.ThemeWidgetColors"), [`ThemeWidgetStateColors`](bpy.types.ThemeWidgetStateColors.html#bpy.types.ThemeWidgetStateColors "bpy.types.ThemeWidgetStateColors"), [`TimelineMarker`](bpy.types.TimelineMarker.html#bpy.types.TimelineMarker "bpy.types.TimelineMarker"), [`TimelineMarkers`](bpy.types.TimelineMarkers.html#bpy.types.TimelineMarkers "bpy.types.TimelineMarkers"), [`Timer`](bpy.types.Timer.html#bpy.types.Timer "bpy.types.Timer"), [`ToolSettings`](bpy.types.ToolSettings.html#bpy.types.ToolSettings "bpy.types.ToolSettings"), [`TransformOrientation`](bpy.types.TransformOrientation.html#bpy.types.TransformOrientation "bpy.types.TransformOrientation"), [`TransformOrientationSlot`](bpy.types.TransformOrientationSlot.html#bpy.types.TransformOrientationSlot "bpy.types.TransformOrientationSlot"), [`UDIMTile`](bpy.types.UDIMTile.html#bpy.types.UDIMTile "bpy.types.UDIMTile"), [`UDIMTiles`](bpy.types.UDIMTiles.html#bpy.types.UDIMTiles "bpy.types.UDIMTiles"), [`UILayout`](bpy.types.UILayout.html#bpy.types.UILayout "bpy.types.UILayout"), [`UIList`](bpy.types.UIList.html#bpy.types.UIList "bpy.types.UIList"), [`UIPieMenu`](bpy.types.UIPieMenu.html#bpy.types.UIPieMenu "bpy.types.UIPieMenu"), [`UIPopover`](bpy.types.UIPopover.html#bpy.types.UIPopover "bpy.types.UIPopover"), [`UIPopupMenu`](bpy.types.UIPopupMenu.html#bpy.types.UIPopupMenu "bpy.types.UIPopupMenu"), [`USDHook`](bpy.types.USDHook.html#bpy.types.USDHook "bpy.types.USDHook"), [`UVLoopLayers`](bpy.types.UVLoopLayers.html#bpy.types.UVLoopLayers "bpy.types.UVLoopLayers"), [`UVProjector`](bpy.types.UVProjector.html#bpy.types.UVProjector "bpy.types.UVProjector"), [`UnifiedPaintSettings`](bpy.types.UnifiedPaintSettings.html#bpy.types.UnifiedPaintSettings "bpy.types.UnifiedPaintSettings"), [`UnitSettings`](bpy.types.UnitSettings.html#bpy.types.UnitSettings "bpy.types.UnitSettings"), [`UnknownType`](bpy.types.UnknownType.html#bpy.types.UnknownType "bpy.types.UnknownType"), [`UserAssetLibrary`](bpy.types.UserAssetLibrary.html#bpy.types.UserAssetLibrary "bpy.types.UserAssetLibrary"), [`UserExtensionRepo`](bpy.types.UserExtensionRepo.html#bpy.types.UserExtensionRepo "bpy.types.UserExtensionRepo"), [`UserExtensionRepoCollection`](bpy.types.UserExtensionRepoCollection.html#bpy.types.UserExtensionRepoCollection "bpy.types.UserExtensionRepoCollection"), [`UserSolidLight`](bpy.types.UserSolidLight.html#bpy.types.UserSolidLight "bpy.types.UserSolidLight"), [`UvSculpt`](bpy.types.UvSculpt.html#bpy.types.UvSculpt "bpy.types.UvSculpt"), [`VertexGroup`](bpy.types.VertexGroup.html#bpy.types.VertexGroup "bpy.types.VertexGroup"), [`VertexGroupElement`](bpy.types.VertexGroupElement.html#bpy.types.VertexGroupElement "bpy.types.VertexGroupElement"), [`VertexGroups`](bpy.types.VertexGroups.html#bpy.types.VertexGroups "bpy.types.VertexGroups"), [`View2D`](bpy.types.View2D.html#bpy.types.View2D "bpy.types.View2D"), [`View3DCursor`](bpy.types.View3DCursor.html#bpy.types.View3DCursor "bpy.types.View3DCursor"), [`View3DOverlay`](bpy.types.View3DOverlay.html#bpy.types.View3DOverlay "bpy.types.View3DOverlay"), [`View3DShading`](bpy.types.View3DShading.html#bpy.types.View3DShading "bpy.types.View3DShading"), [`ViewLayer`](bpy.types.ViewLayer.html#bpy.types.ViewLayer "bpy.types.ViewLayer"), [`ViewLayerEEVEE`](bpy.types.ViewLayerEEVEE.html#bpy.types.ViewLayerEEVEE "bpy.types.ViewLayerEEVEE"), [`ViewLayers`](bpy.types.ViewLayers.html#bpy.types.ViewLayers "bpy.types.ViewLayers"), [`ViewerPath`](bpy.types.ViewerPath.html#bpy.types.ViewerPath "bpy.types.ViewerPath"), [`ViewerPathElem`](bpy.types.ViewerPathElem.html#bpy.types.ViewerPathElem "bpy.types.ViewerPathElem"), [`VolumeDisplay`](bpy.types.VolumeDisplay.html#bpy.types.VolumeDisplay "bpy.types.VolumeDisplay"), [`VolumeGrid`](bpy.types.VolumeGrid.html#bpy.types.VolumeGrid "bpy.types.VolumeGrid"), [`VolumeGrids`](bpy.types.VolumeGrids.html#bpy.types.VolumeGrids "bpy.types.VolumeGrids"), [`VolumeRender`](bpy.types.VolumeRender.html#bpy.types.VolumeRender "bpy.types.VolumeRender"), [`WalkNavigation`](bpy.types.WalkNavigation.html#bpy.types.WalkNavigation "bpy.types.WalkNavigation"), [`Window`](bpy.types.Window.html#bpy.types.Window "bpy.types.Window"), [`WorkSpaceTool`](bpy.types.WorkSpaceTool.html#bpy.types.WorkSpaceTool "bpy.types.WorkSpaceTool"), [`WorldLighting`](bpy.types.WorldLighting.html#bpy.types.WorldLighting "bpy.types.WorldLighting"), [`WorldMistSettings`](bpy.types.WorldMistSettings.html#bpy.types.WorldMistSettings "bpy.types.WorldMistSettings"), [`XrActionMap`](bpy.types.XrActionMap.html#bpy.types.XrActionMap "bpy.types.XrActionMap"), [`XrActionMapBinding`](bpy.types.XrActionMapBinding.html#bpy.types.XrActionMapBinding "bpy.types.XrActionMapBinding"), [`XrActionMapBindings`](bpy.types.XrActionMapBindings.html#bpy.types.XrActionMapBindings "bpy.types.XrActionMapBindings"), [`XrActionMapItem`](bpy.types.XrActionMapItem.html#bpy.types.XrActionMapItem "bpy.types.XrActionMapItem"), [`XrActionMapItems`](bpy.types.XrActionMapItems.html#bpy.types.XrActionMapItems "bpy.types.XrActionMapItems"), [`XrActionMaps`](bpy.types.XrActionMaps.html#bpy.types.XrActionMaps "bpy.types.XrActionMaps"), [`XrComponentPath`](bpy.types.XrComponentPath.html#bpy.types.XrComponentPath "bpy.types.XrComponentPath"), [`XrComponentPaths`](bpy.types.XrComponentPaths.html#bpy.types.XrComponentPaths "bpy.types.XrComponentPaths"), [`XrEventData`](bpy.types.XrEventData.html#bpy.types.XrEventData "bpy.types.XrEventData"), [`XrNavigation`](bpy.types.XrNavigation.html#bpy.types.XrNavigation "bpy.types.XrNavigation"), [`XrSessionSettings`](bpy.types.XrSessionSettings.html#bpy.types.XrSessionSettings "bpy.types.XrSessionSettings"), [`XrSessionState`](bpy.types.XrSessionState.html#bpy.types.XrSessionState "bpy.types.XrSessionState"), [`XrUserPath`](bpy.types.XrUserPath.html#bpy.types.XrUserPath "bpy.types.XrUserPath"), [`XrUserPaths`](bpy.types.XrUserPaths.html#bpy.types.XrUserPaths "bpy.types.XrUserPaths"), [`wmOwnerID`](bpy.types.wmOwnerID.html#bpy.types.wmOwnerID "bpy.types.wmOwnerID"), [`wmOwnerIDs`](bpy.types.wmOwnerIDs.html#bpy.types.wmOwnerIDs "bpy.types.wmOwnerIDs"), [`wmTools`](bpy.types.wmTools.html#bpy.types.wmTools "bpy.types.wmTools")

*class* bpy.types.bpy_struct
:   built-in base class for all classes in bpy.types.

    as_pointer()
    :   Returns the memory address which holds a pointer to Blender’s internal data

        Returns:
        :   int (memory address).

        Return type:
        :   int

    driver_add(*path*, *index=-1*, */*)
    :   Adds driver(s) to the given property

        Parameters:
        :   - **path** (*str*) – path to the property to drive, analogous to the fcurve’s data path.
            - **index** (*int*) – array index of the property drive. Defaults to -1 for all indices or a single channel if the property is not an array.

        Returns:
        :   The driver added or a list of drivers when index is -1.

        Return type:
        :   [`bpy.types.FCurve`](bpy.types.FCurve.html#bpy.types.FCurve "bpy.types.FCurve") | list[[`bpy.types.FCurve`](bpy.types.FCurve.html#bpy.types.FCurve "bpy.types.FCurve")]

    driver_remove(*path*, *index=-1*, */*)
    :   Remove driver(s) from the given property

        Parameters:
        :   - **path** (*str*) – path to the property to drive, analogous to the fcurve’s data path.
            - **index** (*int*) – array index of the property drive. Defaults to -1 for all indices or a single channel if the property is not an array.

        Returns:
        :   Success of driver removal.

        Return type:
        :   bool

    get(*key*, *default=None*, */*)
    :   Returns the value of the custom property assigned to key or default
        when not found (matches Python’s dictionary function of the same name).

        Parameters:
        :   - **key** (*str*) – The key associated with the custom property.
            - **default** (*Any*) – Optional argument for the value to return if
              *key* is not found.

        Returns:
        :   Custom property value or default.

        Return type:
        :   Any

    id_properties_clear()
    :   Returns:
        :   Remove the parent group for an RNA struct’s custom IDProperties.

    id_properties_ensure()
    :   Returns:
        :   the parent group for an RNA struct’s custom IDProperties.

        Return type:
        :   `idprop.types.IDPropertyGroup`

    id_properties_ui(*key*, */*)
    :   Returns:
        :   Return an object used to manage an IDProperty’s UI data.

        Parameters:
        :   **key** (*str.*) – String name of the property.

        Return type:
        :   `bpy.types.IDPropertyUIManager`

    is_property_hidden(*property*, */*)
    :   Check if a property is hidden.

        Parameters:
        :   **property** (*str*) – Property name.

        Returns:


[User] Explain Inputs in complete detail according to the official Blender documentation.

[Assistant]
Height
:   Distance to displace the surface along the normal.
    This is where a texture node can be connected.

Midlevel
:   Neutral displacement value that causes no displacement.
    With the default 0.5, any lower values will cause the surfaces to be pushed inwards,
    and any higher values will push them outwards.

Scale
:   Increase or decrease the amount of displacement.

Normal
:   Standard normal input.


[User] Explain TextureNodeImage(TextureNode) in complete detail according to the official Blender documentation.

[Assistant]
# TextureNodeImage(TextureNode)

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"), [`TextureNode`](bpy.types.TextureNode.html#bpy.types.TextureNode "bpy.types.TextureNode")

*class* bpy.types.TextureNodeImage(*TextureNode*)
:   image
    :   Type:
        :   [`Image`](bpy.types.Image.html#bpy.types.Image "bpy.types.Image")

    image_user
    :   Parameters defining the image duration, offset and related settings

        Type:
        :   [`ImageUser`](bpy.types.ImageUser.html#bpy.types.ImageUser "bpy.types.ImageUser"), (readonly)

    *classmethod* is_registered_node_type()
    :   True if a registered node type

        Returns:
        :   Result

        Return type:
        :   boolean

    *classmethod* input_template(*index*)
    :   Input socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

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

    *classmethod* output_template(*index*)
    :   Output socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

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

    *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


[User] Explain References in complete detail according to the official Blender documentation.

[Assistant]
|  |  |
| --- | --- |
| - [`bpy.context.selected_editable_keyframes`](bpy.context.html#bpy.context.selected_editable_keyframes "bpy.context.selected_editable_keyframes") - [`FCurve.keyframe_points`](bpy.types.FCurve.html#bpy.types.FCurve.keyframe_points "bpy.types.FCurve.keyframe_points") | - [`FCurveKeyframePoints.insert`](bpy.types.FCurveKeyframePoints.html#bpy.types.FCurveKeyframePoints.insert "bpy.types.FCurveKeyframePoints.insert") - [`FCurveKeyframePoints.remove`](bpy.types.FCurveKeyframePoints.html#bpy.types.FCurveKeyframePoints.remove "bpy.types.FCurveKeyframePoints.remove") |


[User] Provide the full official documentation entry for Nodes, preserving all code examples.

[Assistant]
### UV Along Stroke Node

[image reference removed]

UV Along Stroke Node.

The *UV Along Stroke* input node is maps textures along the stroke length,
making it possible to mimic pencil, paintbrush, and other art medium marks.

#### Inputs

This node has no inputs.

#### Properties

Use Tips
:   Allows to use lower quarters of a texture image for the head and tail tips of a stroke,
    while the upper half for the stroke body.

#### Outputs

UV
:   UV maps defined along strokes.

### Line Style Output Node

[image reference removed]

Line Style Output Node.

The *Line Style Output* node specifies how to mix the texture information
into the base color of line styles.

#### Inputs

Color
:   Color input for the texture.

Color Factor
:   Standard mix factor of the *Color* value.

Alpha
:   Alpha input for the texture.

Alpha Factor
:   Standard mix factor of the *Alpha* value.

#### Properties

Mix
:   The Blend mode can be selected in the select menu.
    See [Color Blend Modes](../../../../glossary/index.xhtml#term-Color-Blend-Modes) for details on each blending mode.

Clamp
:   Limit the highest color value to not exceed 1.0.

#### Outputs

This node has no outputs.


[User] Describe Options from the Blender manual or Python API, including usage steps and snippets.

[Assistant]
Source
:   Mesh object to copy data from.

    Object Transform
    :   Whether take into account the world space transformations of the source and destination objects.
        When unchecked, the modifier acts like both objects are in the same position and have
        the default rotation and scale.

Mix Mode
:   How to combine the new data from the source mesh with the original data in the destination mesh.

    Replace
    :   Interpolate between the original and new value using *Mix Factor*.

    Above Threshold
    :   Replace the destination value if it’s greater than or equal to *Mix Factor*.
        In the case of multi-component data like colors, the threshold is compared to the average of
        these components.

        For boolean data like *Freestyle Mark*, you can use this to perform a logical AND:
        simply ensure the *Mix Factor* is 0.5 or greater, and the destination mesh will only have
        marked edges/faces that were already marked and are also marked in the source mesh.

    Below Threshold
    :   Replace the destination value if it’s less than or equal to *Mix Factor*.
        In the case of multi-component data like colors, the threshold is compared to the average of
        these components.

        For boolean data like *Freestyle Mark*, you can use this to perform a logical OR:
        simply ensure the *Mix Factor* is 0.5 or greater, and the destination mesh will have
        marked edges/faces that were already marked or are marked in the source mesh.

    Mix
    :   Mix the source value with the destination value, e.g. performing an alpha blend in the case
        of color attributes. Then, interpolate using *Mix Factor*.

    Add
    :   Add the source value to the destination value, then interpolate using *Mix Factor*.

    Subtract
    :   Subtract the source value from the destination value, then interpolate using *Mix Factor*.

    Multiply
    :   Multiply the source value by the destination value, then interpolate using *Mix Factor*.

Mix Factor
:   Interpolation factor between the original destination value and the newly calculated value.
    If *Mix Mode* is *Above Threshold* or *Below Threshold*, this is a threshold value instead.

Vertex Group
:   Allows per-element control of the *Mix Factor*.

    Invert
    :   Invert the weights of the vertex group (change them to 1 - weight).

Generate Data Layers
:   Click to add any missing data layers, e.g. vertex groups that exist on the source mesh but not
    yet on the modified mesh. The modifier doesn’t do this automatically, so make sure to click
    this button (or add the missing layers yourself) as the transfer may not work otherwise.

    Layers added this way will stay behind when removing the modifier.

Data Types
:   The toggle buttons *Custom Normals*, *Colors*, *UVs* etc. indicate which data
    should be transferred.

Mapping
:   How to find the matching source element(s) for each destination element.
    The various options are explained in the [Mapping](#mapping) section below.

Layer Selection
:   Which source layers to copy to the destination mesh (e.g. all vertex groups
    or a specific vertex group).

Layer Mapping
:   How to find the destination layer for a given source layer: by name or by order.

Islands Precision
:   Controls the calculation that prevents a destination face from receiving UV coordinates from
    disparate source UV islands (areas bordered by [seams](../../meshes/uv/unwrapping/seams.xhtml)).
    Keeping this at 0.0 means no island handling at all, while higher numbers increase the correctness
    of the result at the cost of extra computation.

    Typically, small values like 0.02 are enough to get good results, but if you are mapping from
    a very high-poly source towards a very low-poly destination, you may have to raise it quite significantly.


[User] Give a detailed overview of Inherited Functions: syntax, arguments, return values, common patterns.

[Assistant]
|  |  |
| --- | --- |
| - [`bpy_struct.as_pointer`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.as_pointer "bpy.types.bpy_struct.as_pointer") - [`bpy_struct.driver_add`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.driver_add "bpy.types.bpy_struct.driver_add") - [`bpy_struct.driver_remove`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.driver_remove "bpy.types.bpy_struct.driver_remove") - [`bpy_struct.get`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.get "bpy.types.bpy_struct.get") - [`bpy_struct.id_properties_clear`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_properties_clear "bpy.types.bpy_struct.id_properties_clear") - [`bpy_struct.id_properties_ensure`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_properties_ensure "bpy.types.bpy_struct.id_properties_ensure") - [`bpy_struct.id_properties_ui`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_properties_ui "bpy.types.bpy_struct.id_properties_ui") - [`bpy_struct.is_property_hidden`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.is_property_hidden "bpy.types.bpy_struct.is_property_hidden") - [`bpy_struct.is_property_overridable_library`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.is_property_overridable_library "bpy.types.bpy_struct.is_property_overridable_library") - [`bpy_struct.is_property_readonly`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.is_property_readonly "bpy.types.bpy_struct.is_property_readonly") - [`bpy_struct.is_property_set`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.is_property_set "bpy.types.bpy_struct.is_property_set") - [`bpy_struct.items`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.items "bpy.types.bpy_struct.items") - [`bpy_struct.keyframe_delete`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.keyframe_delete "bpy.types.bpy_struct.keyframe_delete") | - [`bpy_struct.keyframe_insert`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.keyframe_insert "bpy.types.bpy_struct.keyframe_insert") - [`bpy_struct.keys`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.keys "bpy.types.bpy_struct.keys") - [`bpy_struct.path_from_id`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.path_from_id "bpy.types.bpy_struct.path_from_id") - [`bpy_struct.path_from_module`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.path_from_module "bpy.types.bpy_struct.path_from_module") - [`bpy_struct.path_resolve`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.path_resolve "bpy.types.bpy_struct.path_resolve") - [`bpy_struct.pop`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.pop "bpy.types.bpy_struct.pop") - [`bpy_struct.property_overridable_library_set`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.property_overridable_library_set "bpy.types.bpy_struct.property_overridable_library_set") - [`bpy_struct.property_unset`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.property_unset "bpy.types.bpy_struct.property_unset") - [`bpy_struct.rna_ancestors`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.rna_ancestors "bpy.types.bpy_struct.rna_ancestors") - [`bpy_struct.type_recast`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.type_recast "bpy.types.bpy_struct.type_recast") - [`bpy_struct.values`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.values "bpy.types.bpy_struct.values") - [`Attribute.bl_rna_get_subclass`](bpy.types.Attribute.html#bpy.types.Attribute.bl_rna_get_subclass "bpy.types.Attribute.bl_rna_get_subclass") - [`Attribute.bl_rna_get_subclass_py`](bpy.types.Attribute.html#bpy.types.Attribute.bl_rna_get_subclass_py "bpy.types.Attribute.bl_rna_get_subclass_py") |


[User] How do I use Light Settings (Cycles) in Blender? Include parameters, examples, warnings and best practices.

[Assistant]
# Light Settings (Cycles)

Next to lighting from the background and any object with an emission shader,
lights are another way to add light into the scene.
The difference is that they are not directly visible in the rendered image,
and can be more easily managed as objects of their own type.


[User] Explain Recovering Data in complete detail according to the official Blender documentation.

[Assistant]
# Recovering Data

Computer crashes, power outages, or simply forgetting to save can result in the loss or corruption of your work. You
can use Blender’s *Auto Save* feature to reduce the chance of losing files when such events occur.

There are three options to help prevent accidental data loss:

- *Save Prompt* prompts you to save unsaved changes on exit
- *Save Versions* saves additional copies of your blend file with a number appended to the extension
- *Auto Save* saves your file automatically every few minutes (by default, every 2 minutes)